RDP(원격 데스크톱 프로토콜) 이해
이 문서에서는 터미널 서버와 터미널 서버 클라이언트 간의 통신에 사용되는 RDP(원격 데스크톱 프로토콜)에 대해 설명합니다. RDP는 TCP 내에서 캡슐화되고 암호화됩니다.
원래 KB 번호: 186607
요약
RDP는 T-120 프로토콜 표준 제품군을 기반으로 하며 확장입니다. 다중 채널 지원 프로토콜을 사용하면 별도의 가상 채널에서 다음 정보를 전달할 수 있습니다.
- 프레젠테이션 데이터
- 직렬 디바이스 통신
- 라이선스 정보
- 고도로 암호화된 데이터(예: 키보드, 마우스 작업)
RDP는 핵심 T.Share 프로토콜의 확장입니다. 다중 지점(다중 파티 세션)을 지원하는 데 필요한 아키텍처 기능과 같은 몇 가지 다른 기능은 RDP의 일부로 유지됩니다. 멀티포인트 데이터 배달을 사용하면 애플리케이션의 데이터를 가상 화이트보드와 같은 여러 당사자에게 실시간으로 배달할 수 있습니다. 각 세션에 동일한 데이터를 개별적으로 보낼 필요는 없습니다.
Windows 터미널 Server의 첫 번째 릴리스에서는 안정적이고 빠른 지점 간(단일 세션) 통신을 제공하는 데 집중하고 있습니다. 터미널 서버 4.0의 초기 릴리스에서는 하나의 데이터 채널만 사용됩니다. 그러나 RDP의 유연성은 향후 제품의 기능을 위한 충분한 공간을 제공합니다.
Microsoft가 Windows NT 터미널 서버 내에서 연결을 위해 RDP를 구현하기로 결정한 이유 중 하나는 더 많은 기능을 빌드하기 위한 확장 가능한 기반을 제공하기 때문입니다. RDP는 데이터 전송을 위해 64,000개의 별도 채널을 제공합니다. 그러나 현재 전송 활동은 단일 채널(키보드, 마우스 및 프레젠테이션 데이터용)만 사용합니다.
RDP는 ISDN, POTS와 같은 다양한 유형의 네트워크 토폴로지에서 지원하도록 설계되었습니다. RDP는 IPX, NetBIOS, TCP/IP와 같은 많은 LAN 프로토콜을 지원하도록 설계되었습니다. RDP의 현재 버전은 TCP/IP를 통해서만 실행됩니다. 고객 피드백을 통해 이후 버전에서 다른 프로토콜 지원이 추가될 수 있습니다.
RDP 스택을 통해 데이터를 보내고 받는 작업은 기본적으로 현재 일반적인 LAN 네트워킹에 대한 7계층 OSI 모델 표준과 동일합니다. 전송할 애플리케이션 또는 서비스의 데이터는 프로토콜 스택을 통해 전달됩니다. 섹션화되고, 채널(MCS를 통해)으로 이동되고, 암호화되고, 래핑되고, 프레임화되고, 네트워크 프로토콜에 패키지되고, 마지막으로 주소를 지정하고, 네트워크를 통해 클라이언트로 전송됩니다. 반환된 데이터는 역방향으로만 동일한 방식으로 작동합니다. 패킷의 주소가 제거된 다음 래핑 해제, 암호 해독 등입니다. 마지막으로 사용할 데이터가 애플리케이션에 표시됩니다. 프로토콜 스택 수정의 주요 부분은 데이터가 있는 네 번째 계층과 일곱 번째 계층 간에 발생합니다.
- 암호화됩니다.
- 감싸
- 프레임
- 채널로 리디렉션됨
- 우선 순위
애플리케이션 개발자의 핵심 포인트 중 하나는 RDP를 사용할 때 Microsoft가 프로토콜 스택 처리의 복잡성을 추상화했다는 것입니다. 이를 통해 깨끗하고 잘 디자인된 잘 동작하는 32비트 애플리케이션을 작성할 수 있습니다. 그런 다음 터미널 서버 및 해당 클라이언트 연결에서 구현된 RDP 스택이 나머지를 처리합니다.
터미널 서버에서 애플리케이션이 상호 작용하는 방법과 Windows 터미널 Server 인프라용 애플리케이션을 개발할 때 알아야 할 사항에 대한 자세한 내용은 다음 백서를 참조하세요.
Windows NT Server 4.0, Terminal Server Edition용 애플리케이션 최적화
RDP 스택 인스턴스 내에서 논의할 가치가 있는 네 가지 구성 요소는 다음과 같습니다.
- MCSMUX(Multipoint Communication Service)
- GCC(일반 회의 컨트롤)
- Wdtshare.sys
- Tdtcp.sys
MCSmux 및 GCC는 ITU(International Telecommunication Union) T.120 제품군의 일부입니다. MCS는 다음 두 가지 표준으로 구성됩니다.
- T.122: 멀티포인트 서비스를 정의합니다.
- T.125: 데이터 전송 프로토콜을 지정합니다.
MCSMux 컨트롤:
- 프로토콜 내에서 미리 정의된 가상 채널에 데이터를 멀티플렉싱하여 채널 할당
- 우선 순위 수준
- 전송되는 데이터의 분할
기본적으로 GCC의 관점에서 여러 RDP 스택을 단일 엔터티로 추상화합니다. GCC는 이러한 여러 채널의 관리를 담당합니다. GCC를 사용하면 세션 연결을 만들고 삭제할 수 있으며 MCS에서 제공하는 리소스를 제어할 수 있습니다. 각 터미널 서버 프로토콜(현재 RDP 및 Citrix의 ICA만 지원됨)에는 프로토콜 스택 인스턴스가 로드됩니다(연결 요청을 기다리는 수신기 스택). 터미널 서버 디바이스 드라이버는 RDP 프로토콜 작업을 조정하고 관리합니다. 더 작은 구성 요소로 구성됩니다.
- UI 전송, 압축, 암호화, 프레이밍 등에 대한 RDP 드라이버(Wdtshare.sys)입니다.
- 프로토콜을 기본 네트워크 프로토콜인 TCP/IP에 패키지하는 전송 드라이버(Tdtcp.sys)입니다.
RDP는 기본 전송 스택(이 경우 TCP/IP)에 완전히 독립적으로 개발되었습니다. 이는 고객이 필요로 하는 다른 네트워크 프로토콜에 대한 다른 전송 드라이버를 추가할 수 있다는 것을 의미하며, 프로토콜의 기본 부분에는 거의 또는 전혀 큰 변화가 없습니다. 네트워크에서 RDP의 성능 및 확장성의 핵심 요소입니다.