專利名稱:安全接入數(shù)據(jù)傳輸系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,特別是關(guān)于一種安全接入(Secure SHell,SSH)數(shù)據(jù)傳輸系統(tǒng)及方法。
背景技術(shù):
傳統(tǒng)的網(wǎng)絡(luò)服務(wù),如FTP、POP和Telnet在本質(zhì)上都是不安全的,因?yàn)樵诰W(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù),別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)。而且,這些網(wǎng)絡(luò)服務(wù)的安全驗(yàn)證方式也是有其弱點(diǎn)的,就是很容易受到“中間人”(Man-in-the-Middle),冒充真正的服務(wù)器接收用戶的傳給服務(wù)器的數(shù)據(jù),然后再冒充該用戶把數(shù)據(jù)傳給真正的服務(wù)器。服務(wù)器和用戶之間的數(shù)據(jù)傳送被“中間人”一轉(zhuǎn)手做了手腳之后,就會出現(xiàn)很嚴(yán)重的問題,因此解決安全隱患迫在眉睫。
SSH的英文全稱是Secure SHell。通過使用SSH,用戶可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣“中間人”這種攻擊方式就不可能實(shí)現(xiàn),而且也能夠防止DNS和IP欺騙。還有一個好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣?。SSH的提出彌補(bǔ)了Telnet的不足,使遠(yuǎn)程登錄訪問的應(yīng)用中安全性得到了很大的提高。SSH協(xié)議支持PASSWORD、RSA驗(yàn)證方式,支持DES、3DES數(shù)據(jù)加密方式,從而使在不安全的網(wǎng)絡(luò)上實(shí)現(xiàn)安全的遠(yuǎn)程訪問成為可能。
SSH數(shù)據(jù)傳輸是一個關(guān)鍵部分,通過將SSH數(shù)據(jù)包加密并發(fā)送到Socket(套接口)上以及從Socket上接收加密數(shù)據(jù)包,實(shí)現(xiàn)SSH的客戶端和服務(wù)器端數(shù)據(jù)交互,由于發(fā)送和接收的數(shù)據(jù)都可能來自不同的應(yīng)用和用戶,因此數(shù)據(jù)傳輸既要保證不同來源的加密數(shù)據(jù)傳輸?shù)捻樞蜿P(guān)系、完整性,還要保證大流量下加密數(shù)據(jù)包的傳輸效率,從而使用戶遠(yuǎn)程操作能夠獲得類似本地操作的效果。然而對于傳統(tǒng)實(shí)現(xiàn),數(shù)據(jù)的充分性和效率往往難以兼顧,在大流量遠(yuǎn)程網(wǎng)絡(luò)環(huán)境中,數(shù)據(jù)信息丟棄、操作響應(yīng)緩慢等現(xiàn)象時??梢姟?br>
關(guān)于SSH數(shù)據(jù)傳輸,目前實(shí)現(xiàn)主要有兩種方式,一種是繼承Telnet的數(shù)據(jù)傳輸方式,另一種是對傳輸數(shù)據(jù)進(jìn)行保護(hù)的傳輸方式。
(1)類似Telnet的數(shù)據(jù)傳輸方式如圖1所示,各個任務(wù)11、12…1n發(fā)送的數(shù)據(jù)經(jīng)加密后送到數(shù)據(jù)傳輸緩沖區(qū)21、22…2n,控制模塊3控制數(shù)據(jù)傳輸緩沖區(qū)21、22…2n的數(shù)據(jù)發(fā)送,且該控制模塊3通過EV_SENDAGAIN和EV_VTYCLOSE消息控制數(shù)據(jù)向Socket4的發(fā)送過程。Socket 4通過ASYN_READ、ASYN_WRITE和ASYN_CLOSE等事件通知控制模塊3關(guān)于Socket4的數(shù)據(jù)發(fā)送狀態(tài)。各個任務(wù)11、12…1n接收數(shù)據(jù)的處理過程與發(fā)送過程類似。
在這種類似Telnet的數(shù)據(jù)傳輸方式中,不同任務(wù)11、12…1n使用不同的數(shù)據(jù)傳輸緩沖區(qū)21、22…2n,這些緩沖區(qū)21、22…2n僅是簡單的字符串緩沖區(qū),彼此間獨(dú)立,從而做到對發(fā)送和接收數(shù)據(jù)的隔離。由于各任務(wù)11、12…1n都有自己對應(yīng)獨(dú)立的數(shù)據(jù)傳輸緩沖區(qū)21、22…2n,因此當(dāng)Socket4以流方式傳輸數(shù)據(jù)產(chǎn)生任務(wù)切換時,不用對各任務(wù)11、12…1n的相應(yīng)傳輸緩沖區(qū)21、22…2n進(jìn)行臨界保護(hù)。
(2)對數(shù)據(jù)進(jìn)行保護(hù)的傳輸方式如圖2所示,數(shù)據(jù)進(jìn)行保護(hù)的傳輸是大多數(shù)SSH協(xié)議的實(shí)現(xiàn)方式,與類似Telnet的數(shù)據(jù)傳輸方式不同的是不同任務(wù)11、12…1n使用相同的數(shù)據(jù)傳輸緩沖區(qū)2,通過信號量或中斷對各個任務(wù)進(jìn)行數(shù)據(jù)保護(hù)5,因此當(dāng)Socket4以流方式傳輸數(shù)據(jù)產(chǎn)生任務(wù)切換時,由于同一時刻只能有一個任務(wù)訪問數(shù)據(jù)傳輸緩沖區(qū)2,從而做到對發(fā)送和接收數(shù)據(jù)的隔離保護(hù)。
上面兩種技術(shù)方案存在一定問題(1)采用類似Telnet的數(shù)據(jù)傳輸方式雖然可以保證數(shù)據(jù)傳輸?shù)男?,但無法保證發(fā)送數(shù)據(jù)的順序性。在多任務(wù)大流量情況下,發(fā)送和接收的數(shù)據(jù)往往是交織的,造成此問題是因?yàn)镾ocket以流方式發(fā)送接收數(shù)據(jù),當(dāng)一次不能全部發(fā)送完數(shù)據(jù)時,會造成任務(wù)的不斷切換,使不同任務(wù)順序發(fā)送或接收的數(shù)據(jù)交織在一起。
(2)采用對數(shù)據(jù)進(jìn)行保護(hù)的傳輸方式,通過對數(shù)據(jù)傳輸緩沖區(qū)進(jìn)行保護(hù),可以保證每一任務(wù)發(fā)送或接收數(shù)據(jù)的完整性,以及不同任務(wù)發(fā)送或接收數(shù)據(jù)的順序性。但由于采用信號量或中斷方式對數(shù)據(jù)傳輸緩沖區(qū)進(jìn)行保護(hù),會使數(shù)據(jù)發(fā)送和接收效率降低,當(dāng)發(fā)送或接收數(shù)據(jù)流量較大時,用戶操作的響應(yīng)速度會變得很慢。
發(fā)明內(nèi)容
本發(fā)明解決的問題是提供一種安全接入數(shù)據(jù)傳輸系統(tǒng)及方法,使得SSH數(shù)據(jù)在傳輸中兼顧效率、速度及完整性。
為解決上述問題,本發(fā)明安全接入數(shù)據(jù)傳輸系統(tǒng)包括若干任務(wù);數(shù)據(jù)傳輸緩沖區(qū),暫存各個任務(wù)發(fā)送的數(shù)據(jù),且各個任務(wù)共用一個數(shù)據(jù)傳輸緩沖區(qū);控制模塊,控制數(shù)據(jù)傳輸緩沖區(qū)中數(shù)據(jù)的傳輸狀態(tài);套接口,接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并發(fā)送出去,且將數(shù)據(jù)傳輸狀態(tài)通知控制模塊;其中,數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送而套接口在發(fā)送數(shù)據(jù)時不區(qū)分?jǐn)?shù)據(jù)邊界。
相應(yīng)地,本發(fā)明安全接入數(shù)據(jù)傳輸方法包括以下步驟各個任務(wù)向同一個數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù);數(shù)據(jù)傳輸緩沖區(qū)依接收順序暫存數(shù)據(jù);控制模塊控制數(shù)據(jù)傳輸緩沖區(qū)中的數(shù)據(jù)向?qū)?yīng)的套接口順序發(fā)送;套接口接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并不區(qū)分?jǐn)?shù)據(jù)邊界將數(shù)據(jù)發(fā)送出去,且將數(shù)據(jù)的傳輸狀態(tài)通知控制模塊。
數(shù)據(jù)傳輸緩沖區(qū)設(shè)有以下指針開始指針,動態(tài)標(biāo)識數(shù)據(jù)開始的位置;偏移指針,動態(tài)標(biāo)識數(shù)據(jù)已發(fā)送的長度;結(jié)束指針,動態(tài)標(biāo)識數(shù)據(jù)結(jié)束的位置,以實(shí)現(xiàn)數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送。
數(shù)據(jù)傳輸緩沖區(qū)接收和發(fā)送數(shù)據(jù)時還包括以下步驟1)數(shù)據(jù)傳輸緩沖區(qū)為空時,進(jìn)行初始狀態(tài)設(shè)置,開始指針、偏移指針以及結(jié)束指針指向數(shù)據(jù)傳輸緩沖區(qū)的開始位置;2)數(shù)據(jù)傳輸緩沖區(qū)接收數(shù)據(jù)時,結(jié)束指針移至所有數(shù)據(jù)長度尾部。
3)數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù)時,偏移指針標(biāo)識已發(fā)送數(shù)據(jù)的長度;4)每次數(shù)據(jù)發(fā)送成功后,開始指針移至偏移指針的位置。
5)根據(jù)任務(wù)的切換,重復(fù)步驟2)、3)、4),直至全部數(shù)據(jù)依次發(fā)送完成后,返回步驟1)。
另外,在所要發(fā)送數(shù)據(jù)超過數(shù)據(jù)傳輸緩沖區(qū)剩余空間時,將數(shù)據(jù)傳輸緩沖區(qū)空間擴(kuò)充一倍;當(dāng)全部數(shù)據(jù)發(fā)送完成時,數(shù)據(jù)傳輸緩沖區(qū)恢復(fù)到原來大小。開始指針超過數(shù)據(jù)傳輸緩沖區(qū)一半時,且要發(fā)送數(shù)據(jù)小于數(shù)據(jù)傳輸緩沖區(qū)的剩余空間時,暫存的數(shù)據(jù)移至數(shù)據(jù)傳輸緩沖區(qū)開始位置。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明安全接入數(shù)據(jù)傳輸系統(tǒng)及方法通過共用數(shù)據(jù)傳輸緩沖區(qū)的多個指針標(biāo)識不同任務(wù)的加密數(shù)據(jù)位置實(shí)現(xiàn)數(shù)據(jù)依接收順序傳輸進(jìn)行放置及發(fā)送,并且發(fā)送過程中不區(qū)分?jǐn)?shù)據(jù)邊界。這樣,很好的解決了傳輸完整性和效率性問題,在不損失傳輸處理效率的情況下,保證了傳輸數(shù)據(jù)的順序性。經(jīng)測試,本發(fā)明在多任務(wù)大流量的遠(yuǎn)程網(wǎng)絡(luò)環(huán)境中,用戶的操作相應(yīng)速度同Telnet相當(dāng),不同任務(wù)發(fā)送接收的數(shù)據(jù)處理完整、正確,而且SSH相對Telnet具有較好的安全性。
圖1是現(xiàn)有技術(shù)中的第一個技術(shù)方案示意圖。
圖2是現(xiàn)有技術(shù)中的第二個技術(shù)方案示意圖。
圖3是本發(fā)明安全接入數(shù)據(jù)傳輸系統(tǒng)示意圖。
圖4a、4b是本發(fā)明安全接入數(shù)據(jù)傳輸系統(tǒng)及方法的原理示意圖。
具體實(shí)施例方式
請參照圖3、圖4a、b所示,本發(fā)明安全接入數(shù)據(jù)傳輸系統(tǒng),包括若干任務(wù)11、12…1n;數(shù)據(jù)傳輸緩沖區(qū)2,暫存各個任務(wù)11、12…1n發(fā)送的數(shù)據(jù),且各個任務(wù)11、12…1n共用一個數(shù)據(jù)傳輸緩沖區(qū)2;
控制模塊3,控制數(shù)據(jù)傳輸緩沖區(qū)2中數(shù)據(jù)的傳輸;套接口(Socket)4,接收數(shù)據(jù)傳輸緩沖區(qū)2的數(shù)據(jù)并發(fā)送數(shù)據(jù),且將數(shù)據(jù)的傳輸狀態(tài)通知控制模塊3;其中,數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送,并通過數(shù)據(jù)傳輸緩沖區(qū)2設(shè)有如下指針實(shí)現(xiàn)的開始指針(start),動態(tài)標(biāo)識數(shù)據(jù)開始的位置;偏移指針(offset),動態(tài)標(biāo)識數(shù)據(jù)已發(fā)送的長度;以及,結(jié)束指針(end),動態(tài)標(biāo)識數(shù)據(jù)結(jié)束的位置。
當(dāng)數(shù)據(jù)傳輸緩沖區(qū)2在所要發(fā)送數(shù)據(jù)超過數(shù)據(jù)傳輸緩沖區(qū)剩余空間時,將其空間擴(kuò)充一倍;當(dāng)全部數(shù)據(jù)發(fā)送完成時,數(shù)據(jù)傳輸緩沖區(qū)2恢復(fù)到原來大小。當(dāng)然數(shù)據(jù)傳輸緩沖區(qū)2的擴(kuò)充不限于一倍,但是也不能無限擴(kuò)充,當(dāng)數(shù)據(jù)傳輸緩沖區(qū)2超過上限時的后續(xù)各任務(wù)發(fā)送數(shù)據(jù)將被丟棄。
在當(dāng)開始指針超過數(shù)據(jù)傳輸緩沖區(qū)2一半時,且要發(fā)送數(shù)據(jù)小于數(shù)據(jù)傳輸緩沖區(qū)2的剩余空間時,暫存數(shù)據(jù)移至數(shù)據(jù)傳輸緩沖區(qū)2開始位置。
數(shù)據(jù)傳輸緩沖區(qū)2保證了各任務(wù)的發(fā)送數(shù)據(jù)完整性,SOCKET4在發(fā)送數(shù)據(jù)時不區(qū)分各任務(wù)的發(fā)送數(shù)據(jù)邊界的而是按照數(shù)據(jù)傳輸緩沖區(qū)數(shù)據(jù)接收的順序發(fā)送,相應(yīng)的各任務(wù)數(shù)據(jù)報文邊界由SSH協(xié)議完成。
數(shù)據(jù)傳輸緩沖區(qū)2保證了各任務(wù)的發(fā)送數(shù)據(jù)效率,當(dāng)SOCKET4在一次發(fā)送數(shù)據(jù)未完而進(jìn)行任務(wù)切換時,其他任務(wù)可以繼續(xù)發(fā)送數(shù)據(jù)到數(shù)據(jù)傳輸緩沖區(qū)2,然后由SOCKET4依次發(fā)送。
安全接入數(shù)據(jù)傳輸系統(tǒng)包括如下事件標(biāo)識EV_SENDAGAIN,標(biāo)識控制模塊3的數(shù)據(jù)繼續(xù)發(fā)送狀態(tài);
EV_VTYCLOSE,標(biāo)識控制模塊3的數(shù)據(jù)發(fā)送結(jié)束狀態(tài);ASYN_READ,標(biāo)識套接口4異步讀狀態(tài);ASYN_WRITE,標(biāo)識套接口4異步寫狀態(tài);ASYN_CLOSE,標(biāo)識套接口4異步關(guān)閉狀態(tài);其中,控制模塊3通過EV_SENDAGAIN和EV_VTYCLOSE消息控制套接口4數(shù)據(jù)發(fā)送/接收過程,套接口4通過ASYN_READ、ASYN_WRITE和ASYN_CLOSE通知控制模塊3關(guān)于套接口4的數(shù)據(jù)發(fā)送/接收狀態(tài)。
以各個任務(wù)11、12…1n發(fā)送數(shù)據(jù)過程為例,該數(shù)據(jù)經(jīng)加密后送到數(shù)據(jù)傳輸緩沖區(qū)2,控制模塊3控制數(shù)據(jù)傳輸緩沖區(qū)2的數(shù)據(jù)發(fā)送;控制模塊3通過EV_SENDAGAIN和EV_VTYCLOSE消息控制數(shù)據(jù)向套接口4的發(fā)送過程;套接口4通過ASYN_READ、ASYN_WRITE和ASYN_CLOSE等事件通知控制模塊3關(guān)于套接口4的數(shù)據(jù)發(fā)送狀態(tài)。
當(dāng)控制模塊3接收到ASYN_READ事件時,從套接口4讀取報文數(shù)據(jù)到各個任務(wù);當(dāng)控制模塊3接收到ASYN_WRITE事件時,通過EV_SENDAGAIN事件控制任務(wù)繼續(xù)向套接口4發(fā)送報文數(shù)據(jù);當(dāng)控制模塊3接收到ASYN_CLOSE事件時,通過EV_VTYCLOSE事件關(guān)閉套接口4。各個任務(wù)11、12…1n接收數(shù)據(jù)的處理過程與發(fā)送過程類似,不再贅述而本發(fā)明所解決的問題主要出現(xiàn)在任務(wù)向套接口發(fā)送的傳輸方向上。
相應(yīng)地,本發(fā)明安全接入數(shù)據(jù)傳輸方法包括以下步驟1)各個任務(wù)向同一個數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù);2)數(shù)據(jù)傳輸緩沖區(qū)依接收順序暫存數(shù)據(jù);
3)控制模塊控制數(shù)據(jù)傳輸緩沖區(qū)中的數(shù)據(jù)向?qū)?yīng)的套接口順序發(fā)送;4)套接口接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并發(fā)送出去,且將數(shù)據(jù)的傳輸狀態(tài)通知控制模塊。
數(shù)據(jù)傳輸緩沖區(qū)設(shè)有動態(tài)標(biāo)識數(shù)據(jù)開始的位置的開始指針、動態(tài)標(biāo)識數(shù)據(jù)已發(fā)送的長度的偏移指針動以及動態(tài)標(biāo)識數(shù)據(jù)結(jié)束的位置的結(jié)束指針。
關(guān)于數(shù)據(jù)傳輸緩沖區(qū)順序接收、放置及發(fā)送具體包括以下步驟a)數(shù)據(jù)傳輸緩沖區(qū)為空時,初始狀態(tài)設(shè)置,開始指針、偏移指針以及結(jié)束指針指向數(shù)據(jù)傳輸緩沖區(qū)的開始位置;b)數(shù)據(jù)傳輸緩沖區(qū)接收數(shù)據(jù)時,結(jié)束指針移至所有數(shù)據(jù)長度尾部;c)數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù)時,偏移指針標(biāo)識已發(fā)送數(shù)據(jù)的長度;d)每次數(shù)據(jù)發(fā)送成功后,開始指針移至偏移指針的位置;e)根據(jù)任務(wù)的切換,重復(fù)步驟b)-d),直至全部數(shù)據(jù)依次發(fā)送完成后,返回步驟a)。
本發(fā)明安全接入數(shù)據(jù)傳輸方法,以多個任務(wù)11、12…1n數(shù)據(jù)發(fā)送過程為例進(jìn)行說明工作原理。
數(shù)據(jù)傳輸緩沖區(qū)2保證了各任務(wù)的發(fā)送數(shù)據(jù)完整性,SOCKET4在發(fā)送數(shù)據(jù)時不區(qū)分各任務(wù)的數(shù)據(jù)邊界而是按照數(shù)據(jù)傳輸緩沖區(qū)數(shù)據(jù)接收的順序發(fā)送,相應(yīng)的各任務(wù)數(shù)據(jù)報文邊界由SSH協(xié)議完成。
數(shù)據(jù)傳輸緩沖區(qū)2保證了各任務(wù)的發(fā)送數(shù)據(jù)效率,當(dāng)SOCKET4在一次發(fā)送數(shù)據(jù)未完而進(jìn)行任務(wù)切換時,其他任務(wù)可以繼續(xù)發(fā)送數(shù)據(jù)到數(shù)據(jù)傳輸緩沖區(qū)2,然后由SOCKET4依次發(fā)送。
圖3中可見多個任務(wù)11、12…1n共用一個數(shù)據(jù)傳輸緩沖區(qū)2,向套接口4發(fā)送數(shù)據(jù)時并不區(qū)分?jǐn)?shù)據(jù)是來自哪個任務(wù),而是按照數(shù)據(jù)傳輸緩沖區(qū)數(shù)據(jù)接收的順序,依次盡力發(fā)送數(shù)據(jù)傳輸緩沖區(qū)2的數(shù)據(jù),直到所有數(shù)據(jù)全部發(fā)送完畢(見圖4a、b)a、開始時開始指針、偏移指針及結(jié)束指針皆指向數(shù)據(jù)傳輸緩沖區(qū)2的開始位置,任務(wù)A發(fā)送的數(shù)據(jù)經(jīng)加密放置到數(shù)據(jù)傳輸緩沖區(qū)2后,結(jié)束指針移至數(shù)據(jù)長度尾部;b、當(dāng)數(shù)據(jù)通過套接口4發(fā)送時,使用偏移指針標(biāo)識發(fā)送數(shù)據(jù)長度;c、當(dāng)數(shù)據(jù)成功發(fā)送后,開始指針移至偏移指針位置,當(dāng)套接口4一次不能發(fā)送全部數(shù)據(jù)時,系統(tǒng)發(fā)生任務(wù)切換,任務(wù)B發(fā)送的數(shù)據(jù)經(jīng)加密順序放置到數(shù)據(jù)傳輸緩沖區(qū)2,結(jié)束指針移至數(shù)據(jù)緩沖區(qū)2所有數(shù)據(jù)長度尾部;d、系統(tǒng)發(fā)生任務(wù)切換,套接口4繼續(xù)發(fā)送緩沖區(qū)中任務(wù)A和任務(wù)B的數(shù)據(jù),偏移指針標(biāo)識已發(fā)送數(shù)據(jù)長度;e、當(dāng)繼續(xù)發(fā)送的數(shù)據(jù)成功發(fā)送后,開始指針移至偏移指針位置;f、當(dāng)發(fā)送的數(shù)據(jù)過大超過數(shù)據(jù)傳輸緩沖區(qū)2剩余空間大小時,數(shù)據(jù)傳輸緩沖區(qū)2將大小擴(kuò)充一倍,當(dāng)開始指針超過數(shù)據(jù)傳輸緩沖區(qū)2大小一半,且發(fā)送數(shù)據(jù)大小小于數(shù)據(jù)傳輸緩沖區(qū)2剩余空間時,數(shù)據(jù)移置數(shù)據(jù)傳輸緩沖區(qū)2開始位置;g、繼續(xù)重復(fù)緩沖區(qū)數(shù)據(jù)發(fā)送過程,全部數(shù)據(jù)發(fā)送完成后,開始指針、偏移指針及結(jié)束指針重新指向數(shù)據(jù)傳輸緩沖區(qū)2的開始位置,數(shù)據(jù)傳輸緩沖區(qū)2大小還原為初始大小。
綜上所述,本發(fā)明安全接入數(shù)據(jù)傳輸系統(tǒng)及方法通過事件標(biāo)識實(shí)現(xiàn)控制模塊對多任務(wù)共用的數(shù)據(jù)傳輸緩沖區(qū)進(jìn)行傳輸控制;通過共用數(shù)據(jù)傳輸緩沖區(qū)的多個指針標(biāo)識不同任務(wù)的加密數(shù)據(jù)位置實(shí)現(xiàn)序列化數(shù)據(jù)而部分邊界地傳輸。這樣,很好的解決了傳輸完整性和效率性問題,在不損失傳輸處理效率的情況下,保證了傳輸數(shù)據(jù)的順序性。經(jīng)測試,本發(fā)明在多任務(wù)大流量的遠(yuǎn)程網(wǎng)絡(luò)環(huán)境中,用戶的操作相應(yīng)速度同Telnet相當(dāng),不同任務(wù)發(fā)送接收的數(shù)據(jù)處理完整、正確,而且SSH相對Telnet具有較好的安全性。
權(quán)利要求
1.一種安全接入數(shù)據(jù)傳輸系統(tǒng),包括若干任務(wù);數(shù)據(jù)傳輸緩沖區(qū),暫存各個任務(wù)發(fā)送的數(shù)據(jù),且各個任務(wù)共用一個數(shù)據(jù)傳輸緩沖區(qū);控制模塊,控制數(shù)據(jù)傳輸緩沖區(qū)中數(shù)據(jù)的傳輸狀態(tài);套接口,接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并發(fā)送出去,且將數(shù)據(jù)的傳輸狀態(tài)通知控制模塊;其特征在于,數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送而套接口在發(fā)送數(shù)據(jù)時不區(qū)分?jǐn)?shù)據(jù)邊界。
2.如權(quán)利要求1安全接入數(shù)據(jù)傳輸系統(tǒng),其特征在于,數(shù)據(jù)傳輸緩沖區(qū)設(shè)有以下指針開始指針,動態(tài)標(biāo)識數(shù)據(jù)開始的位置;偏移指針,動態(tài)標(biāo)識數(shù)據(jù)已發(fā)送的長度;結(jié)束指針,動態(tài)標(biāo)識數(shù)據(jù)結(jié)束的位置,以實(shí)現(xiàn)數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送。
3.如權(quán)利要求2安全接入數(shù)據(jù)傳輸系統(tǒng),其特征在于,數(shù)據(jù)傳輸緩沖區(qū)在所要發(fā)送數(shù)據(jù)超過數(shù)據(jù)傳輸緩沖區(qū)剩余空間時,將其空間擴(kuò)充一倍;當(dāng)全部數(shù)據(jù)發(fā)送完成時,數(shù)據(jù)傳輸緩沖區(qū)恢復(fù)到原來大小。
4.如權(quán)利要求3安全接入數(shù)據(jù)傳輸系統(tǒng),其特征在于,開始指針超過數(shù)據(jù)傳輸緩沖區(qū)一半時,且要發(fā)送數(shù)據(jù)小于數(shù)據(jù)傳輸緩沖區(qū)的剩余空間時,暫存數(shù)據(jù)移至數(shù)據(jù)傳輸緩沖區(qū)開始位置。
5.如權(quán)利要求1安全接入數(shù)據(jù)傳輸系統(tǒng),其特征在于,該安全接入數(shù)據(jù)傳輸系統(tǒng)包括如下事件標(biāo)識EV_SENDAGAIN,標(biāo)識控制模塊的數(shù)據(jù)繼續(xù)發(fā)送狀態(tài);EV_VTYCLOSE,標(biāo)識控制模塊的數(shù)據(jù)發(fā)送結(jié)束狀態(tài);ASYN_READ, 標(biāo)識套接口異步讀狀態(tài);ASYN_WRITE,標(biāo)識套接口異步寫狀態(tài);ASYN_CLOSE,標(biāo)識套接口異步關(guān)閉狀態(tài);其中,控制模塊通過EV_SENDAGAIN和EV_VTYCLOSE消息控制套接口數(shù)據(jù)發(fā)送/接收過程,套接口通過ASYN_READ、ASYN_WRITE和ASYN_CLOSE通知控制模塊關(guān)于套接口的數(shù)據(jù)發(fā)送/接收狀態(tài)。
6.一種安全接入數(shù)據(jù)傳輸方法,其特征在于,該傳輸方法包括以下步驟1)各個任務(wù)向同一個數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù);2)數(shù)據(jù)傳輸緩沖區(qū)依接收順序暫存數(shù)據(jù);3)控制模塊控制數(shù)據(jù)傳輸緩沖區(qū)中的數(shù)據(jù)向?qū)?yīng)的套接口順序發(fā)送;4)套接口接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并不區(qū)分?jǐn)?shù)據(jù)邊界將數(shù)據(jù)發(fā)送出去,且將數(shù)據(jù)的傳輸狀態(tài)通知控制模塊。
7.如權(quán)利要求6所述的安全接入數(shù)據(jù)傳輸方法,其特征在于,數(shù)據(jù)傳輸緩沖區(qū)設(shè)有以下指針開始指針,動態(tài)標(biāo)識數(shù)據(jù)開始的位置;偏移指針,動態(tài)標(biāo)識數(shù)據(jù)已發(fā)送的長度;結(jié)束指針,動態(tài)標(biāo)識數(shù)據(jù)結(jié)束的位置,以實(shí)現(xiàn)數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送。
8.如權(quán)利要求7所述的安全接入數(shù)據(jù)傳輸方法,其特征在于,步驟2)還包括以下步驟21)數(shù)據(jù)傳輸緩沖區(qū)為空時,進(jìn)行初始狀態(tài)設(shè)置,開始指針、偏移指針以及結(jié)束指針指向數(shù)據(jù)傳輸緩沖區(qū)的開始位置;22)數(shù)據(jù)傳輸緩沖區(qū)接收數(shù)據(jù)時,結(jié)束指針移至所有數(shù)據(jù)長度尾部。
9.如權(quán)利要求8所述的安全接入數(shù)據(jù)傳輸方法,其特征在于,步驟3)還包括以下步驟31)數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù)時,偏移指針標(biāo)識已發(fā)送數(shù)據(jù)的長度;32)每次數(shù)據(jù)發(fā)送成功后,開始指針移至偏移指針的位置。33)根據(jù)任務(wù)的切換,重復(fù)步驟22)、31)、32),直至全部數(shù)據(jù)依次發(fā)送完成后,返回步驟21)。
10.如權(quán)利要求6至9任意一項(xiàng)所述的安全接入數(shù)據(jù)傳輸方法,其特征在于,該方法還包括在所要發(fā)送數(shù)據(jù)超過數(shù)據(jù)傳輸緩沖區(qū)剩余空間時,將數(shù)據(jù)傳輸緩沖區(qū)空間擴(kuò)充一倍;當(dāng)全部數(shù)據(jù)發(fā)送完成時,數(shù)據(jù)傳輸緩沖區(qū)恢復(fù)到原來大小。
11.如權(quán)利要求9所述的安全接入數(shù)據(jù)傳輸方法,其特征在于,開始指針超過數(shù)據(jù)傳輸緩沖區(qū)一半時,且要發(fā)送數(shù)據(jù)小于數(shù)據(jù)傳輸緩沖區(qū)的剩余空間時,暫存的數(shù)據(jù)移至數(shù)據(jù)傳輸緩沖區(qū)開始位置。
全文摘要
一種安全接入數(shù)據(jù)傳輸系統(tǒng)及方法,其中傳輸系統(tǒng)包括若干任務(wù);數(shù)據(jù)傳輸緩沖區(qū),暫存各個任務(wù)發(fā)送的數(shù)據(jù),且各個任務(wù)共用一個數(shù)據(jù)傳輸緩沖區(qū);控制模塊,控制數(shù)據(jù)傳輸緩沖區(qū)中數(shù)據(jù)的傳輸狀態(tài);套接口,接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并發(fā)送出去,且將數(shù)據(jù)傳輸狀態(tài)通知控制模塊;其中,數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)依接收順序進(jìn)行放置和發(fā)送而套接口在發(fā)送數(shù)據(jù)時不區(qū)分?jǐn)?shù)據(jù)邊界。相應(yīng)地,該傳輸方法包括以下步驟各個任務(wù)向同一個數(shù)據(jù)傳輸緩沖區(qū)發(fā)送數(shù)據(jù);數(shù)據(jù)傳輸緩沖區(qū)依接收順序暫存數(shù)據(jù);控制模塊控制數(shù)據(jù)傳輸緩沖區(qū)中的數(shù)據(jù)向?qū)?yīng)的套接口順序發(fā)送;套接口接收數(shù)據(jù)傳輸緩沖區(qū)的數(shù)據(jù)并不區(qū)分?jǐn)?shù)據(jù)邊界將數(shù)據(jù)發(fā)送出去,且將數(shù)據(jù)的傳輸狀態(tài)通知控制模塊。
文檔編號H04L29/02GK1592186SQ0315615
公開日2005年3月9日 申請日期2003年8月29日 優(yōu)先權(quán)日2003年8月29日
發(fā)明者金宏志, 楊銀柱, 白濤, 韓崎 申請人:華為技術(shù)有限公司