문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

RDP | |
이름 | RDP |
전체 명칭 | 원격 데스크톱 프로토콜 (Remote Desktop Protocol) |
개발사 | |
주요 용도 | |
기본 포트 | 3389 |
주요 플랫폼 | 마이크로소프트 윈도우, macOS, 리눅스, 안드로이드, iOS |
기술 상세 정보 | |
초기 출시 | 1998년 (윈도우 NT 4.0 Terminal Server Edition) |
암호화 방식 | |
관련 소프트웨어 | 원격 데스크톱 연결 (mstsc), 원격 데스크톱 서비스 |
대체 프로토콜 | VNC, TeamViewer, AnyDesk, SSH의 X11 포워딩 |
주요 버전 | RDP 4.0, 5.0, 5.1, 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, 8.1, 10.0 |
지원 기능 | |
보안 취약점 | 블루킵 (BlueKeep, CVE-2019-0708) 등 |
라이선스 | 마이크로소프트 사유 프로토콜 (클라이언트는 일부 오픈 소스 구현체 존재) |
네트워크 프로토콜 | TCP 기반 |

RDP는 마이크로소프트가 개발한 독점 통신 프로토콜로, 네트워크를 통해 한 컴퓨터에서 다른 컴퓨터의 그래픽 사용자 인터페이스에 접속할 수 있게 해준다. 주로 마이크로소프트 윈도우 운영 체제에 내장되어 있으며, 사용자가 원격지의 윈도우 데스크톱과 애플리케이션을 마치 로컬 컴퓨터처럼 조작할 수 있는 환경을 제공한다. 이 기술은 IT 관리, 원격 근무, 기술 지원 등 다양한 분야에서 광범위하게 활용된다.
RDP의 기본 동작 방식은 클라이언트-서버 모델을 따른다. 원격 접속을 제공하는 컴퓨터(호스트)는 RDP 서버 소프트웨어를 실행하고, 접속을 요청하는 컴퓨터(클라이언트)는 RDP 클라이언트 소프트웨어를 사용한다. 클라이언트는 서버에 접속하여 키보드와 마우스 입력을 전송하고, 서버는 화면 갱신 정보를 클라이언트에 다시 전송한다. 이 과정에서 실제 애플리케이션은 모두 서버 측에서 실행된다.
초기에는 윈도우 NT 4.0의 터미널 서버 에디션에 도입되었으나, 이후 윈도우 XP 프로페셔널부터는 기본 기능으로 포함되었다. 시간이 지남에 따라 멀티미디어 재지원, USB 장치 리디렉션, 다중 모니터 지원 등 다양한 고급 기능이 추가되며 발전해왔다. 표준 TCP/IP 네트워크를 사용하며, 기본 포트는 3389번이다.
RDP는 VNC나 SSH의 X11 포워딩과 같은 다른 원격 데스크톱 기술과 비교될 수 있다. 그러나 RDP는 일반적으로 더 높은 성능과 통합된 윈도우 인증, 그리고 로컬 프린터나 클립보드 공유와 같은 풍부한 기능을 제공하는 것으로 평가받는다.

