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