專利名稱:基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,涉及一種圖形協(xié)議統(tǒng)一代理系統(tǒng),具體的說(shuō)是一種基于 遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng)。
背景技術(shù):
根據(jù)申請(qǐng)人了解,在機(jī)房的服務(wù)器維護(hù)工作中,涉及到通過(guò)TCP網(wǎng)絡(luò),采用圖形方 式遠(yuǎn)程訪問(wèn)服務(wù)器,通常使用的方式有遠(yuǎn)程桌面、RFB、XDMCP等方式。遠(yuǎn)程桌面協(xié)議(RDP)允許您遠(yuǎn)程訪問(wèn)計(jì)算機(jī),多年來(lái),它免除了許多系統(tǒng)管理操 作,無(wú)疑是一項(xiàng)非常有用的技術(shù)。RDP長(zhǎng)期以來(lái)一直提供遠(yuǎn)程訪問(wèn)支持,而且越來(lái)越好。該協(xié) 議于 1998 年在 Windows NT 4. OTerminal Server Edition (TSE)中引入,自此以后,幾乎在 Windows 的每個(gè)發(fā)行版本中都有所改進(jìn)。從Windows 2000開(kāi)始,幾乎任何人都可以輕松地 遠(yuǎn)程訪問(wèn)服務(wù)器系統(tǒng),因?yàn)榻K端服務(wù)已作為可選的Windows組件引入,并且可以對(duì)其進(jìn)行 配置,因此您可以將系統(tǒng)用作實(shí)際的終端服務(wù)器或用作我們現(xiàn)在所說(shuō)的遠(yuǎn)程桌面。Windows Server 2003和Windows XP提供本機(jī)遠(yuǎn)程桌面功能,允許您像在本地進(jìn)行控制一樣控制 系統(tǒng)?,F(xiàn)在,我每天都使用遠(yuǎn)程桌面遠(yuǎn)程訪問(wèn)我的家庭PC和服務(wù)器及使用Media Center Extender。Windows XP和更高版本的Windows中增加了遠(yuǎn)程協(xié)助,遠(yuǎn)程協(xié)助可提供與遠(yuǎn)程 桌面相似的體驗(yàn),但遠(yuǎn)程協(xié)助是專門(mén)為本地用戶向遠(yuǎn)程用戶請(qǐng)求協(xié)助而設(shè)計(jì)的。隨著遠(yuǎn)程 訪問(wèn)支持的不斷演變,Windows Vista· 現(xiàn)在允許遠(yuǎn)程用戶提供遠(yuǎn)程協(xié)助。RFB協(xié)議基于RFB (Remote Frame Bufer)協(xié)議,RFB提供了一個(gè)簡(jiǎn)單的協(xié)議,用來(lái) 進(jìn)行遠(yuǎn)程的圖形界面控制。由于它是基于Frame Bufer層次,所以可以應(yīng)用于所有的操作 系統(tǒng)平臺(tái)及應(yīng)用,例如X Windows,MS Windows和Macintosh等,它是基于TCP/IP的傳輸協(xié) 議上的一個(gè)簡(jiǎn)單的圖形界面?zhèn)鬏攨f(xié)議。XDMCP系統(tǒng)也是一個(gè)基于客戶/服務(wù)器(Client/Server)結(jié)構(gòu)的窗口系統(tǒng),在誕 生之初是UNIX系統(tǒng)上使用的圖形用戶界面,沒(méi)有PC版,它允許在任一臺(tái)UNIX主機(jī)(客戶 端)上運(yùn)行程序,而在基于X的終端(服務(wù)器)上顯示出來(lái)。X Window系統(tǒng)系統(tǒng)是目前最 常用的免費(fèi)圖形系統(tǒng),配置在大多數(shù)的UNIX系統(tǒng)、DEC的VAX/VMS操作系統(tǒng)以及Linux系統(tǒng) 中,在后期又有了 XFree86開(kāi)發(fā)計(jì)劃,其主要目的就是提供一個(gè)PC版的X窗口,主要移植到 Intel的x86體系架構(gòu)的處理器上,所以也稱作是XFree86計(jì)劃,它雖然不是以GPL授權(quán),但 是也可以自由拷貝以及傳播,也可以使用在商業(yè)用途上。現(xiàn)有技術(shù)中,沒(méi)有一種統(tǒng)一的代理系統(tǒng),可以方便機(jī)房管理人員使用單一的客戶 端工具(運(yùn)程桌面客戶端),即可對(duì)支持遠(yuǎn)程訪問(wèn)(RDP、RFBXDMCP)的服務(wù)器進(jìn)行訪問(wèn)操作。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)以上現(xiàn)有技術(shù)存在的缺點(diǎn),提出一種基于遠(yuǎn) 程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),可以方便機(jī)房管理人員使用單一的客戶端工具, 即可對(duì)支持遠(yuǎn)程訪問(wèn)的服務(wù)器進(jìn)行訪問(wèn)操作。
本發(fā)明解決以上技術(shù)問(wèn)題的技術(shù)方案是基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),包括遠(yuǎn)程桌面客戶端、遠(yuǎn)程桌面 協(xié)議代理模塊、遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊、遠(yuǎn)程桌面協(xié)議 與XDMCP協(xié)議兼容模塊、遠(yuǎn)程桌面服務(wù)器、RFB服務(wù)器和XDMCP服務(wù)器;遠(yuǎn)程桌面客戶端與 遠(yuǎn)程桌面協(xié)議代理模塊之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,遠(yuǎn)程桌面協(xié)議代理模塊與遠(yuǎn)程桌面協(xié) 議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊以及遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊 之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊與遠(yuǎn)程桌面服務(wù)器之間通過(guò)遠(yuǎn)程桌面 協(xié)議通信,RFB服務(wù)器與遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊之間通過(guò)RFB協(xié)議通信,XDMCP 服務(wù)器與遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊之間通過(guò)XDMCP協(xié)議通信;遠(yuǎn)程桌面協(xié)議代 理模塊使用遠(yuǎn)程桌面協(xié)議,構(gòu)建一個(gè)遠(yuǎn)程桌面服務(wù)框架,支持遠(yuǎn)程桌面客戶端登錄到該模 塊,并提供登錄向?qū)В龑?dǎo)用戶登錄后臺(tái)服務(wù)器;遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊將遠(yuǎn)程 桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成RFB協(xié)議請(qǐng)求,并發(fā)送到RFB服務(wù)器,同時(shí),將RFB 服務(wù)器應(yīng)答的RFB協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程桌面客戶端,完成 一個(gè)完整的協(xié)議代理過(guò)程;遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊將遠(yuǎn)程桌面客戶端的遠(yuǎn)程 桌面協(xié)議請(qǐng)求轉(zhuǎn)換成XDMCP協(xié)議請(qǐng)求,并發(fā)送到XDMCP服務(wù)器,同時(shí),將XDMCP服務(wù)器應(yīng)答 的XDMCP協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程桌面客戶端,完成一個(gè)完整 的XDMCP協(xié)議代理過(guò)程。本發(fā)明進(jìn)一步限定的技術(shù)方案是 前述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),遠(yuǎn)程桌面協(xié)議代理模塊包 括網(wǎng)絡(luò)連接層用于定義一個(gè)完事的RDP數(shù)據(jù)邏輯包,以避免由于網(wǎng)絡(luò)包長(zhǎng)度過(guò)長(zhǎng)而被分 割使數(shù)據(jù)丟失;ISO數(shù)據(jù)層設(shè)在網(wǎng)絡(luò)連接層之上,用于表示RDP數(shù)據(jù)的正常連接通信;虛 擬通道層設(shè)在ISO數(shù)據(jù)層之上,用于定義一個(gè)虛擬通道層,以拆分標(biāo)示不同虛擬通道的數(shù) 據(jù),加快客戶端處理速度,節(jié)省占用網(wǎng)絡(luò)接口的時(shí)間;加密解密層設(shè)在虛擬通道層之上, 用于定義一個(gè)數(shù)據(jù)加密解密層,對(duì)所有的功能數(shù)據(jù)進(jìn)行加密和解密處理;功能數(shù)據(jù)層設(shè) 在加密解密層之上,用于進(jìn)行畫(huà)面信息、本地資源轉(zhuǎn)換、聲音數(shù)據(jù)、打印數(shù)據(jù)的處理。前述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊包 括網(wǎng)絡(luò)通訊子模塊與遠(yuǎn)程桌面服務(wù)建立TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù)據(jù)包; 多點(diǎn)并發(fā)式通信子模塊本子模塊屬于功能層,其作用是支持聲音、畫(huà)面等多通道的并發(fā)處 理,在一個(gè)TCP通訊上支持多種格式的數(shù)據(jù)通訊;安全處理子模塊將通訊中的數(shù)據(jù)進(jìn)行加 /解密,保障數(shù)據(jù)通訊的安全性。前述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),遠(yuǎn)程桌面協(xié)議與RFB協(xié)議 兼容模塊包括網(wǎng)絡(luò)通訊子模塊與遠(yuǎn)程桌面服務(wù)建立TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā) TCP數(shù)據(jù)包;RDP協(xié)議與RFB翻譯子模塊將RDP協(xié)議數(shù)據(jù)翻譯成RFB協(xié)議數(shù)據(jù),并通過(guò)網(wǎng)絡(luò) 通訊子模塊發(fā)送給RFB服務(wù)器,同時(shí),將RFB服務(wù)器返回的RFB協(xié)議格式數(shù)據(jù)翻譯成RDP協(xié) 議格式,通過(guò)遠(yuǎn)程桌面協(xié)議代理模塊轉(zhuǎn)發(fā)給遠(yuǎn)程桌面客戶端。前述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),遠(yuǎn)程桌面協(xié)議與XDMCP協(xié) 議兼容模塊包括網(wǎng)絡(luò)通訊子模塊與遠(yuǎn)程桌面服務(wù)建立TCP通訊通道,并基于SOCKET轉(zhuǎn) 發(fā)TCP數(shù)據(jù)包;RDP協(xié)議與XDMCP翻譯子模塊將RDP協(xié)議數(shù)據(jù)翻譯成XDMCP協(xié)議數(shù)據(jù),并 通過(guò)網(wǎng)絡(luò)通訊子模塊發(fā)送給XDMCP服務(wù)器,同時(shí),將XDMCP服務(wù)器返回的XDMCP協(xié)議格式數(shù)
5據(jù)翻譯成RDP協(xié)議格式,通過(guò)遠(yuǎn)程桌面協(xié)議代理模塊轉(zhuǎn)發(fā)給遠(yuǎn)程桌面客戶端。本發(fā)明的優(yōu)點(diǎn)是本發(fā)明通過(guò)使用統(tǒng)一代理技術(shù),建立一個(gè)代理服務(wù)系統(tǒng),方便機(jī) 房管理人員使用單一的客戶端工具(運(yùn)程桌面客戶端),即可對(duì)支持遠(yuǎn)程訪問(wèn)(RDP、RFB、 XDMCP)的服務(wù)器進(jìn)行訪問(wèn)操作。本發(fā)明與RFB、XDMCP協(xié)議相比,RDP協(xié)議采用了通訊加密 的技術(shù),可以降低網(wǎng)絡(luò)層數(shù)據(jù)泄密的可能性,提高了業(yè)務(wù)數(shù)據(jù)的安全性;另外,通過(guò)統(tǒng)一的 代理,本發(fā)明可以實(shí)現(xiàn)對(duì)業(yè)務(wù)操作進(jìn)行統(tǒng)一審計(jì),為業(yè)務(wù)操作的事后審計(jì)提供了良好的技 術(shù)基石出。
圖1是本發(fā)明的模塊連接框圖。
具體實(shí)施例方式實(shí)施例一本發(fā)明是一種基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),其模塊連接如圖1 所示,本發(fā)明通過(guò)使用統(tǒng)一代理技術(shù),建立一個(gè)代理服務(wù)系統(tǒng),方便機(jī)房管理人員使用單一 的客戶端工具(運(yùn)程桌面客戶端),即可對(duì)支持遠(yuǎn)程訪問(wèn)(RDP、RFBXDMCP)的服務(wù)器進(jìn)行訪 問(wèn)操作。本發(fā)明的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),具體模塊包括遠(yuǎn)程桌面 客戶端、遠(yuǎn)程桌面協(xié)議代理模塊、遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模 塊、遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊、遠(yuǎn)程桌面服務(wù)器、RFB服務(wù)器和XDMCP服務(wù)器; 遠(yuǎn)程桌面客戶端與遠(yuǎn)程桌面協(xié)議代理模塊之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,遠(yuǎn)程桌面協(xié)議代理 模塊與遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊以及遠(yuǎn)程桌面協(xié)議與 XDMCP協(xié)議兼容模塊之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊與遠(yuǎn)程桌面服務(wù) 器之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,RFB服務(wù)器與遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊之間通過(guò) RFB協(xié)議通信,XDMCP服務(wù)器與遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊之間通過(guò)XDMCP協(xié)議通 信;遠(yuǎn)程桌面協(xié)議代理模塊使用遠(yuǎn)程桌面協(xié)議,構(gòu)建一個(gè)遠(yuǎn)程桌面服務(wù)框架,支持遠(yuǎn)程桌面 客戶端登錄到該模塊,并提供登錄向?qū)В龑?dǎo)用戶登錄后臺(tái)服務(wù)器;遠(yuǎn)程桌面協(xié)議與RFB協(xié) 議兼容模塊將遠(yuǎn)程桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成RFB協(xié)議請(qǐng)求,并發(fā)送到RFB服 務(wù)器,同時(shí),將RFB服務(wù)器應(yīng)答的RFB協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程 桌面客戶端,完成一個(gè)完整的協(xié)議代理過(guò)程;遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊將遠(yuǎn)程 桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成XDMCP協(xié)議請(qǐng)求,并發(fā)送到XDMCP服務(wù)器,同時(shí),將 XDMCP服務(wù)器應(yīng)答的XDMCP協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程桌面客戶 端,完成一個(gè)完整的XDMCP協(xié)議代理過(guò)程。遠(yuǎn)程桌面協(xié)議代理模塊包括網(wǎng)絡(luò)連接層用于定義一個(gè)完事的RDP數(shù)據(jù)邏輯包, 以避免由于網(wǎng)絡(luò)包長(zhǎng)度過(guò)長(zhǎng)而被分割使數(shù)據(jù)丟失;ISO數(shù)據(jù)層設(shè)在網(wǎng)絡(luò)連接層之上,用于 表示RDP數(shù)據(jù)的正常連接通信;虛擬通道層設(shè)在ISO數(shù)據(jù)層之上,用于定義一個(gè)虛擬通道 層,以拆分標(biāo)示不同虛擬通道的數(shù)據(jù),加快客戶端處理速度,節(jié)省占用網(wǎng)絡(luò)接口的時(shí)間;加 密解密層設(shè)在虛擬通道層之上,用于定義一個(gè)數(shù)據(jù)加密解密層,對(duì)所有的功能數(shù)據(jù)進(jìn)行加 密和解密處理;功能數(shù)據(jù)層設(shè)在加密解密層之上,用于進(jìn)行畫(huà)面信息、本地資源轉(zhuǎn)換、聲音數(shù)據(jù)、打印數(shù)據(jù)的處理。遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊包括網(wǎng)絡(luò)通訊子模塊與遠(yuǎn)程桌面服務(wù)建立TCP通訊通 道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù)據(jù)包;多點(diǎn)并發(fā)式通信子模塊本子模塊屬于功能層,其作用 是支持聲音、畫(huà)面等多通道的并發(fā)處理,在一個(gè)TCP通訊上支持多種格式的數(shù)據(jù)通訊;安全 處理子模塊將通訊中的數(shù)據(jù)進(jìn)行加/解密,保障數(shù)據(jù)通訊的安全性。遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊包括網(wǎng)絡(luò)通訊子模塊與遠(yuǎn)程桌面服務(wù)建立 TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù)據(jù)包;RDP協(xié)議與RFB翻譯子模塊將RDP協(xié)議數(shù) 據(jù)翻譯成RFB協(xié)議數(shù)據(jù),并通過(guò)網(wǎng)絡(luò)通訊子模塊發(fā)送給RFB服務(wù)器,同時(shí),將RFB服務(wù)器返 回的RFB協(xié)議格式數(shù)據(jù)翻譯成RDP協(xié)議格式,通過(guò)遠(yuǎn)程桌面協(xié)議代理模塊轉(zhuǎn)發(fā)給遠(yuǎn)程桌面 客戶端。遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊包括網(wǎng)絡(luò)通訊子模塊與遠(yuǎn)程桌面服務(wù)建 立TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù)據(jù)包;RDP協(xié)議與XDMCP翻譯子模塊將RDP協(xié) 議數(shù)據(jù)翻譯成XDMCP協(xié)議數(shù)據(jù),并通過(guò)網(wǎng)絡(luò)通訊子模塊發(fā)送給XDMCP服務(wù)器,同時(shí),將XDMCP 服務(wù)器返回的XDMCP協(xié)議格式數(shù)據(jù)翻譯成RDP協(xié)議格式,通過(guò)遠(yuǎn)程桌面協(xié)議代理模塊轉(zhuǎn)發(fā) 給遠(yuǎn)程桌面客戶端。各模塊具體的實(shí)施方式遠(yuǎn)程桌面協(xié)議代理模塊該模塊的主要功能是使用遠(yuǎn)程桌面協(xié)議,構(gòu)建一個(gè)遠(yuǎn)程桌面服務(wù)框架,支持遠(yuǎn)程 桌面客戶端登錄到該模塊,并提供登錄向?qū)?,引?dǎo)用戶登錄后臺(tái)服務(wù)器?;旧希琑DP協(xié)議 的每一層次上都標(biāo)示出其層內(nèi)的數(shù)據(jù)長(zhǎng)度值。對(duì)于層次劃分,主要是指RDP協(xié)議網(wǎng)絡(luò)功能 數(shù)據(jù)傳送時(shí)通常都包含的各層次,而對(duì)于各層次內(nèi)所實(shí)現(xiàn)的單層次連接等功能將做為單獨(dú) 的模塊來(lái)進(jìn)行闡述。網(wǎng)絡(luò)連接層RDP協(xié)議建立在TCP/IP協(xié)議之上,由于傳輸?shù)臄?shù)據(jù)量比較大,因此在 協(xié)議的底層首先定義一層網(wǎng)絡(luò)連接層。它定義了一個(gè)完事的RDP數(shù)據(jù)邏輯包,以避免由于 網(wǎng)絡(luò)包長(zhǎng)度過(guò)長(zhǎng)而被分割使數(shù)據(jù)丟失。ISO數(shù)據(jù)層在網(wǎng)絡(luò)連接層之上是ISO數(shù)據(jù)層,它表示RDP數(shù)據(jù)的正常連接通信。虛擬通道層在ISO數(shù)據(jù)層之上,RDP協(xié)議定義一個(gè)虛擬通道層,用以拆分標(biāo)示不 同虛擬通道的數(shù)據(jù),加快客戶端處理速度,節(jié)省占用網(wǎng)絡(luò)接口的時(shí)間。加密解密層在虛擬通道層之上,RDP定義一個(gè)數(shù)據(jù)加密解密層。此層用于對(duì)所有 的功能數(shù)據(jù)進(jìn)行加密、解密處理。功能數(shù)據(jù)層在加密解密層之上是功能數(shù)據(jù),畫(huà)面信息,本地資源轉(zhuǎn)換,聲音數(shù)據(jù), 打印數(shù)據(jù)等所有的功能數(shù)據(jù)信息都在此層進(jìn)行處理。1、網(wǎng)絡(luò)連接層在RDP協(xié)議網(wǎng)絡(luò)實(shí)現(xiàn)連接中,本層的數(shù)據(jù)格式是固定的。
7
內(nèi)容 協(xié)議版本號(hào) 保留 字節(jié)數(shù)11
值 當(dāng)前版本皆是3 0
此邏輯包長(zhǎng)度 2
邏輯長(zhǎng)度,從版本號(hào)幵始到本包 結(jié)束
內(nèi)容
2、ISO數(shù)據(jù)層
在RDP功能數(shù)據(jù)網(wǎng)絡(luò)傳輸中,本層的數(shù)據(jù)格式是固定的。
字節(jié)數(shù) 值
單層數(shù)據(jù)長(zhǎng)度 1
ISO包類型 1
OxfO,表示數(shù)據(jù)
標(biāo)志 1
0x80
2,從下字節(jié)開(kāi)始計(jì)算3、虛擬通道層虛擬通道層用于在正常的網(wǎng)絡(luò)連接數(shù)據(jù)之上,中個(gè)虛擬通道的功能數(shù)據(jù)。此層次 的連接另見(jiàn)初始連接模塊與通道申請(qǐng)模塊,在此只說(shuō)明正常數(shù)據(jù)連接時(shí)的層次結(jié)構(gòu)。1)結(jié)構(gòu)信息
內(nèi)容
類型 虛擬通道個(gè)數(shù) 字節(jié)數(shù)12
0x0001
虛擬通道號(hào) 2
0x03eb 至 0x03ee
標(biāo)志 1
0x70/0xf0
值 0x64/0x682)類型說(shuō)明0x64 客戶端發(fā)送數(shù)據(jù);0x68 客戶端接收數(shù)據(jù);3)用戶號(hào)說(shuō)明本次連接的用戶號(hào),服務(wù)器發(fā)送的是0x0001 ;客戶端所發(fā)送的值是初始連接時(shí)請(qǐng) 示通道后服務(wù)器同意開(kāi)通的虛擬個(gè)數(shù)。4)虛擬通道號(hào)說(shuō)明虛擬通道號(hào)是本層次以上所發(fā)送的功能數(shù)據(jù)所在的虛擬通道號(hào),其由初始連接通 道申請(qǐng)建立時(shí)確定。5)標(biāo)志說(shuō)明客戶端發(fā)送的標(biāo)志為0x70 ;服務(wù)器端發(fā)送的標(biāo)志,當(dāng)功能數(shù)據(jù)是圖像是(由通道 號(hào)識(shí)別),其值為0x70,當(dāng)功能數(shù)據(jù)是其它數(shù)據(jù)時(shí),其值為OxfO。4、加密解密層加密解密層用于對(duì)網(wǎng)絡(luò)連接中所發(fā)送、接收的數(shù)據(jù)進(jìn)行加密、解密。為保證數(shù)據(jù)和系統(tǒng)的安全性,對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行加密傳輸是比較常用且必然的,RDP 協(xié)議在此層對(duì)實(shí)際的功能數(shù)據(jù)進(jìn)行加密。1)結(jié)構(gòu)信息
內(nèi)容單層及層上數(shù)據(jù)總長(zhǎng)度加密標(biāo)志未知標(biāo)志數(shù)字簽名
字節(jié)數(shù)1-2228
值從下字節(jié)開(kāi)始計(jì)算0x08000x1000/0x0203順序取得2)總長(zhǎng)度說(shuō)明若長(zhǎng)度大于0x7f,則長(zhǎng)度以兩字節(jié)表示,并按位與0x8000。這是由于版本升級(jí)贊 成的格式不統(tǒng)一,長(zhǎng)度不定,當(dāng)前版本認(rèn)為長(zhǎng)度值不大于OxOfff (4095)因此只用長(zhǎng)度值并 按位與0x8000實(shí)現(xiàn)版本兼容,在版本升級(jí)后會(huì)以O(shè)xSx表示長(zhǎng)度值的字節(jié)數(shù),其中8表示非 1字節(jié),χ表示具體的字節(jié)個(gè)數(shù)。3)加密標(biāo)志說(shuō)明RDP協(xié)議要求在正常的功能連接實(shí)現(xiàn)之前,首先licence認(rèn)證,其標(biāo)志為0χ8χχχ, 且其后數(shù)據(jù)不同于正常功能數(shù)據(jù)傳輸式的加密層格式,可以視licence認(rèn)證為加密解密層 的建立連接過(guò)程。另外功能數(shù)據(jù)的加密、解密的密鑰是在初始連接時(shí)獲得的,而加密解密功 能的實(shí)現(xiàn)由加密、解密模塊闡述。4)未知標(biāo)志說(shuō)明服務(wù)器端發(fā)送過(guò)來(lái)的未知數(shù)據(jù)有兩種,目前不知其意,客戶端在發(fā)送數(shù)據(jù)時(shí)將其 置為0x0000值。5)數(shù)字簽名說(shuō)明對(duì)所有的加密數(shù)據(jù)在此放置8字節(jié)數(shù)字簽名。其值由RC4會(huì)話鍵值和功能數(shù)據(jù)經(jīng) 過(guò)SHA運(yùn)算和MD5運(yùn)算得到。連接過(guò)程說(shuō)明1)客戶端連接服務(wù)器;2) ISO數(shù)據(jù)層建立連接;3)發(fā)送初始協(xié)議相關(guān)信息,接收加密、解密密鑰;4)虛擬通道申請(qǐng);5)加密形式發(fā)送客戶端系統(tǒng)信息,同時(shí)驗(yàn)證加密協(xié)議;6)平臺(tái)軟件證書(shū)驗(yàn)證;7)各功能建立連接,各功能數(shù)據(jù)傳輸。5、功能數(shù)據(jù)層功能數(shù)據(jù)是客戶端與服務(wù)器進(jìn)行交互的真正數(shù)據(jù)。這樣,使用RDP協(xié)議,構(gòu)建了一個(gè)虛擬的遠(yuǎn)程桌面服務(wù)器,允許標(biāo)準(zhǔn)的遠(yuǎn)程桌面客 戶端登錄本模塊。遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊本模塊的作用是將遠(yuǎn)程桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成RFB協(xié)議請(qǐng)求,并 發(fā)送到RFB服務(wù)器,同時(shí),將RFB服務(wù)器應(yīng)答的RFB協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng) 包,發(fā)送給遠(yuǎn)程桌面客戶端,完成一個(gè)完整的協(xié)議代理過(guò)程;在本模塊中,遠(yuǎn)程桌面協(xié)議的實(shí)現(xiàn)參考了遠(yuǎn)程桌面協(xié)議代理模塊,通過(guò)研究,了解RFB協(xié)議基本規(guī)范如下RFB協(xié)議是真正意義上的“瘦客機(jī)”協(xié)議,RFB協(xié)議設(shè)計(jì)的重點(diǎn)在于減少對(duì)客戶端 的硬件需求。這樣客戶端就可以運(yùn)行在許多不同的硬件上,客戶機(jī)的任務(wù)實(shí)現(xiàn)上就會(huì)盡量 的簡(jiǎn)單。RFB協(xié)議對(duì)于客戶端是無(wú)狀態(tài)的。也就是說(shuō)如果客戶端從服務(wù)器端斷開(kāi),那么如 果它重新連接相同的服務(wù)器,客戶端的狀態(tài)會(huì)被保存。甚至,一個(gè)不同的客戶端可以用來(lái)連 接相同的RFB服務(wù)器。而在新的客戶端已經(jīng)能夠獲得與前一個(gè)客戶端相同的用戶狀態(tài)。因 此,用戶的應(yīng)用接口變的非常便捷。只要合適的網(wǎng)絡(luò)連接存在,那么用戶就可以使用自己的 應(yīng)用程序,并且這些應(yīng)用會(huì)一直保存,即使在不同的接入點(diǎn)也不會(huì)變化。這樣無(wú)論在哪,系 統(tǒng)都會(huì)給用戶提供一個(gè)熟悉、獨(dú)特的計(jì)算環(huán)境。顯示協(xié)議顯示協(xié)議是建立在“把像素?cái)?shù)據(jù)放在一個(gè)由x,y定位的方框內(nèi)”這單一 圖形基礎(chǔ)之上的。乍一看上去,把這么多的用戶接口組件繪制出來(lái)是非常低效的方法。但 是,允許不同的像素?cái)?shù)據(jù)編碼方式,使得我們?cè)谔幚聿煌膮?shù)(如網(wǎng)絡(luò)帶寬,客戶端的 繪制速度,服務(wù)器處理速度)有了很大程度的靈活性。通過(guò)矩形的序列來(lái)完成幀緩存的更 新。一次更新代表著從一個(gè)可用幀緩存狀態(tài)轉(zhuǎn)換到另一個(gè)可用,因此有點(diǎn)和視頻的楨類似。 盡管矩形的更新一般是分開(kāi)的,但是并不是必須的。顯示協(xié)議的更新部分是由客戶端通過(guò) 命令驅(qū)動(dòng)的。也就是說(shuō),更新只是在服務(wù)器端響應(yīng)客戶端的請(qǐng)求時(shí)發(fā)生的。這樣就讓協(xié)議更 新質(zhì)量是可變的??蛻舳?網(wǎng)絡(luò)越慢,更新速度也就越慢。對(duì)于一些應(yīng)用來(lái)說(shuō),相同區(qū)域的 更新是連續(xù)不斷的。如果用一個(gè)慢的客戶端,那么幀緩存的緩存狀態(tài)是可以被忽略的。這 樣也可以減少對(duì)客戶端網(wǎng)絡(luò)速度和繪制速度的要求。輸入?yún)f(xié)議輸入?yún)f(xié)議是基于標(biāo)準(zhǔn)工作站的鍵盤(pán)和鼠標(biāo)等設(shè)備的連接協(xié)議。輸入事 件就是通過(guò)把客戶端的輸入發(fā)送到服務(wù)器端。這些輸入事件也可以通過(guò)非標(biāo)準(zhǔn)的I/O設(shè)備 來(lái)綜合。例如,手寫(xiě)筆引擎可能產(chǎn)生一個(gè)鍵盤(pán)事件。協(xié)議消息RFB協(xié)議可以進(jìn)行可靠的傳輸,如字節(jié)流或基于消息的。和大多數(shù)協(xié) 議一樣,它也是通過(guò)TCP/IP協(xié)議簇連接。協(xié)議由三步完成連接。首先是握手報(bào)文,目的是 對(duì)協(xié)議版本和加密方式進(jìn)行協(xié)商。第二步是初始化報(bào)文,主要用于客戶和服務(wù)器的初始化 消息。最后就是正常協(xié)議的交互,客戶端可以按需發(fā)送消息,然后可以獲得服務(wù)器的回復(fù)。 所有的消息以消息類型開(kāi)始,接下來(lái)是特定的消息數(shù)據(jù)。協(xié)議消息描述的基本類型有:U8、 U16、U32、S8、S16、S32。U表示無(wú)符號(hào)整數(shù),S表示有符號(hào)整數(shù)。所有字節(jié)整數(shù)(除了像素 值本身)遵從Endian順序。PIXEL代表一個(gè)像素值bytesPerPixel字節(jié),8XbytesPerPixel =bi t s-per-pixel,這個(gè)等式在客戶端/服務(wù)器、ServerIni t消息(參照6. 3. 2節(jié))、 SetPixelFormat 消息?;镜南⒏袷饺缦?---------------------------------------字節(jié)數(shù)I類型[值]I描述--------+-----------+------------------2|U16|幀緩存寬度--------+-----------+-----------
10
-------2|U16|幀緩存高度--------+-----------+-------------------16 I像素格式I服務(wù)器像素格式--------+-----------+------------------4|U32|名字長(zhǎng)度--------+-----------+------------------名字長(zhǎng)度I U8數(shù)組I名字字串----------------------------------------像素格式主要包括以下段---------------------------------------字節(jié)數(shù)I類型[值]I描述
0107]--------+-----------+■
0108]-------
0109]1|U8| 位 / 像素
0110]--------+-----------+■
0111]-------
0112]1|U8| 深度
0113]--------+-----------+■
0114]-------
0115]1 |U8|big-en dian 標(biāo)志
0116]--------+-----------+■
0117]-------
0118]l|U8|真彩標(biāo)志
0119]--------+-----------+■
0120]-------
0121]2|U16|紅色最大值
0122]--------+-----------+■
0123]-------
0124]2|U16|綠色最大值
0125]--------+-----------+■
0126]-------
0127]2|U16|藍(lán)色最大值
0128]--------+-----------+■
-------1|U8|紅色-替換--------+-----------+------------------1|U8|綠色-替換--------+-----------+------------------1|U8|藍(lán)色-替換--------+-----------+------------------31 I 補(bǔ)充----------------------------------------遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊本模塊的作用是將遠(yuǎn)程桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成XDMCP協(xié)議請(qǐng)求, 并發(fā)送到XDMCP服務(wù)器,同時(shí),將XDMCP服務(wù)器應(yīng)答的XDMCP協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面 協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程桌面客戶端,完成一個(gè)完整的XDMCP協(xié)議代理過(guò)程。在本模塊中,遠(yuǎn)程桌面協(xié)議的實(shí)現(xiàn)參考了遠(yuǎn)程桌面協(xié)議代理模塊,通過(guò)研究,了解 XDMCP協(xié)議基本規(guī)范如下XDMCP協(xié)議使用UDP 177端口。當(dāng)需要向XDMCP服務(wù)器發(fā)起一個(gè)會(huì)話時(shí),本模塊需 要向其送Query包。如果XDMCP服務(wù)器允許本模塊的訪問(wèn),它會(huì)向本模塊返回Willing包 作為應(yīng)答。(本模塊也可以發(fā)送BroadcastQuery或IndirectQuery包來(lái)開(kāi)始一個(gè)會(huì)話,這 種機(jī)制類似于使用DHCP來(lái)獲得IP地址。)XDMCP服務(wù)器必然會(huì)向本模塊要求進(jìn)行認(rèn)證。為做到這一點(diǎn),本模塊發(fā)送Request 包給XDMCP服務(wù)器,XDMCP服務(wù)器返回一個(gè)Acc印t包。如果Accept包包含了本模塊期望的 響應(yīng),則XDMCP服務(wù)器通過(guò)認(rèn)證。舉例來(lái)說(shuō),為生成正確的響應(yīng)可能需要XDMCP服務(wù)器訪問(wèn) 一個(gè)密鑰。如果認(rèn)證成功,本模塊會(huì)發(fā)送Manage包來(lái)告訴XDMCP服務(wù)器。然后,XDMCP服 務(wù)器會(huì)作為一個(gè)常規(guī)的X客戶端向連接的本模塊顯示登錄界面。在會(huì)話期間,本模塊會(huì)間隔的向XDMCP服務(wù)器發(fā)送Ke印Alive包。如果XDMCP服務(wù) 器在一段時(shí)間內(nèi)沒(méi)有回應(yīng)Al ive包,本模塊會(huì)假定XDMCP服務(wù)器停止運(yùn)行,并終止該連接。本發(fā)明還可以有其它實(shí)施方式,凡采用同等替換或等效變換形成的技術(shù)方案,均 落在本發(fā)明要求保護(hù)的范圍之內(nèi)。
權(quán)利要求
基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),其特征在于包括遠(yuǎn)程桌面客戶端、遠(yuǎn)程桌面協(xié)議代理模塊、遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊、遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊、遠(yuǎn)程桌面服務(wù)器、RFB服務(wù)器和XDMCP服務(wù)器;所述遠(yuǎn)程桌面客戶端與遠(yuǎn)程桌面協(xié)議代理模塊之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,所述遠(yuǎn)程桌面協(xié)議代理模塊與遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊以及遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,所述遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊與遠(yuǎn)程桌面服務(wù)器之間通過(guò)遠(yuǎn)程桌面協(xié)議通信,所述RFB服務(wù)器與遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊之間通過(guò)RFB協(xié)議通信,所述XDMCP服務(wù)器與遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊之間通過(guò)XDMCP協(xié)議通信;所述遠(yuǎn)程桌面協(xié)議代理模塊使用遠(yuǎn)程桌面協(xié)議,構(gòu)建一個(gè)遠(yuǎn)程桌面服務(wù)框架,支持遠(yuǎn)程桌面客戶端登錄到該模塊,并提供登錄向?qū)?,引?dǎo)用戶登錄后臺(tái)服務(wù)器;所述遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊將遠(yuǎn)程桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成RFB協(xié)議請(qǐng)求,并發(fā)送到RFB服務(wù)器,同時(shí),將RFB服務(wù)器應(yīng)答的RFB協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程桌面客戶端,完成一個(gè)完整的協(xié)議代理過(guò)程;所述遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊將遠(yuǎn)程桌面客戶端的遠(yuǎn)程桌面協(xié)議請(qǐng)求轉(zhuǎn)換成XDMCP協(xié)議請(qǐng)求,并發(fā)送到XDMCP服務(wù)器,同時(shí),將XDMCP服務(wù)器應(yīng)答的XDMCP協(xié)議響應(yīng)包,轉(zhuǎn)換成遠(yuǎn)程桌面協(xié)議響應(yīng)包,發(fā)送給遠(yuǎn)程桌面客戶端,完成一個(gè)完整的XDMCP協(xié)議代理過(guò)程。
2.如權(quán)利要求1所述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),其特征在于 所述遠(yuǎn)程桌面協(xié)議代理模塊包括網(wǎng)絡(luò)連接層用于定義一個(gè)完事的RDP數(shù)據(jù)邏輯包,以避免由于網(wǎng)絡(luò)包長(zhǎng)度過(guò)長(zhǎng)而被 分割使數(shù)據(jù)丟失;ISO數(shù)據(jù)層設(shè)在網(wǎng)絡(luò)連接層之上,用于表示RDP數(shù)據(jù)的正常連接通信;虛擬通道層設(shè)在ISO數(shù)據(jù)層之上,用于定義一個(gè)虛擬通道層,以拆分標(biāo)示不同虛擬通 道的數(shù)據(jù),加快客戶端處理速度,節(jié)省占用網(wǎng)絡(luò)接口的時(shí)間;加密解密層設(shè)在虛擬通道層之上,用于定義一個(gè)數(shù)據(jù)加密解密層,對(duì)所有的功能數(shù)據(jù) 進(jìn)行加密和解密處理;功能數(shù)據(jù)層設(shè)在加密解密層之上,用于進(jìn)行畫(huà)面信息、本地資源轉(zhuǎn)換、聲音數(shù)據(jù)、打印 數(shù)據(jù)的處理。
3.如權(quán)利要求1所述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),其特征在于 所述遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊包括網(wǎng)絡(luò)通訊子模塊用于與遠(yuǎn)程桌面服務(wù)建立TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù) 據(jù)包;多點(diǎn)并發(fā)式通信子模塊用于支持聲音、畫(huà)面等多通道的并發(fā)處理,在一個(gè)TCP通訊上 支持多種格式的數(shù)據(jù)通訊;安全處理子模塊用于將通訊中的數(shù)據(jù)進(jìn)行加/解密,保障數(shù)據(jù)通訊的安全性。
4.如權(quán)利要求1所述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),其特征在于 所述遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊包括網(wǎng)絡(luò)通訊子模塊用于與遠(yuǎn)程桌面服務(wù)建立TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù) 據(jù)包;RDP協(xié)議與RFB翻譯子模塊用于將RDP協(xié)議數(shù)據(jù)翻譯成RFB協(xié)議數(shù)據(jù),并通過(guò)網(wǎng)絡(luò)通訊子模塊發(fā)送給RFB服務(wù)器,同時(shí),將RFB服務(wù)器返回的RFB協(xié)議格式數(shù)據(jù)翻譯成RDP協(xié)議 格式,通過(guò)遠(yuǎn)程桌面協(xié)議代理模塊轉(zhuǎn)發(fā)給遠(yuǎn)程桌面客戶端。
5.如權(quán)利要求1所述的基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),其特征在于 所述遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊包括網(wǎng)絡(luò)通訊子模塊用于與遠(yuǎn)程桌面服務(wù)建立TCP通訊通道,并基于SOCKET轉(zhuǎn)發(fā)TCP數(shù) 據(jù)包;RDP協(xié)議與XDMCP翻譯子模塊用于將RDP協(xié)議數(shù)據(jù)翻譯成XDMCP協(xié)議數(shù)據(jù),并通過(guò)網(wǎng) 絡(luò)通訊子模塊發(fā)送給XDMCP服務(wù)器,同時(shí),將XDMCP服務(wù)器返回的XDMCP協(xié)議格式數(shù)據(jù)翻譯 成RDP協(xié)議格式,通過(guò)遠(yuǎn)程桌面協(xié)議代理模塊轉(zhuǎn)發(fā)給遠(yuǎn)程桌面客戶端。
全文摘要
本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,涉及一種圖形協(xié)議統(tǒng)一代理系統(tǒng),一種基于遠(yuǎn)程桌面協(xié)議的多圖形協(xié)議統(tǒng)一代理系統(tǒng),包括遠(yuǎn)程桌面客戶端、遠(yuǎn)程桌面協(xié)議代理模塊、遠(yuǎn)程桌面協(xié)議轉(zhuǎn)發(fā)模塊、遠(yuǎn)程桌面協(xié)議與RFB協(xié)議兼容模塊、遠(yuǎn)程桌面協(xié)議與XDMCP協(xié)議兼容模塊、遠(yuǎn)程桌面服務(wù)器、RFB服務(wù)器和XDMCP服務(wù)器。本發(fā)明通過(guò)使用統(tǒng)一代理技術(shù),建立一個(gè)代理服務(wù)系統(tǒng),方便機(jī)房管理人員使用單一的客戶端工具(運(yùn)程桌面客戶端),即可對(duì)支持遠(yuǎn)程訪問(wèn)(RDP、RFBXDMCP)的服務(wù)器進(jìn)行訪問(wèn)操作。
文檔編號(hào)H04L29/08GK101964798SQ20101050937
公開(kāi)日2011年2月2日 申請(qǐng)日期2010年10月15日 優(yōu)先權(quán)日2010年10月15日
發(fā)明者李曙強(qiáng) 申請(qǐng)人:德訊科技股份有限公司