RDP는 OSI 모델의 프레젠테이션 계층에서 동작하는 프로토콜이다. 기본적으로 TCP 포트 3389를 사용하며, 서버와 클라이언트 간에 화면 정보, 입력 장치 정보, 프린터 및 클립보드 같은 가상 채널 데이터를 교환하는 방식으로 작동한다. 서버는 그래픽 출력을 프레임 버퍼에 기록하고, 이를 RDP 프로토콜이 캡처하여 패킷으로 변환해 네트워크를 통해 전송한다. 클라이언트는 이 패킷을 받아 해석하여 로컬 화면에 표시한다. 반대로 클라이언트의 키보드와 마우스 입력은 서버로 전송되어 마치 로컬에서 입력된 것처럼 처리된다.
프로토콜 구조는 다중 채널 아키텍처를 기반으로 한다. 핵심 연결은 하나의 TCP 세션으로 관리되지만, 그 내부에는 여러 개의 가상 채널이 동시에 구성되어 서로 다른 유형의 데이터를 독립적으로 전송한다. 주요 채널로는 사용자 입력을 전송하는 채널, 화면 업데이트를 전송하는 채널, 그리고 클립보드, 프린터, 포트, 드라이브 같은 로컬 리소스를 공유하기 위한 채널 등이 있다. 이 구조 덕분에 다양한 기능이 효율적으로 통합될 수 있다.
데이터 전송 효율성을 높이기 위해 다양한 압축 및 최적화 기술을 사용한다. 화면 업데이트는 전체 화면을 매번 전송하지 않고, 변경된 영역만 감지하여 전송하는 방식이 일반적이다. 또한 전송되는 그래픽 데이터는 RLE, 비트맵 캐싱, 폰트 캐싱 등의 기술을 통해 압축된다. 보안 측면에서는 연결 설정 단계에서 TLS/SSL 또는 CredSSP 같은 프로토콜을 사용하여 협상하며, 이후의 모든 데이터 통신은 협상된 암호화 방식(예: RC4, AES)으로 암호화되어 전송된다[1].
RDP 프로토콜은 다중 채널 기능을 지원하는 T.120 프로토콜 제품군을 기반으로 설계되었다. 이는 단일 TCP 연결 내에서 여러 가상 채널을 생성하여 키보드, 마우스, 디스플레이, 프린터, 포트 등 다양한 유형의 데이터를 독립적으로 전송할 수 있게 한다.
프로토콜의 기본 통신 흐름은 연결 초기화, 암호화 협상, 기능 협상, 연결 설정, 데이터 교환, 연결 종료 단계로 이루어진다. 초기 연결 단계에서 클라이언트와 서버는 지원하는 RDP 버전, 암호화 수준, 그래픽 및 입력 장치 기능 등을 교환하고 협상한다. 이후 실제 데이터 전송은 프레임 버퍼 업데이트, 입력 이벤트 전송, 가상 채널 데이터 전송 등의 패킷을 통해 이루어진다.
프로토콜의 핵심 데이터 구조는 다음과 같은 유형의 PDU로 구성된다.
PDU 유형 | 주요 목적 |
|---|---|
연결 요청/응답 PDU | 초기 연결 설정 및 기능 협상 |
데이터 PDU | 실제 업데이트 데이터(그래픽, 소리 등) 전송 |
제어 PDU | 흐름 제어, 오류 통지, 연결 상태 관리 |
가상 채널 PDU | 가상 채널을 통한 애플리케이션별 데이터 전송 |
이러한 구조는 네트워크 대역폭을 효율적으로 사용하면서도 다양한 하드웨어 및 애플리케이션 리소스에 대한 원격 접근을 가능하게 한다.
RDP는 다중 채널 아키텍처를 기반으로 하여, 단일 TCP 연결 내에서 다양한 유형의 데이터를 독립적으로 전송하는 가상 채널을 구성합니다. 각 가상 채널은 특정 기능(예: 그래픽 출력, 키보드/마우스 입력, 프린터 리디렉션, 클립보드 공유 등)을 담당하는 논리적 통신 경로입니다. 이 구조는 서로 다른 데이터 스트림이 서로 간섭하지 않도록 보장하며, 네트워크 대역폭을 효율적으로 관리하고 연결의 안정성을 높입니다.
초기 연결 협상 단계에서 클라이언트와 서버는 사용할 채널의 수와 종류를 동적으로 설정합니다. 핵심 채널에는 그래픽 렌더링을 위한 MCS 연결과 GDI 프리미티브 전송을 담당하는 채널, 사용자 입력을 전달하는 채널이 항상 포함됩니다. 그 외에도 필요에 따라 드라이브 리디렉션, 포트 리디렉션, 원격 애플리케이션 오디오 출력 등의 채널이 추가로 생성됩니다.
다음은 주요 가상 채널의 예시입니다.
채널 유형 | 주요 기능 | 사용 프로토콜/포맷 |
|---|---|---|
그래픽 데이터 | 화면 갱신, 그리기 명령 전송 | |
입력 데이터 | 키보드, 마우스, 터치 입력 전달 | 스캔 코드, 포인터 좌표 |
클립보드 | 호스트와 원격 시스템 간 텍스트/파일 복사 | |
디스크 리디렉션 | 로컬 드라이브를 원격 세션에서 네트워크 드라이브로 공유 | |
프린터 리디렉션 | 로컬 프린터를 원격 세션에서 사용 가능하게 함 | 프린터 드라이버 및 데이터 리디렉션 |
스마트 카드 | 스마트 카드 인증 정보 전달 | PC/SC 프로토콜 리디렉션 |
이러한 채널 구성은 모듈식 설계를 가능하게 하여, 새로운 기능이 필요할 때마다 전체 프로토콜을 변경하지 않고도 새로운 가상 채널을 추가할 수 있게 합니다. 예를 들어, RDP 8.0에서 도입된 USB 리디렉션 기능은 별도의 가상 채널을 통해 구현되었습니다. 각 채널의 데이터는 최종적으로 하나의 RDP 프레임으로 캡슐화되어 암호화된 후 네트워크를 통해 전송됩니다.
RDP는 네트워크 대역폭을 효율적으로 사용하고 통신의 기밀성을 보장하기 위해 데이터 압축과 암호화 기술을 적용합니다. 이는 제한된 대역폭 환경에서도 원활한 원격 세션을 제공하는 데 핵심적인 역할을 합니다.
데이터 압축은 주로 그래픽 명령어와 화면 업데이트 데이터를 대상으로 수행됩니다. RDP는 비트맵 캐싱과 Run-Length Encoding 같은 무손실 압축 알고리즘을 사용하여 반복되는 픽셀 데이터를 효율적으로 인코딩합니다. 특히 버전이 올라갈수록 H.264와 같은 고급 영상 코덱을 지원하여 동영상 재생이나 3D 그래픽이 포함된 화면을 전송할 때의 성능을 크게 향상시켰습니다. 이 압축 과정은 서버 측에서 처리되며, 결과적으로 네트워크를 통해 전송되는 데이터의 양을 줄여 지연 시간을 최소화합니다.
암호화는 TLS를 기반으로 한 강력한 보안 채널을 구축하여 모든 통신을 보호합니다. 초기 버전에서는 RC4 스트림 암호를 사용했지만, 현대 버전에서는 AES와 같은 더 강력한 블록 암호를 표준으로 채택합니다. 암호화는 다층적으로 적용되는데, 네트워크 연결 자체를 암호화하는 외에도, 클립보드 전송이나 파일 리디렉션과 같은 특정 가상 채널에 대한 암호화를 별도로 설정할 수 있습니다. 인증 과정에서는 X.509 인증서를 사용한 서버 신원 확인과 함께, NTLM 또는 Kerberos 프로토콜을 통한 사용자 인증이 결합됩니다.
암호화 수준 | 설명 | 사용되는 주요 알고리즘 예시 |
|---|---|---|
낮음 | 이전 버전과의 호환성을 위해 제공되며, 보안상 권장되지 않음 | 40비트 또는 56비트 RC4 |
클라이언트 수준 | 서버는 암호화하지만 클라이언트는 암호화하지 않음 (거의 사용되지 않음) | 128비트 RC4 |
높음 | 양방향 통신을 모두 암호화하는 표준 보안 수준 | |
FIPS 준수 | 미국 연방 정보 처리 표준을 만족하는 최고 수준의 암호화 | FIPS 140-2 검증된 AES 등 |
이러한 압축과 암호화 메커니즘은 RDP 프로토콜의 성능과 보안을 동시에 정의하는 중요한 요소입니다. 관리자는 연결 설정에서 암호화 수준을 명시적으로 지정하여 보안 요구사항과 성능 간의 균형을 맞출 수 있습니다.

