在Windows Server 2008 R2和Windows 7發(fā)布后,RDS(遠程桌面服務)和RDC(遠程桌面客戶端)都有一些設計與架構上的改變,今天碎片主要向大家介紹遠程桌面服務架構。讓我們先來看看傳統(tǒng)方式的RDP。RDP是面向連接的無損、分層二進制編碼和傳輸協(xié)議。RDP層起源于微軟的NetMeeting項目,但它也是國際標準(ITU)的派產物。隨著RDP的發(fā)展,其性能不佳及受數(shù)據(jù)包封裝效率等影響,已經顯著偏離了ITU標準。目前RDP已經做出許多核心設計和架構方向的變化和改進來進行性能優(yōu)化和提升——以優(yōu)化的編/解碼速度來進行帶寬限制和優(yōu)化,并對許多關鍵協(xié)議的架構都進行了重新設計,以確保對資源的占用最少并達到利用率最高。
服務器推送模式的RDP協(xié)議圖形流,通過松散更新的機會來增加服務器并合并多個更新到同一輸出數(shù)據(jù)包。RPD協(xié)議驅動使用計劃接收程序來接收用戶輸入活動(鼠標/鍵盤),并加速圖形輸出以更流暢的實現(xiàn)交互式用戶體驗。RDP帶寬限制根據(jù)不同場景采用可變的設計和選擇,以確保傳輸帶寬的“安靜”(無活動連接或其它數(shù)據(jù)包時,桌面不刷新)。下圖為傳統(tǒng)RDP架構了圖:
這種落后的協(xié)議和傳輸模式并不支持即插即用接口、微軟目前部署的RDP over TCP、TS 網(wǎng)關(RDP over HTTPS 機制)和Windows Live Tunnel(使用RDP的GoToMyPC服務)。Windows 7中的RDP安全層主要是基于SSL前端認證層,這充分利用了操作系統(tǒng)的通過SSL加密協(xié)議的CredSSP庫來實現(xiàn)Kerberos和NTLM之間的交互,并可以采用SSL的多種加密算法,如RC4、DES和AES FIPS。
RDP協(xié)議流包括一組由多路RDP協(xié)議連接到一個虛擬通道(VC)的設置,虛擬通道(VC)是一個可擴展機制,它同時允許內部的RDP添加新功能,并同時開放給第三方以允許其為RDP添加附加功能和價值。例如,第三方廠商可以為客戶端硬件向RDP設備添加自定義的重定向功能。虛擬通道連接由客戶端插件、服務器組件,溝通TS API虛擬通道和協(xié)議流虛擬通道共同創(chuàng)建。RPD提供者程序同時服務于虛擬通道的壓縮、安全、多路技術和虛擬通道優(yōu)化等功能。
大容量壓縮層使用Lempel-Ziv(類似LZ架構)實現(xiàn)了基于各種壓縮機制的方式,這些虛擬通道流壓縮技術實現(xiàn)了虛擬通道協(xié)議本身的特殊架構。通過各方的測試和統(tǒng)計表明,這項壓縮技術可以為RDP應用節(jié)約和減少30-80%的帶寬占用。