Web-Based Remote Desktop Architecture Using WebRTC
2026-06-30 2026-06-30 2026-06-30
목차 (7개 섹션)목차 (6개 섹션)목차 (5개 섹션)
웹 기반 원격 데스크톱 기술의 아키텍처
2020년 3월, 전 세계 기업들이 하룻밤 사이에 재택근무로 전환하면서 Citrix와 VMware의 서버가 동시에 다운됐다. 이 사건은 "브라우저 하나로 회사 컴퓨터에 접속한다"는 개념이 얼마나 취약한 인프라 위에 올라가 있는지를 적나라하게 드러냈다. 그리고 역설적으로, 바로 그 위기가 웹 기반 원격 데스크톱 기술을 근본부터 재설계하는 계기가 됐다.
프로토콜 전쟁: RDP·VNC·그리고 그 이후
원격 데스크톱의 역사는 프로토콜 싸움이다. 마이크로소프트가 1998년 Windows NT 4.0 Terminal Server Edition과 함께 내놓은 RDP(Remote Desktop Protocol)는 서버 측 렌더링 결과를 클라이언트로 전송하는 방식으로 설계됐다. 핵심 아이디어는 단순했다. 화면을 통째로 보내는 대신 "어느 픽셀이 바뀌었는가"만 전송한다. 이 차분(差分) 방식은 1990년대 저대역 환경에서는 획기적이었다.
VNC(Virtual Network Computing)는 1998년 AT&T 연구소에서 나왔다. RFB(Remote Framebuffer) 프로토콜을 기반으로 플랫폼 독립성을 택한 대신 압축 효율을 희생했다. 문제는 두 프로토콜 모두 TCP 소켓 직접 연결을 전제로 설계됐다는 점이다. 브라우저가 임의 포트로 TCP를 열 수 없게 막힌 2010년대 이후 환경에서는 구조적으로 작동하기 어려웠다.
HTML5 게이트웨이 아키텍처
전환점은 2011년 HTML5 WebSocket 표준화와 함께 왔다. Apache Guacamole이 2013년에 발표한 아키텍처는 지금도 웹 기반 원격 데스크톱의 교과서로 불린다.
핵심 구조는 3계층이다.
첫째, guacd(Guacamole Daemon). 서버 사이드에서 RDP·VNC·SSH 프로토콜로 실제 원격 머신에 연결하는 프록시 역할을 한다. 클라이언트는 이 데몬과만 통신하기 때문에 브라우저에서 RDP 포트(3389)를 직접 건드릴 필요가 없다.
둘째, Guacamole Protocol. guacd와 웹 애플리케이션 서버 사이의 전용 텍스트 기반 프로토콜이다. 명령어 구조는 명령어.인자1,인자2; 형태로 단순하지만, 화면 업데이트·마우스 이벤트·키 입력·클립보드 동기화를 모두 커버한다.
셋째, WebSocket 터널. 웹 애플리케이션 서버와 브라우저 사이를 잇는다. WebSocket이 불가능한 환경을 위한 HTTP 롱폴링 폴백도 지원한다.
이 구조의 장점은 보안 격리다. 브라우저는 guacamole 서버만 바라보고, 내부 원격 머신의 실제 IP와 포트는 클라이언트에 노출되지 않는다.
WebRTC의 등장과 지연 문제
Guacamole 방식의 한계는 지연(latency)이다. 화면 변화 → 인코딩 → WebSocket 전송 → 브라우저 디코딩까지 최소 3~4 홉을 거치다 보니, 1080p 화면에서 빠른 애니메이션이나 영상 재생은 버벅거린다.
이를 해결하기 위해 WebRTC 기반 원격 데스크톱이 부상했다. Chrome Remote Desktop이 2011년 출시 당시 플러그인에 의존했다가 2017년 WebRTC로 전면 전환한 사례가 대표적이다. WebRTC는 P2P UDP 스트리밍을 지원하기 때문에 이론적으로는 50ms 이하 지연이 가능하다.
다만 WebRTC도 만능이 아니다. 기업 방화벽 환경에서 STUN/TURN 서버 없이는 P2P 연결 자체가 뚫리지 않는 경우가 많다. TURN 서버를 경유하는 순간 지연 이점이 반감된다. 이 때문에 실제 엔터프라이즈 환경에서는 WebSocket 기반 게이트웨이를 여전히 선호한다.
화면 인코딩 기술의 진화
웹 기반 원격 데스크톱에서 대역폭 vs 화질의 균형을 맞추는 것은 인코딩 알고리즘이 담당한다. 주요 방식은 세 가지다.
Tight 인코딩은 VNC에서 사용하는 방식으로, 화면을 타일로 분할하고 각 타일을 JPEG 또는 PNG로 개별 압축한다. CPU 부하가 낮지만 고해상도에서 화질이 열화된다.
H.264/H.265 스트리밍은 원격 서버 측에서 화면 전체를 비디오 스트림으로 인코딩해 전송한다. GPU 가속이 지원되면 4K 화면도 10~20 Mbps 안에 들어온다. AWS WorkSpaces, Azure Virtual Desktop이 채택한 방식이다.
WebP + Delta Compression 조합은 Guacamole v1.4 이후 기본 전략이다. 정적 영역은 WebP로 압축하고, 변화한 영역만 XOR 차분으로 전송한다.
보안 설계의 핵심
원격 데스크톱은 공격자에게 가장 매력적인 침입 경로다. 2021년 CISA 보고서에 따르면, 랜섬웨어 초기 침투 벡터의 37%가 RDP였다. 웹 기반 아키텍처는 이 위험을 어떻게 다루는가.
제대로 설계된 시스템이라면 제로 트러스트 게이트웨이 패턴을 따른다. 사용자 인증(SAML/OIDC)과 세션 토큰 발급이 원격 연결과 분리된 계층에서 이뤄지고, 내부 머신은 게이트웨이 IP만 허용한 화이트리스트로 보호된다. 클립보드 동기화, 파일 전송, USB 리다이렉션은 정책에 따라 개별 온오프가 가능해야 한다.
Cloudflare Zero Trust(구 Cloudflare Access)가 Guacamole와 조합되는 사례가 2023년 이후 급증한 배경이 여기 있다. VPN 없이 브라우저만으로 내부 원격 데스크톱에 접근하되, 모든 세션을 중앙 로그로 남기는 구조다.
현재의 쟁점
2026년 현재, 이 분야의 논쟁은 두 방향으로 갈린다. 하나는 로컬 GPU 가속의 웹 지원이다. WebGPU 표준이 Chrome 113에서 기본 활성화되면서, 원격 화면을 브라우저에서 GPU로 디코딩하는 경로가 열렸다. 이론적으로는 CAD·영상 편집 같은 그래픽 집약 작업도 웹 기반 원격으로 처리할 수 있게 된다.
다른 하나는 스트리밍 vs 컴퓨팅 오프로드의 경계 소멸이다. AWS의 AppStream 2.0이나 Parsec(2021년 Unity 인수)은 "원격 데스크톱"보다 "클라우드 PC"에 가까운 개념으로 진화하고 있다. 브라우저가 단순 뷰어가 아니라 연산 일부를 분담하는 하이브리드 모델이다. 이 방향이 확장되면, 웹 기반 원격 데스크톱과 클라우드 네이티브 앱의 경계가 사라질 수 있다.
브라우저로 다른 컴퓨터를 조종한다? 웹 원격 데스크톱의 구조
"내 컴퓨터가 집에 있는데 카페에서 거기 있는 파일을 열어야 해." 이런 상황, 생각해본 적 있을 것이다. 웹 기반 원격 데스크톱은 이걸 인터넷 브라우저 하나로 해결해 주는 기술이다. 그런데 그 안에서 데이터가 어떻게 오가는지 알면, 단순히 "신기한 기능" 이상이라는 게 보인다.
화면을 "전송"한다는 게 무슨 뜻인가
원격 데스크톱의 원리는 이렇다. 조종받는 컴퓨터(원격 컴퓨터)가 자신의 화면을 이미지 데이터로 만들어 네트워크로 전송하고, 조종하는 쪽(내 브라우저)이 그 이미지를 받아 화면에 띄운다. 내가 마우스를 클릭하거나 키보드를 누르면, 그 입력 신호가 반대 방향으로 전송된다.
문제는 화면 전체를 매 순간 보내면 데이터가 어마어마하다는 점이다. 1080p 화면 한 장이 PNG 기준 약 2~5MB인데, 초당 30장을 보내면 150MB/s가 필요하다. 그래서 실제로는 바뀐 부분만 골라 전송하는 방식을 쓴다. 배경이 그대로고 마우스 커서만 움직였다면, 커서 위치 정보만 보내는 식이다.
브라우저가 RDP를 못 쓰는 이유
원격 데스크톱의 표준 프로토콜은 RDP(마이크로소프트)와 VNC다. 두 프로토콜 모두 서버의 특정 포트(RDP는 3389번)로 직접 연결해야 한다. 그런데 브라우저는 보안 때문에 임의 포트로 직접 TCP 연결을 열 수 없게 막혀 있다. 은행 사이트를 열었는데 그 사이트가 내 컴퓨터의 다른 포트에 몰래 접속하면 문제가 되니까.
이 벽을 넘기 위해 나온 해법이 게이트웨이 서버 구조다.
게이트웨이가 중간에서 번역한다
웹 기반 원격 데스크톱은 중간에 게이트웨이 서버를 둔다. 흐름을 정리하면 이렇다.
내 브라우저 → (WebSocket으로) 게이트웨이 서버 → (RDP/VNC로) 원격 컴퓨터
브라우저는 게이트웨이와만 통신한다. 게이트웨이가 브라우저 메시지를 RDP/VNC 명령으로 번역해 원격 컴퓨터에 전달하고, 원격 컴퓨터의 화면 데이터를 다시 브라우저 포맷으로 번역해서 돌려준다.
Apache Guacamole이라는 오픈소스 프로젝트가 이 방식의 대표주자다. 2013년에 공개됐고, 지금도 많은 회사의 내부 원격 접속 시스템에 깔려 있다.
WebSocket은 한번 연결을 열어두고 양방향으로 계속 데이터를 주고받을 수 있는 기술이다. 일반 HTTP가 "요청-응답" 구조라면, WebSocket은 전화 통화처럼 연결을 유지하면서 실시간 교환이 가능하다. 원격 데스크톱처럼 계속 화면이 바뀌는 환경에 딱 맞는다.
더 빠른 방식: WebRTC
WebSocket 방식의 단점은 지연이다. 데이터가 브라우저 → 게이트웨이 → 원격 컴퓨터를 거쳐서 돌아오기 때문에, 빠른 게임이나 영상 작업엔 버벅임이 생긴다.
이를 보완하는 기술이 WebRTC다. 이 방식은 게이트웨이를 거치지 않고 두 컴퓨터가 직접 데이터를 주고받는다. 유튜브 라이브나 화상회의(Google Meet, Zoom 웹 버전)가 WebRTC를 쓴다. Chrome Remote Desktop이 2017년에 이 방식으로 전환한 뒤 체감 속도가 크게 개선됐다.
단점은 기업 방화벽 환경에서 뚫기 어렵다는 것이다. 그래서 학교나 회사에서는 여전히 게이트웨이 방식을 많이 쓴다.
보안은 어떻게
원격 데스크톱은 "내 컴퓨터를 인터넷에 여는" 행위이기 때문에 보안이 중요하다. 실제로 2021년 미국 정부 보고서에서 랜섬웨어(파일 잠금 악성코드)의 37%가 원격 데스크톱 취약점을 통해 침투했다고 밝혔다.
웹 기반 구조는 이 위험을 낮추는 데 유리하다. 원격 컴퓨터의 실제 주소가 브라우저에 노출되지 않고 게이트웨이 뒤에 숨어 있기 때문이다. 로그인 인증도 여러 단계로 쌓을 수 있다(예: 아이디·비밀번호 + 스마트폰 인증).
원격 데스크톱은 단순한 편의 기능이 아니라, 클라우드 시대에 "어디서나 일한다"는 개념을 기술적으로 뒷받침하는 핵심 인프라다.
인터넷으로 다른 컴퓨터를 원격조종하는 방법
텔레비전 리모컨으로 소파에 앉아서 채널을 바꾸듯이, 인터넷으로 멀리 있는 컴퓨터를 조종할 수 있다. 이걸 "원격 데스크톱"이라고 한다. 그런데 어떻게 인터넷 브라우저 하나로 다른 컴퓨터를 조종할 수 있을까?
화면을 사진으로 찍어서 보낸다
원격 컴퓨터는 자기 화면을 아주 빠르게 사진으로 찍는다. 그 사진을 인터넷으로 내 컴퓨터에 보내주면, 내 브라우저가 그걸 화면에 보여준다. 나는 그 화면을 보면서 마우스를 클릭하거나 키보드를 누른다. 내가 한 동작이 다시 원격 컴퓨터로 전달되고, 원격 컴퓨터가 그 동작을 실행한다.
예를 들면 이런 식이다.
1. 집 컴퓨터 화면을 찰칵 찍어서 카페에 있는 나한테 보낸다
2. 나는 그 화면을 보고 파일을 클릭한다
3. "파일 클릭" 신호가 집 컴퓨터로 전송된다
4. 집 컴퓨터가 파일을 열고 새 화면을 다시 찍어서 보낸다
이 과정이 1초에 수십 번 반복되어서 마치 내가 직접 집 컴퓨터 앞에 앉아 있는 것처럼 느껴진다.
중간에서 번역해 주는 친구가 있다
사실 브라우저는 혼자서 다른 컴퓨터에 직접 연결할 수가 없다. 마치 영어를 모르는 사람이 미국 친구와 바로 대화하기 어려운 것처럼.
그래서 중간에 게이트웨이 서버라는 친구가 들어온다. 이 친구는 두 언어를 다 안다. 브라우저의 말을 원격 컴퓨터의 말로 번역해 주고, 반대로도 번역해 준다.
브라우저 → 게이트웨이(번역) → 원격 컴퓨터
덕분에 나는 그냥 평범한 웹사이트 접속하듯이 원격 컴퓨터를 조종할 수 있다.
달라진 부분만 보낸다
생각해보면 화면이 다 바뀌는 건 아니다. 문서를 읽을 때 글씨는 그대로고 마우스 커서만 움직이기도 한다. 그럴 때 화면 전체를 보내는 건 낭비다.
그래서 영리하게 바뀐 부분만 보낸다. 마우스만 움직였으면 마우스 위치 정보만, 창이 열렸으면 그 창 부분만 전송한다. 이렇게 하면 인터넷 속도가 느려도 원격 조종이 잘 된다.
진짜로 쓰이는 곳
이 기술은 생각보다 우리 가까이 있다.
부모님이 회사 컴퓨터에 집에서 연결할 때, 선생님이 학생 컴퓨터 화면을 보면서 도와줄 때, 컴퓨터 수리 기사가 멀리서 내 컴퓨터 문제를 고쳐줄 때 모두 이 기술을 쓴다. 심지어 클라우드 게임 서비스(원격 컴퓨터에서 게임을 돌리고 화면만 받아보는 방식)도 같은 원리다.
멀리 있는 컴퓨터를 내 손처럼 움직일 수 있다는 건, 인터넷이 그냥 정보를 보는 곳이 아니라 진짜로 무언가를 할 수 있는 공간으로 바뀌었다는 뜻이다.
문서 정보
최초 작성
최종 갱신
분류
기술
HANGUL.WIKI가 정리·작성한 문서입니다. 정확성을 위해 노력하나 오류가 있을 수 있으므로, 중요한 내용은 공식 출처를 통해 확인하시기 바랍니다.
내용의 오류나 정정 요청은 오류·정정 신고로 알려주시면 검토 후 반영합니다.