원격 데스크톱 접속은 RDP의 핵심 기능으로, 사용자가 네트워크를 통해 원격 컴퓨터의 그래픽 데스크톱 환경을 마치 로컬에서 사용하는 것처럼 조작할 수 있게 합니다. 이 과정에서 서버 측의 화면 출력은 캡처되어 네트워크를 통해 클라이언트로 전송되고, 클라이언트의 키보드와 마우스 입력은 서버로 전달되어 실행됩니다. 이를 통해 사용자는 물리적으로 떨어진 Windows 서버나 데스크톱 PC에 접속하여 모든 애플리케이션을 실행하고 파일을 관리할 수 있습니다.
로컬 리소스 리디렉션 기능은 원격 세션의 편의성과 기능성을 크게 향상시킵니다. 이 기능을 활성화하면 클라이언트 컴퓨터의 드라이브, 프린터, 포트(예: USB 포트) 및 클립보드가 원격 세션 내에서 사용 가능한 리소스로 나타납니다. 예를 들어, 로컬 드라이브가 원격 컴퓨터의 탐색기에서 네트워크 드라이브처럼 표시되어 파일을 쉽게 복사하거나 이동할 수 있으며, 로컬에 연결된 프린터로 원격 문서를 바로 인쇄할 수 있습니다.
클립보드 공유는 리디렉션의 한 형태로, 원격 세션과 로컬 컴퓨터 사이에서 텍스트, 이미지, 파일 등의 데이터를 자유롭게 복사하고 붙여넣을 수 있게 합니다. 이는 작업 효율성을 극대화하는 중요한 기능입니다. 또한, 오디오 리디렉션을 통해 원격 컴퓨터의 소리를 클라이언트에서 재생하거나, 마이크와 같은 오디오 입력 장치를 공유할 수 있습니다.
RDP는 멀티미디어 경험도 지원합니다. RemoteFX와 같은 고급 기능을 통해 원격 세션 내에서 비디오 재생과 3D 그래픽 애플리케이션을 원활하게 실행할 수 있으며, 여러 모니터를 지원하여 생산성 높은 작업 환경을 구성할 수 있습니다. 이러한 기능들은 원격 작업이 로컬 작업과 거의 차이를 느끼지 못할 수준의 사용자 경험을 제공하는 데 기여합니다.
RDP의 핵심 기능은 네트워크를 통해 원격 컴퓨터의 그래픽 사용자 인터페이스(GUI)를 로컬에서 조작할 수 있게 하는 것이다. 사용자는 자신의 컴퓨터 화면에 원격 컴퓨터의 바탕 화면이 실시간으로 표시되며, 키보드 입력과 마우스 조작이 원격 시스템으로 전송되어 마치 직접 그 컴퓨터 앞에 앉아 작업하는 것과 같은 경험을 제공한다. 이 접속은 일반적으로 TCP 포트 3389를 통해 이루어진다.
이 기능은 단순한 화면 공유를 넘어, 원격 세션 내에서 애플리케이션을 실행하고 파일을 관리하며 시스템 설정을 변경하는 등 로컬 컴퓨터에서 수행할 수 있는 대부분의 작업을 가능하게 한다. 특히 서버 관리, 기술 지원, 재택 근무 등 다양한 시나리오에서 필수적으로 활용된다. Windows 서버 운영 체제에서는 동시에 여러 명의 사용자가 각자의 세션으로 서버에 접속하여 독립적으로 작업할 수 있는 터미널 서비스의 기반 프로토콜로도 작동한다.
성능과 효율성을 위해 RDP는 스마트 코덱과 같은 다양한 기술을 사용한다. 화면 전송 시 변경된 영역만 감지하여 전송하고, 텍스트와 그래픽을 구분하여 각각에 최적화된 방식으로 처리하며, 대역폭 사용량을 동적으로 조절한다. 이를 통해 낮은 대역폭 환경에서도 비교적 쾌적한 원격 작업 환경을 제공할 수 있다.
특징 | 설명 |
|---|---|
전송 대상 | 화면 픽셀 데이터가 아닌, 그래픽 프리미티브(명령어)를 주로 전송[2]. |
다중 모니터 지원 | 최신 버전에서는 원격 컴퓨터의 다중 모니터 구성을 로컬에서 그대로 활용할 수 있다. |
세션 유형 | 관리자 콘솔 세션 또는 새 사용자 세션으로 접속할 수 있다. |
접속 제한 | Windows 클라이언트(예: Windows 10/11) 버전은 일반적으로 동시에 하나의 원격 접속 세션만 허용한다. |
클립보드 공유는 RDP 세션 내에서 로컬 컴퓨터와 원격 컴퓨터 사이에 클립보드 내용을 양방향으로 교환할 수 있게 하는 기능이다. 이 기능은 사용자가 로컬에서 복사한 텍스트나 이미지를 원격 데스크톱 내 응용 프로그램에 붙여넣거나, 그 반대의 작업을 가능하게 한다. 이를 통해 두 환경 간에 데이터를 쉽게 이동시킬 수 있어 업무 효율성을 크게 향상시킨다.
기술적으로 이 기능은 RDP 프로토콜의 가상 채널 중 하나인 CLIPRDR 채널을 통해 구현된다. 이 채널은 클립보드 데이터의 형식 변환 및 동기화를 담당한다. 사용자가 복사 작업을 수행하면, 클라이언트 또는 서버 측의 RDP 구성 요소가 해당 데이터를 캡처하여 표준화된 형식(예: CF_TEXT, CF_BITMAP)으로 변환한 후, 네트워크를 통해 상대측으로 전송한다. 수신측은 전달받은 데이터를 자신의 클립보드에 복원하여, 마치 로컬에서 복사한 것처럼 붙여넣기 작업을 수행할 수 있게 한다.
지원되는 데이터 형식은 RDP 버전과 구성에 따라 다르다. 일반적으로 다음과 같은 형식의 공유가 가능하다.
이 기능은 기본적으로 활성화되어 있지만, 보안 정책이나 성능 고려사항에 따라 관리자가 비활성화할 수 있다. 특히 민감한 정보가 클립보드를 통해 의도치 않게 전송되는 것을 방지하기 위해, 금융이나 보안이 중요한 환경에서는 이 기능을 제한하는 경우가 많다. 또한, 매우 큰 데이터(예: 고해상도 이미지)를 복사할 경우 네트워크 대역폭 사용과 지연을 유발할 수 있다는 점도 고려해야 한다.
RDP의 로컬 리소스 리디렉션 기능은 사용자의 로컬 컴퓨터에 연결된 주변 장치나 저장 매체를 원격 세션 내에서 마치 로컬 장치처럼 사용할 수 있게 한다. 이 기능은 원격 작업의 편의성과 효율성을 크게 향상시킨다. 리디렉션은 RDP 프로토콜의 가상 채널을 통해 이루어지며, 클라이언트와 서버 측 모두에서 적절한 설정이 필요하다.
주요 리디렉션 대상은 다음과 같다.
* 드라이브: 로컬의 하드 디스크, USB 메모리, CD/DVD 드라이브 등이 원격 세션의 '네트워크 드라이브'로 표시된다. 이를 통해 파일을 쉽게 복사하거나 로컬 응용 프로그램으로 원격 파일을 열 수 있다.
* 프린터: 로컬에 설치된 프린터가 원격 세션에 자동으로 추가되어, 원격 데스크톱에서 실행하는 프로그램에서 직접 로컬 프린터로 인쇄할 수 있다.
* 클립보드: 텍스트, 이미지, 파일 등이 원격 세션과 로컬 환경 사이에서 양방향으로 공유된다.
* 스마트 카드: 보안 인증을 위한 스마트 카드 리더기를 리디렉션할 수 있다.
* 포트: COM 및 LPT 포트와 같은 직렬 또는 병렬 포트도 리디렉션 대상에 포함될 수 있다.
이 기능은 특히 시스템 관리나 원격 기술 지원 시 유용하다. 관리자는 로컬 도구를 원격 서버에 직접 실행하거나, 서버의 로그 파일을 로컬 컴퓨터로 쉽게 복사할 수 있다. 그러나 보안 정책에 따라 불필요한 리디렉션은 제한하는 것이 좋다. 예를 들어, 민감한 정보가 저장된 원격 서버로부터 로컬 드라이브로의 파일 복사를 차단하거나, 신뢰할 수 없는 원격 컴퓨터에서 로컬 리소스에 대한 접근을 금지할 수 있다. 설정은 일반적으로 RDP 클라이언트 연결 설정 창의 '로컬 리소스' 탭에서 구성한다.

RDP는 마이크로소프트에 의해 지속적으로 발전해 왔으며, 각 주요 버전은 새로운 기능, 향상된 성능 및 보안 강화를 도입했다. 초기 버전은 기본적인 원격 제어 기능에 집중했으나, 이후 버전들은 멀티미디어 스트리밍, 그래픽 가속, 사용자 경험 개선 등을 중점적으로 발전시켰다.
초기의 RDP 5.x부터 7.x 버전까지는 윈도우 서버 2000, 윈도우 XP, 윈도우 비스타, 윈도우 7 시대에 걸쳐 진화했다. 이 시기에는 트루 컬러 지원, 디스플레이 크기 조정, 단일 포트를 통한 원격 데스크톱 서비스 연결 등이 도입되었다. 특히 RDP 6.0(윈도우 비스타/서버 2008)에서는 폰트 앤티앨리어싱, 디스플레이 구성 모니터링, 윈도우 프레젠테이션 파운데이션 응용 프로그램 지원이 추가되어 사용자 인터페이스 품질이 크게 향상되었다.
RDP 8.x는 윈도우 8 및 윈도우 서버 2012와 함께 등장하며 주요 변화를 가져왔다. 가장 큰 특징은 유저 인터페이스의 지연 시간을 줄이기 위한 UDP 기반 전송 지원이었다. 또한 멀티터치 입력, 미디어 플레이어의 미디어 스트리밍을 위한 H.264 코덱 지원, 더 나은 와이드 에리어 네트워크 성능이 도입되었다. 이 버전부터 클라이언트 측 렌더링이 강화되어 서버 부하를 줄이고 반응성을 개선했다.
현대의 RDP 10.x 버전(윈도우 10/11 및 윈도우 서버 2016 이후)은 보안과 현대화된 컴퓨팅 환경에 초점을 맞췄다. 주요 발전 사항은 다음과 같다.
버전 | 도입 OS | 주요 신규 기능 및 개선점 |
|---|---|---|
RDP 10.0 | 윈도우 10 | |
RDP 10.1 | 윈도우 10 1607 | Always-On VPN 지원, 향상된 자격 증명 보호 |
RDP 10.2 | 윈도우 10 1703 | 돌비 애트모스 오디오 지원, 초고화질(HDR) 비디오 스트리밍 |
RDP 10.3+ | 윈도우 10/11 이후 | 윈도우 헬로 포 비즈니스 지원, 강화된 하이퍼-V 통합, 스마트 카드 리디렉션 개선 |
또한 RDP 10.x는 네트워크 레벨 인증을 기본으로 강화하고, TLS 1.2 암호화를 적극 활용하며, 원격FX 가상화 GPU 기술을 통한 그래픽 성능을 극대화했다. 이러한 발전은 RDP를 단순한 원격 접속 도구를 넘어 가상 데스크톱 인프라(VDI) 환경의 핵심 프로토콜로 자리매김하게 했다.
초기 RDP 버전들은 마이크로소프트 윈도우 운영 체제의 발전과 함께 기능이 확장되었다. RDP 5.0은 윈도우 2000 서버에 처음 도입되어, 기존의 기본적인 원격 접속 기능에 디스크 드라이브, 프린터, 시리얼 포트 등 로컬 리소스를 원격 세션에서 사용할 수 있는 리디렉션 기능을 추가했다. RDP 5.1과 RDP 5.2는 각각 윈도우 XP와 윈도우 서버 2003에 포함되어 성능과 안정성을 개선했다.
RDP 6.0은 윈도우 비스타와 윈도우 서버 2008에서 선보였으며, 가장 큰 변화는 True Multi-Monitor 지원과 폰트 앤티앨리어싱, 디스플레이 해상도 향상이었다. 또한 네트워크 레벨 인증(NLA)이 도입되어 사용자 인증이 세션 연결 초기에 이루어지도록 하여 보안을 강화했다. RDP 6.1은 윈도우 서버 2008 R2와 윈도우 7에 탑재되어 윈도우 미디어 플레이어 리디렉션과 같은 멀티미디어 성능 향상을 제공했다.
RDP 7.0은 윈도우 서버 2008 R2와 윈도우 7에 대한 업데이트로 제공되었으며, Aero Glass 효과의 원격 지원, 다중 터치 및 제스처 입력 지원, 그리고 향상된 비디오 스트리밍 성능을 특징으로 했다. 이 버전은 WAN과 같은 고대역폭 지연 네트워크 환경에서의 사용자 경험을 크게 개선했다. 이후 RDP 7.1은 윈도우 서버 2008 R2 SP1에 포함되어 추가적인 안정성 패치를 제공했다.
버전 | 주요 포함 OS | 주요 신규 기능 |
|---|---|---|
RDP 5.0 | 윈도우 2000 서버 | 로컬 리소스(드라이브, 프린터) 리디렉션 |
RDP 5.1/5.2 | 성능 및 안정성 개선 | |
RDP 6.0 | 다중 모니터 지원, 네트워크 레벨 인증(NLA) | |
RDP 6.1 | 윈도우 미디어 플레이어 리디렉션 | |
RDP 7.0/7.1 | 윈도우 7 (업데이트), 윈도우 서버 2008 R2 SP1 | Aero Glass 원격 지원, 다중 터치 지원 |
RDP 8.0은 Windows 8 및 Windows Server 2012와 함께 도입되었다. 이 버전은 특히 WAN과 같은 고대역폭 지연 네트워크 환경에서의 사용자 경험을 크게 개선하는 데 초점을 맞췄다. UDP 전송 프로토콜을 공식적으로 지원하여 TCP만 사용하던 기존 방식에 비해 지연 시간을 줄이고 실시간 상호작용 성능을 향상시켰다.
주요 기능 향상으로는 RemoteFX 기술의 통합이 두드러진다. 이는 가상화된 그래픽 및 미디어 콘텐츠의 원격 렌더링 성능을 극대화했다. 특히 다음과 같은 기능들이 추가되었다.
* USB 리디렉션 2.0: 클라이언트 측의 USB 장치를 원격 세션에서 더욱 효율적으로 사용할 수 있도록 지원했다.
* 멀티 터치 지원: 최대 256개의 터치 포인트를 지원하여 터치스크린 장치에서의 원격 제어 경험을 개선했다.
* 향상된 비디오 스트리밍: H.264 코덱을 이용한 효율적인 비디오 리디렉션을 도입했다.
또한, RDP 8.0은 세션 연결의 자동 복구 기능을 도입하여 네트워크 연결이 일시적으로 끊겼다가 복구되었을 때 사용자 세션을 빠르게 재개할 수 있게 했다. 이 버전은 초기에는 새로운 Windows 8 및 서버 운영체제에만 포함되었으나, 이후 Windows 7 및 Windows Server 2008 R2에도 업데이트를 통해 백포트되어 제공되기도 했다.
RDP 10.x는 Windows 10 및 이후 Windows Server 버전과 함께 도입된 현대적인 RDP 프로토콜 버전을 가리킨다. 이 버전은 주로 RDP 8.1을 기반으로 하여 성능, 사용자 경험, 보안 측면에서 상당한 개선을 이루었다. 특히 Hyper-V 가상 머신 연결 및 Windows 원격 데스크톱 서비스 환경에서의 효율성을 극대화하는 데 초점을 맞췄다.
주요 개선 사항은 다음과 같았다. RemoteFX 기술이 더욱 발전하여 vGPU (가상 GPU) 기능을 통해 원격 세션에서 그래픽 집약적인 응용 프로그램과 DirectX 11, OpenGL 4.4를 지원하는 성능을 제공했다. 네트워크 효율성을 위해 UDP 기반 전송을 공식적으로 지원하며, 네트워크 상태가 좋지 않은 환경에서도 지연 시간을 줄이고 부드러운 사용자 경험을 보장했다. 또한 Dynamic Virtual Channel을 확장하여 다양한 유형의 장치와 미디어 리디렉션을 더 유연하게 처리할 수 있게 되었다.
보안 측면에서는 항상 최신의 암호화 표준을 사용하도록 강제하는 보안 협상 메커니즘이 도입되었다. 이는 취약한 이전 암호화 방법의 사용을 방지한다. CredSSP 인증 프로토콜의 업데이트된 버전을 사용하여 NTLM 릴레이 공격과 같은 위협에 대한 저항성을 높였다. 또한 RDP 클라이언트 측에서 서버의 신원을 검증하는 서버 인증이 기본적으로 활성화되어 있다.
RDP 10.x는 다양한 디스플레이 구성과 높은 해상도를 완벽하게 지원한다. 다중 모니터 환경을 원활하게 구성할 수 있으며, H.264/AVC 코덱을 활용한 효율적인 화면 인코딩으로 대역폭 사용을 최적화하면서도 시각적 품질을 유지한다. 이러한 발전으로 인해 RDP 10.x는 현대적인 하이브리드 업무 환경과 VDI (가상 데스크톱 인프라) 배포의 핵심 프로토콜로 자리 잡았다.

RDP는 강력한 원격 접속 기능을 제공하지만, 네트워크를 통해 시스템을 노출시키므로 보안 설정이 매우 중요하다. 기본적으로 사용되는 인증 방식은 네트워크 수준 인증(NLA)으로, 실제 세션을 생성하기 전에 사용자 자격 증명을 확인하여 서버 부하와 공격 표면을 줄인다. 최신 버전에서는 다중 요소 인증(MFA) 통합을 지원하여 보안을 강화한다. 또한, 연결에 TLS(Transport Layer Security) 암호화를 필수적으로 사용하여 전송 중인 데이터의 기밀성과 무결성을 보장한다.
네트워크 보안 설정은 RDP 서비스를 안전하게 운영하는 핵심이다. 기본 TCP 포트 3389는 자동화된 스캔과 무차별 대입 공격의 주요 대상이므로, 포트 변경이나 VPN 터널을 통한 접근 제한이 권장된다. 방화벽 규칙을 통해 신뢰할 수 있는 IP 주소나 네트워크 대역에서만 RDP 연결을 허용해야 한다. 또한, 계정 잠금 정책을 구성하여 반복된 로그인 실패 시 계정을 일시적으로 잠그는 것이 중요하다.
RDP를 대상으로 하는 주요 공격 유형으로는 자격 증명 도난을 위한 무차별 대입 공격과 중간자 공격(MitM), 그리고 블루킹(BlueKeep)과 같은 원격 코드 실행 취약점을 이용한 공격이 있다. 이러한 공격에 대응하기 위해서는 항상 최신 보안 패치를 적용하고, 강력한 암호 정책을 유지하며, 가능하다면 관리자 계정으로의 직접 RDP 로그인을 제한해야 한다. 감사 로깅을 활성화하여 비정상적인 접속 시도를 모니터링하는 것도 효과적인 대응책이다.
RDP 세션의 보안을 확립하기 위한 첫 번째 단계는 사용자 또는 장치의 신원을 확인하는 인증 과정이다. RDP는 다양한 인증 방식을 지원하며, 서버 설정과 클라이언트 능력에 따라 적용된다.
가장 기본적인 방식은 NTLM 인증이다. 이는 사용자 이름과 암호를 사용하는 전통적인 방식으로, 암호 자격 증명을 네트워크를 통해 전송하기 전에 해시 처리한다. 그러나 NTLM은 재생 공격에 취약할 수 있다는 단점이 있다. 더 강력한 보안을 위해 Kerberos 인증이 사용될 수 있다. 이 방식은 티켓 기반의 프로토콜로, 암호가 네트워크를 통해 직접 전송되지 않으며, 상호 인증을 제공한다. Kerberos는 일반적으로 Active Directory 도메인 환경에서 사용된다.
최신 버전의 RDP는 Network Level Authentication을 강력히 권장하거나 필수로 요구한다. NLA는 실제 RDP 세션과 데스크톱이 로드되기 전에, 연결 단계에서 자격 증명을 확인하는 보안 계층이다. 이는 서버에 부하를 줄이고, 인증되지 않은 연결 시도로부터 서버를 보호하는 데 효과적이다. NLA는 CredSSP 프로토콜을 사용하여 작동한다. 또한, 스마트 카드나 바이오메트릭 인증과 같은 다중 요소 인증 방식도 지원하여 보안 수준을 더욱 높일 수 있다.
인증 방식 | 주요 특징 | 일반적 사용 환경 |
|---|---|---|
암호 해시를 사용하는 챌린지-응답 방식 | 워크그룹 또는 레거시 도메인 | |
티켓 기반, 상호 인증 제공 | Active Directory 도메인 | |
세션 초기화 전 인증 완료, 서버 부하 감소 | Windows Vista/Server 2008 이후 버전 |
서버 관리자는 보안 정책과 환경에 맞게 적절한 인증 방식을 선택해야 한다. 약한 인증 방식을 사용하면 무차별 대입 공격이나 자격 증명 도난의 위험이 증가한다.
RDP 세션의 네트워크 보안을 강화하기 위해서는 연결 경로와 데이터 전송 과정을 보호하는 설정이 필수적이다. 기본적으로 RDP는 TCP 포트 3389를 사용하지만, 이는 공격자에게 명확한 표적이 될 수 있다. 따라서 서버 측에서 포트를 변경하는 것은 기본적인 보안 조치에 속한다. 또한, 방화벽을 통해 RDP 포트에 대한 접근을 특정 IP 주소나 서브넷으로만 제한하는 것이 중요하다. 공용 네트워크를 통해 RDP를 사용해야 할 경우, VPN을 먼저 구축한 후 내부 네트워크 자원으로 접근하도록 하는 것이 훨씬 안전한 방법이다.
RDP 프로토콜 자체의 보안 수준은 서버 설정을 통해 조정할 수 있다. Windows 서버에서는 '원격 데스크톱 서비스' 구성 도구를 통해 연결의 보안 수준을 지정한다. 가장 안전한 옵션은 'SSL(TLS)을 사용한 네트워크 수준 인증'을 요구하는 것이다. 이 설정은 클라이언트 인증이 완료된 후에만 세션을 생성하며, 모든 통신을 TLS 1.0 이상으로 암호화한다. 서버는 유효한 공개 키 인증서를 설치해야 하며, 자체 서명된 인증서보다는 신뢰할 수 있는 인증 기관에서 발급받은 인증서를 사용하는 것이 좋다.
보안 설정 항목 | 권장 구성 | 설명 |
|---|---|---|
연결 포트 | 기본 3389 포트 변경 | 스캔 및 자동화 공격을 어렵게 만든다. |
네트워크 수준 인증 | 활성화 | 세션 시작 전에 사용자 인증을 완료한다. |
암호화 수준 | 높음 | 128비트 또는 256비트 암호화를 사용한다. |
연결 제한 | 방화벽 정책 설정 | 특정 IP 대역에서만 접근을 허용한다. |
또한, NLA를 활성화하면 초기 연결 단계에서 CredSSP 프로토콜을 사용하여 사용자 자격 증명을 안전하게 전달한다. 이는 중간자 공격이나 자격 증명 재생 공격의 위험을 줄인다. 관리자는 정기적으로 보안 이벤트 로그를 점검하여 실패한 RDP 로그인 시도를 모니터링하고, 과도한 실패 시도를 차단하는 계정 잠금 정책이나 추가적인 침입 탐지 시스템을 구성하는 것이 바람직하다.
RDP 서버는 네트워크를 통해 노출되기 때문에 다양한 형태의 공격 대상이 될 수 있다. 주요 공격 유형으로는 무차별 대입 공격(Brute-force attack)과 취약점을 이용한 원격 코드 실행(Remote Code Execution)이 있다. 무차별 대입 공격은 약한 암호를 가진 계정을 대상으로 자동화된 도구를 사용해 반복적인 로그인 시도를 하는 방식이다. 원격 코드 실행 공격은 RDP 프로토콜 스택이나 관련 서비스의 소프트웨어 결함을 악용하여 서버에서 임의의 코드를 실행시키려는 시도이다.
이러한 공격에 대응하기 위한 기본적인 조치는 다음과 같다.
네트워크 수준 접근 제한: 방화벽을 통해 RDP 포트(기본 3389)에 대한 접근을 신뢰할 수 있는 IP 대역으로만 제한한다.
강력한 인증 정책: 복잡한 암호 정책을 적용하고, 가능하다면 다중 인증(MFA)을 도입한다.
계정 잠금 정책: 일정 횟수의 실패한 로그인 시도 후 계정을 일시적으로 잠가 무차별 대입 공격을 방지한다.
공격 유형 | 설명 | 주요 대응 방안 |
|---|---|---|
무차별 대입 공격 | 자동화 도구를 이용한 반복적 로그인 시도 | 계정 잠금 정책, 다중 인증, 강력한 암호 |
RDP 취약점 악용(CVE) | 프로토콜 또는 구현상의 결함을 통한 공격 | 정기적인 보안 업데이트 적용, 취약점 패치 |
중간자 공격(Man-in-the-Middle) | 통신 경로를 가로채 데이터 탈취 또는 변조 | |
세션 하이재킹 | 활성화된 세션을 탈취하여 권한 상승 | 세션 시간 제한, 비활성 세션 자동 로그아웃 |
보다 고도화된 대응을 위해서는 RDP 게이트웨이(RD Gateway)를 도입하여 외부 접속을 단일 지점에서 관리하고 암호화 터널을 구성할 수 있다. 또한, 정기적인 보안 감사와 로그 모니터링을 통해 비정상적인 접속 시도(예: 알려지지 않은 지역에서의 접속, 비정상적인 시간대의 접속)를 신속히 탐지하고 대응하는 것이 중요하다. 최신 보안 업데이트를 지속적으로 적용하여 알려진 취약점을 차단하는 것도 필수적이다.

RDP 연결은 클라이언트 소프트웨어와 서버 구성 요소 간의 상호작용으로 이루어진다. 서버 측 구성 요소는 Windows NT 계열 운영 체제에 내장되어 있으며, 특히 Windows Server 제품군에서는 핵심 기능으로 제공된다. 이 서비스는 기본적으로 TCP 3389 포트를 수신하며, 사용자 인증과 세션 관리를 담당한다. 클라이언트 측에서는 이 서버에 연결하여 원격 세션을 시작한다.
가장 보편적인 클라이언트는 마이크로소프트가 제공하는 '원격 데스크톱 연결'(mstsc.exe) 애플리케이션이다. 이 클라이언트는 Windows XP 이후 대부분의 Windows 버전에 기본 포함되어 있으며, 그래픽 사용자 인터페이스를 통해 서버 주소, 사용자 자격 증명, 디스플레이 설정, 로컬 리소스 공유 옵션 등을 쉽게 구성할 수 있다. 또한 명령줄에서 매개변수를 사용하여 연결을 시작할 수도 있다.
Windows 이외의 플랫폼을 위한 공식 및 비공식 클라이언트도 다양하게 존재한다. 마이크로소프트는 macOS, iOS, 안드로이드용 공식 'Microsoft Remote Desktop' 클라이언트를 제공한다. 리눅스 환경에서는 rdesktop이나 FreeRDP와 같은 오픈 소스 구현체가 널리 사용된다. 이들 클라이언트는 기본 프로토콜 기능을 지원하며, 지속적인 개발을 통해 새로운 RDP 버전의 기능을 추가해 나가고 있다.
서버 측 구성은 운영 체제 버전과 에디션에 따라 차이가 있다. 주요 구성 요소는 다음과 같다.
구성 요소 | 설명 |
|---|---|
원격 데스크톱 서비스(RDS) | 다중 사용자 원격 데스크톱 세션을 관리하는 서버 역할이다. |
원격 데스크톱 세션 호스트(RD Session Host) | 사용자 세션을 실행하고 클라이언트에 제공하는 역할 서비스이다. |
원격 데스크톱 연결 브로커(RD Connection Broker) | 팜 환경에서 세션 로드 밸런싱 및 재연결을 관리한다. |
원격 데스크톱 게이트웨이(RD Gateway) | |
원격 데스크톱 웹 액세스(RD Web Access) |
마이크로소프트 윈도우 운영 체제는 원격 데스크톱 프로토콜 클라이언트를 기본적으로 포함하고 있다. 이 클라이언트의 정식 명칭은 '원격 데스크톱 연결'(Remote Desktop Connection, mstsc.exe)이다. 이 프로그램은 윈도우 XP부터 기본 제공되기 시작했으며, 이후 모든 데스크톱 및 서버 버전의 윈도우에 포함되었다.
클라이언트는 시작 메뉴 또는 실행 창에서 'mstsc' 명령어로 실행할 수 있다. 사용자는 연결할 원격 데스크톱 서비스 호스트의 주소(컴퓨터 이름 또는 IP 주소)를 입력하고, 필요에 따라 사용자 자격 증명, 디스플레이 해상도, 로컬 리소스 공유 옵션 등을 구성한 후 연결을 시작한다. 고급 설정을 통해 성능 옵션(예: 글꼴 다듬기, 데스크톱 배경 표시 여부), 로컬 장치 및 리소스(예: 프린터, 클립보드, 드라이브)의 리디렉션, 보안 설정 등을 세부적으로 조정할 수 있다.
버전 | 도입된 윈도우 버전 | 주요 개선 사항 |
|---|---|---|
초기 버전 | 기본 RDP 5.1 지원, 기본 제공 시작 | |
업데이트된 클라이언트 | RDP 6.x/7.x 지원, 네트워크 레벨 인증(NLA) 도입, 모니터 스팬 기능 | |
현대 클라이언트 (앱) | 유니버설 윈도우 플랫폼(UWP) 앱 형태 제공, 더 간소화된 인터페이스, 다중 세션 관리 지원 |
윈도우 10과 윈도우 11에서는 기존의 데스크톱 애플리케이션(mstsc) 외에도 마이크로소프트 스토어를 통해 배포되는 '원격 데스크톱' 앱을 기본으로 제공한다. 이 UWP 앱은 모던한 인터페이스를 가지며, 여러 원격 연결을 탭 형태로 관리하거나 즐겨찾기로 저장하는 기능을 제공한다. 또한, 이 앱은 RDP 10.x의 최신 기능들을 지원하여 향상된 그래픽 성능(예: RemoteFX), 디바이스 리디렉션, 보안 향상 등을 활용할 수 있게 한다.
RDP 프로토콜은 마이크로소프트의 독점 기술로 시작했으나, 공개된 프로토콜 사양과 타사 개발자들의 노력으로 인해 다양한 운영 체제를 위한 클라이언트가 존재한다.
리눅스 및 유닉스 계열 시스템에서는 주로 오픈 소스 클라이언트인 FreeRDP 또는 rdesktop을 사용한다. FreeRDP는 RDP 8.x 이상의 최신 프로토콜 기능을 지원하는 활발히 개발 중인 프로젝트이다. macOS의 경우 마이크로소프트가 공식 제공하는 'Microsoft Remote Desktop' 앱을 Mac App Store에서 다운로드할 수 있으며, 이는 맥OS의 네이티브 환경에 잘 통합된다. 안드로이드와 iOS/iPadOS 모바일 플랫폼에서도 마이크로소프트의 공식 '원격 데스크톱' 앱을 이용하여 스마트폰이나 태블릿에서 Windows 시스템에 접속할 수 있다.
플랫폼 | 주요 클라이언트 | 특징 |
|---|---|---|
리눅스/BSD | 오픈 소스, 명령줄 및 GUI 지원 | |
macOS | Microsoft Remote Desktop | 공식 클라이언트, Mac App Store 제공 |
Android | Microsoft Remote Desktop | 공식 앱, Google Play 스토어 제공 |
iOS/iPadOS | Microsoft Remote Desktop | 공식 앱, App Store 제공 |
Chrome OS | Chrome RDP 확장 프로그램 또는 Android 앱 | 크롬 OS의 제한된 환경에서 실행 |
일부 타사 클라이언트는 추가 기능이나 특정 환경에 최적화된 인터페이스를 제공하기도 한다. 예를 들어, 멀티플랫폼 지원을 강점으로 하는 상용 소프트웨어도 존재한다. 이러한 다양한 클라이언트의 등장은 RDP가 윈도우 서버 및 데스크톱 환경에 대한 사실상의 표준 원격 접속 프로토콜로 자리 잡는 데 기여했다.
RDP 서버 역할을 수행하는 핵심 구성 요소는 윈도우 서버 또는 윈도우 프로페셔널 이상의 데스크톱 운영체제에 포함된 터미널 서비스입니다. 이 서비스는 원격 사용자의 연결을 수신하고, 별도의 세션을 생성하며, 사용자 입력을 처리하고 그래픽 출력을 전송하는 역할을 담당합니다. 서버 측에서는 RDP 프로토콜 스택이 네트워크 통신을 관리하고, 다양한 가상 채널을 통해 데이터를 교환합니다.
주요 서버 구성 요소는 다음과 같습니다.
구성 요소 | 설명 |
|---|---|
터미널 서비스 (원격 데스크톱 서비스) | 원격 세션을 호스팅하는 핵심 서비스입니다. 다중 사용자 세션을 지원합니다. |
RDP 프로토콜 스택 (TermDD.sys) | 네트워크 드라이버 수준에서 RDP 프로토콜 데이터를 처리하는 커널 모드 드라이버입니다. |
세션 관리자 프로세스 (csrss.exe, winlogon.exe) | 각 사용자 세션마다 생성되어 로그온 프로세스와 사용자 환경을 관리합니다. |
원격 데스크톱 세션 호스트 (RDSH) | 윈도우 서버에서 애플리케이션을 공유하거나 가상 데스크톱을 제공하는 역할을 합니다. |
원격 데스크톱 라이선싱 (RD 라이선싱) | 다중 사용자 환경에서 필요한 RDP 클라이언트 액세스 라이선스를 관리합니다. |
원격 데스크톱 게이트웨이 (RD 게이트웨이) | |
원격 데스크톱 웹 액세스 |
이러한 구성 요소들은 그룹 정책 또는 원격 데스크톱 세션 호스트 구성 도구를 통해 중앙에서 관리될 수 있습니다. 또한, 하이퍼-V와 같은 가상화 플랫폼과 통합되어 가상 머신에 대한 원격 접속을 제공하는 데도 활용됩니다. 서버 측 성능과 확장성은 사용자 수, 그래픽 요구 사항, 그리고 로컬 리소스 리디렉션 설정에 크게 영향을 받습니다.

RDP는 마이크로소프트의 독점 프로토콜로, 윈도우 환경에서 널리 사용된다. 그러나 다른 운영 체제나 특정 사용 사례에서는 다양한 대체 기술이 존재하며, 각기 다른 장단점을 지닌다.
가장 대표적인 대안은 VNC이다. RDP가 그래픽 명령을 전송하는 방식이라면, VNC는 원격 화면의 픽셀 변화를 전송하는 원격 프레임버퍼 프로토콜이다. 이로 인해 VNC는 플랫폼에 독립적이어서 리눅스, 맥OS 등 다양한 환경에서 호환된다. 하지만 일반적으로 RDP보다 반응 속도가 느리고, 네트워크 대역폭을 더 많이 사용하는 경향이 있다. 주로 크로스 플랫폼 지원이 중요한 환경이나 간단한 원격 제어에 활용된다.
유닉스 및 리눅스 환경에서는 SSH 터널을 통한 X11 포워딩이 일반적인 원격 그래픽 접속 방식이다. 이 방법은 SSH의 강력한 암호화 통신 채널 안에서 X 윈도 시스템의 그래픽 응용 프로그램만을 개별적으로 실행하고 표시할 수 있다. 전체 데스크톱 세션보다 가볍고 보안성이 높다는 장점이 있지만, 초기 설정이 복잡하며 고성능 그래픽 애플리케이션 실행에는 적합하지 않을 수 있다.
최근에는 별도의 클라이언트 소프트웨어 설치 없이 웹 브라우저만으로 접속할 수 있는 웹 기반 원격 접속 기술도 발전하고 있다. Apache Guacamole과 같은 오픈소스 프로젝트는 RDP, VNC, SSH 등 다양한 백엔드 프로토콜을 웹 애플리케이션으로 제공한다. HTML5와 WebSocket 기술을 기반으로 하여 접근성과 관리 편의성이 뛰어나지만, 브라우저 성능에 의존하므로 복잡한 그래픽이나 미디어 스트리밍에는 한계가 있을 수 있다.
기술 | 주요 특징 | 일반적인 사용 환경 |
|---|---|---|
그래픽 명령 전송, 높은 효율성, 윈도우와 긴밀한 통합 | 윈도우 서버/데스크톱 원격 관리 | |
픽셀 변경 전송, 플랫폼 독립성 | 크로스 플랫폼 원격 지원, 임베디드 시스템 | |
개별 애플리케이션 전송, 강력한 암호화 | 리눅스/유닉스 서버의 그래픽 앱 원격 실행 | |
웹 기반 접속 (예: Apache Guacamole) | 브라우저 기반, 클라이언트 설치 불필요 | 공용 컴퓨터에서의 접근, 중앙화된 관리 포털 |
VNC는 RDP와 마찬가지로 원격으로 다른 컴퓨터의 그래픽 사용자 인터페이스를 제어할 수 있게 해주는 기술이다. 그러나 두 기술은 설계 철학과 작동 방식에서 근본적인 차이를 보인다. VNC는 주로 프레임버퍼를 원격으로 전송하는 방식으로 동작하며, 서버의 화면을 캡처하여 네트워크를 통해 클라이언트에 전송한다. 이는 OSI 모델의 상위 계층에서 작동하는 RDP와 달리 비교적 낮은 수준에서 동작하는 특징을 가진다.
VNC의 주요 구성 요소는 VNC 서버와 VNC 뷰어이다. 서버는 원격 접속을 받아들이는 측의 소프트웨어이며, 뷰어는 접속을 시작하는 클라이언트 측 소프트웨어이다. VNC는 플랫폼 독립성을 핵심 강점으로 삼아, 유닉스, 리눅스, macOS, Windows 등 다양한 운영 체제 간의 원격 제어를 가능하게 한다. 통신에는 주로 RFB 프로토콜이 사용된다.
RDP와의 주요 차이점은 다음과 같다.
특성 | VNC | RDP |
|---|---|---|
기본 작동 방식 | 서버의 화면 프레임버퍼를 전송 | 그래픽 명령어와 리소스를 전송 |
플랫폼 독립성 | 매우 높음 (크로스 플랫폼) | 주로 Windows 생태계에 최적화됨 |
성능 | 정적인 화면에 효율적, 동적인 화면 변경 시 대역폭 소모 큼 | 그래픽 가속 및 지능형 코덱으로 동적 화면에 효율적 |
기능 통합 | 기본 기능 중심 (화면 공유, 간단한 입력) | 로컬 리소스 공유, 프린터 리디렉션 등 고급 기능 내장 |
보안 | 초기 버전은 암호화가 약함, SSH 터널링 등과 결합하여 보완 | 프로토콜 수준에서 암호화 및 다양한 인증 방식 지원 |
VNC는 특정 운영 체제나 소프트웨어에 깊이 통합되기보다는 범용적인 원격 접속 솔루션으로 사용된다. 따라서 시스템 관리, 기술 지원, 또는 이기종 시스템 간의 간단한 원격 제어에 널리 활용된다. 대표적인 구현체로는 RealVNC, TightVNC, UltraVNC 등이 있다.
SSH X11 포워딩은 SSH 프로토콜을 통해 X 윈도우 시스템의 그래픽 응용 프로그램을 원격으로 실행하고 표시하는 기술이다. 이 방식은 RDP나 VNC와 같이 전체 데스크톱 세션을 공유하는 것이 아니라, 개별 GUI 애플리케이션을 네트워크를 통해 투명하게 실행할 수 있게 한다. 주로 유닉스 계열 운영 체제(리눅스, macOS 등) 환경에서 널리 사용된다.
동작 원리는 다음과 같다. 사용자는 SSH 클라이언트를 사용해 원격 서버에 접속할 때 -X 또는 -Y 옵션을 지정하여 X11 포워딩을 활성화한다. 이때 SSH 연결은 X 프로토콜의 트래픽을 암호화된 터널 안에 캡슐화하여 전송한다. 원격 서버에서 GUI 프로그램이 실행되면, 그 프로그램의 X 클라이언트는 로컬 사용자 컴퓨터의 X 서버와 통신하게 되며, 모든 그래픽 출력은 로컬 화면에 표시되고 입력은 로컬에서 원격 애플리케이션으로 전달된다.
특성 | SSH X11 포워딩 | RDP |
|---|---|---|
주요 용도 | 개별 GUI 애플리케이션 실행 | 전체 원격 데스크톱 세션 |
프로토콜 | X 프로토콜 (SSH 터널링) | 독자적인 RDP 프로토콜 |
암호화 | SSH 연결을 통한 강력한 암호화 | 자체 암호화 (최신 버전은 강함) |
플랫폼 | 주로 유닉스/리눅스/맥 환경 | 주로 마이크로소프트 윈도우 환경 |
대역폭 | 일반적으로 낮음 (전체 화면 전송이 아님) | 일반적으로 높음 (화면 픽셀 전송) |
이 기술의 주요 장점은 높은 보안성과 효율성이다. 모든 통신이 SSH의 암호화 채널을 통해 이루어지므로 네트워크 스누핑으로부터 안전하다. 또한 필요한 애플리케이션만 실행하므로 네트워크 대역폭과 서버 자원을 절약할 수 있다. 그러나 단점으로는 초기 설정이 비교적 복잡할 수 있으며, 마이크로소프트 윈도우 환경에서는 기본 X 서버가 없어서 Xming이나 VcXsrv 같은 별도 소프트웨어 설치가 필요하다는 점을 들 수 있다.
RDP는 전통적으로 전용 클라이언트 애플리케이션을 필요로 하지만, HTML5와 WebSocket 같은 현대 웹 기술의 발전으로 웹 브라우저를 통한 원격 데스크톱 접속이 가능해졌다. 이 방식은 클라이언트 측에 별도의 소프트웨어를 설치할 필요가 없어 접근성과 편의성이 크게 향상된다. 일반적으로 웹 서버가 RDP 게이트웨이 역할을 하거나, 서버 측에서 RDP 세션을 중개하여 브라우저에 비디오 스트리밍 형태로 전송하는 구조를 가진다.
주요 구현 방식은 두 가지로 나뉜다. 첫째는 Apache Guacamole과 같은 오픈소스 프로젝트로, 서버 측에서 RDP, VNC, SSH 등 다양한 프로토콜을 처리하고 HTML5 캔버스를 통해 사용자에게 제공한다. 둘째는 Microsoft Remote Desktop Web Client와 같은 공식 구현체로, Windows Server 또는 Azure Virtual Desktop 환경에서 공식적으로 지원하는 웹 접속 수단이다.
접속 방식 | 주요 기술 | 장점 | 단점 |
|---|---|---|---|
전통적 RDP 클라이언트 | 독립 프로토콜, 네이티브 앱 | 높은 성능, 모든 기능 지원 | 클라이언트 설치 필요 |
웹 기반 RDP (예: Guacamole) | HTML5, WebSocket, 서버 측 중개 | 설치 불필요, 플랫폼 독립적 | 추가 서버 구성 필요, 지연 가능성 |
공식 웹 클라이언트 (MS) | WebRTC, Azure 기반 | 공식 지원, 통합 관리 용이 | 특정 MS 환경에 종속적 |
이 기술은 특히 BYOD 환경이나 공용 컴퓨터에서의 임시 접근, 클라우드 가상 데스크톱 서비스 접근에 유용하다. 그러나 모든 RDP의 고급 기능을 완벽히 지원하지 않을 수 있으며, 처리 과정이 서버를 한 번 더 거치므로 네트워크 지연이나 서버 부하에 영향을 받을 수 있다는 한계도 존재한다.
