欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于網(wǎng)絡(luò)節(jié)點(diǎn)之間通信最優(yōu)化的系統(tǒng)和方法

文檔序號:7948780閱讀:369來源:國知局
專利名稱:用于網(wǎng)絡(luò)節(jié)點(diǎn)之間通信最優(yōu)化的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明總的涉及最優(yōu)化網(wǎng)絡(luò)的節(jié)點(diǎn)之間的網(wǎng)絡(luò)通信. 背景信息
虛擬專用網(wǎng)絡(luò)(VPN)是利用諸如互聯(lián)網(wǎng)那樣的公共電信基礎(chǔ)結(jié) 構(gòu),以便通過使用隧道和安全機(jī)構(gòu)而保持專用性的專用數(shù)據(jù)網(wǎng)。這 樣,VPN提供數(shù)據(jù)加密和為通過公共網(wǎng)的共同的數(shù)據(jù)提供安全性。除 了解決經(jīng)由公共網(wǎng)安全接入共同的數(shù)據(jù)以外,VPN還針對從兩個(gè)斷開 連接的、或不能路由的網(wǎng)絡(luò)路由網(wǎng)絡(luò)業(yè)務(wù)。例如,具有在 10. 0. 0. 0-10. 255. 255. 255的范圍的專用互聯(lián)網(wǎng)協(xié)議地址的第 一專 用網(wǎng)經(jīng)由VPN與具有在192. 168. 0. 0-192. 168. 255. 255的范圍的專 用互聯(lián)網(wǎng)協(xié)議地址的第二專用網(wǎng)通信。VPN允許在第一專用網(wǎng)上的遠(yuǎn) 程機(jī)通過隧道傳送來自遠(yuǎn)程機(jī)的網(wǎng)絡(luò)業(yè)務(wù)和使得網(wǎng)絡(luò)業(yè)務(wù)出現(xiàn)在第 二專用網(wǎng)上而與在第二專用網(wǎng)上的內(nèi)部機(jī)通信。這對于客戶端-服務(wù) 器協(xié)議是可以行得通,其中遠(yuǎn)程計(jì)算機(jī)與位于遠(yuǎn)程網(wǎng)絡(luò)的企業(yè)服務(wù) 器進(jìn)行協(xié)商。
然而,傳統(tǒng)的VPN在其中兩個(gè)遠(yuǎn)程計(jì)算機(jī)諸如在對等協(xié)議下經(jīng)由
VPN網(wǎng)關(guān)隧道傳送互相直接通信的情形下不能很好地工作.VPN通過 平整不接連的專用網(wǎng)地址空間而達(dá)到這種對等計(jì)算,在所述地址空 間中由兩個(gè)遠(yuǎn)程計(jì)算機(jī)經(jīng)由VPN網(wǎng)關(guān)隧道傳送所有的對等通信的, 結(jié)果,來自一方的網(wǎng)絡(luò)業(yè)務(wù)流到網(wǎng)關(guān),并切換內(nèi)部網(wǎng)上的隨道,通 過互聯(lián)網(wǎng)流回到對等計(jì)算機(jī),在對等計(jì)算機(jī)之間的網(wǎng)絡(luò)業(yè)務(wù)可以行 進(jìn)或長或短的最佳路由,即使對等計(jì)算機(jī)可以在它們之間具有較短 的直接路徑。允許遠(yuǎn)程計(jì)算機(jī)從由VPN提供的安全性獲益而不引起 較長的數(shù)據(jù)路徑的缺點(diǎn)是有用的。
在兩個(gè)計(jì)算機(jī)之間通過網(wǎng)絡(luò)的直接通信存在其它低效性.例如, 網(wǎng)絡(luò)連接容易斷開,例如,在客戶端與服務(wù)器之間的無線連接常常 是不可靠的。另外,網(wǎng)絡(luò)連接是間歇的。當(dāng)人們進(jìn)入電梯或隧道時(shí), 連接會丟失,并且僅僅在人們從電梯或隧道中出來后連接才恢復(fù)。 在另一個(gè)例子中,當(dāng)移動(dòng)計(jì)算設(shè)備諸如在無線網(wǎng)絡(luò)拓樸中從網(wǎng)絡(luò)接 入點(diǎn)移動(dòng)到另一個(gè)網(wǎng)絡(luò)接入點(diǎn)時(shí),連接會中斷。
如果在客戶端與服務(wù)器計(jì)算機(jī)之間的建立的連接會話異常地終
結(jié),則客戶端通常必須通過啟動(dòng)新的通信會話重新建立連接。為了 開始新的通信會話,用戶典型地必須重新發(fā)送鑒權(quán)證書,諸如登錄/ 密碼對,到服務(wù)器計(jì)算機(jī),這樣,服務(wù)器計(jì)算機(jī)可以授權(quán)用戶新的 通信會話.這種通過多個(gè)通信會話的用戶的筌權(quán)證書的重發(fā)使得該 用戶的鑒權(quán)證書重復(fù)地暴露給潛在的攻擊者,由此降低鑒權(quán)證書的 安全水平。另外,這常常是緩慢的過程,也導(dǎo)致用戶受挫和低效率。 而且,在建立新的通信會話時(shí),網(wǎng)絡(luò)可能需要客戶端得到新的網(wǎng)絡(luò) 標(biāo)識符,諸如互聯(lián)網(wǎng)協(xié)議地址。因?yàn)榭蛻舳藰?biāo)識符的改變,客戶端 的應(yīng)用或程序可能需要重新啟動(dòng)。因此,希望保護(hù)計(jì)算設(shè)備免受網(wǎng) 絡(luò)中斷。
與對等計(jì)算設(shè)備之間的直接通信關(guān)聯(lián)的另 一個(gè)低效率在于,用于 通信的協(xié)議可能不是如想要的那樣有效或安全.舉例來說,網(wǎng)絡(luò)通 信可包括諸如通過IP的話音(VoIP)通信那樣的實(shí)時(shí)數(shù)據(jù)通信.實(shí) 時(shí)數(shù)據(jù)通信可以經(jīng)由諸如用戶數(shù)據(jù)報(bào)協(xié)議那樣的不可靠的協(xié)議被傳 送,以便減小電話呼叫的等待時(shí)間,然而,VoIP通信可能經(jīng)過TCP/IP 網(wǎng)絡(luò)或安全SSL網(wǎng)關(guān),它提供可靠的協(xié)議給VoIP通信。這會增加不 可靠的協(xié)議打算減小的電話呼叫的等待時(shí)間,需要經(jīng)由打算用于通
過使用有損協(xié)議的通信的無損協(xié)議來傳輸數(shù)據(jù)的技術(shù).
直接通信中的另一個(gè)低效率是由于使用加密而造成的,諸如SSL 的加密可用來提供安全網(wǎng)絡(luò)通信。雖然通信是安全的,但網(wǎng)絡(luò)業(yè)務(wù) 的加密增加了網(wǎng)絡(luò)分組的尺寸,這會導(dǎo)致對于單個(gè)分組,分組有效 負(fù)栽變?yōu)樘?這會導(dǎo)致分組分段,造成用于通信處理的更多的開 銷。用于解決加密開銷而調(diào)節(jié)分組的最大值的技術(shù)是有用的.
另一個(gè)低效率是由于以下亊實(shí)造成的客戶端典型地在用戶的活 動(dòng)和客戶端的應(yīng)用生成網(wǎng)絡(luò)通信時(shí)發(fā)送網(wǎng)絡(luò)通信,并在網(wǎng)絡(luò)通信被
接收時(shí),處理進(jìn)入的網(wǎng)絡(luò)通信.例如,在一種情形下,雖然應(yīng)用在 前臺運(yùn)行,并且當(dāng)前正在由用戶使用,但對于在后臺運(yùn)行的應(yīng)用生 成或接收的網(wǎng)絡(luò)分組可能在對于前臺運(yùn)行的應(yīng)用生成或接收的網(wǎng)絡(luò) 分組之前被處理。在另一個(gè)例子中,客戶端可能正在運(yùn)行VoIP應(yīng)用, 以提供電話呼叫到遠(yuǎn)程計(jì)算設(shè)備。與VoIP的實(shí)時(shí)數(shù)據(jù)通信無關(guān)的客 戶端的一個(gè)或多個(gè)應(yīng)用可能正在運(yùn)行。用于這些應(yīng)用的網(wǎng)絡(luò)分組可 能在VoIP電話的實(shí)時(shí)網(wǎng)絡(luò)分組之前被處理,由此增加等待時(shí)間和減 小話音應(yīng)用的質(zhì)量.所以希望提供對分組業(yè)務(wù)的應(yīng)用知道的、客戶 端特定的優(yōu)先化.

發(fā)明內(nèi)容
本發(fā)明總的針對用于提供對等通信和遠(yuǎn)程接入連接性的遠(yuǎn)程接 入結(jié)構(gòu)。在一個(gè)實(shí)施例中,本發(fā)明的遠(yuǎn)程接入結(jié)構(gòu)提供用于經(jīng)由諸 如網(wǎng)關(guān)的第三計(jì)算設(shè)備建立對等計(jì)算設(shè)備之間的直接通信的方法。
另外,本發(fā)明提供用于對等通信最優(yōu)化的各種技術(shù),包括實(shí)時(shí)通信, 諸如通過互聯(lián)網(wǎng)協(xié)議的話音(VoIP)信令,以及媒體、視頻、和其它 實(shí)時(shí)數(shù)據(jù)應(yīng)用,諸如web合作、屏幕或桌面共享、和即時(shí)消息。本 發(fā)明提供以下的對等最優(yōu)化技術(shù)1)網(wǎng)絡(luò)分組的接收的虛假確認(rèn)允 許經(jīng)由無損分組協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的分組,2) 網(wǎng)絡(luò)分組的有效負(fù)栽移位允許經(jīng)由無損分組協(xié)議傳送對于經(jīng)由有損 協(xié)議傳輸被構(gòu)建的分組,3)考慮由于加密造成的開銷,通過調(diào)節(jié)最 大傳輸單元(MTU)參數(shù)而減小分組分段,4)客戶端側(cè)網(wǎng)絡(luò)通信的 應(yīng)用知道的優(yōu)先化,以及5)網(wǎng)絡(luò)中斷保護(hù),用于可靠的和持久的網(wǎng) 絡(luò)連接性與接入,諸如用于移動(dòng)計(jì)算。
一方面,本發(fā)明涉及用于建立在第一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備與第 二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備之間的對等通信會話的方法.笫 一 網(wǎng)絡(luò)可 以是與第二網(wǎng)絡(luò)不連接的,并且不能路由到第二網(wǎng)絡(luò).該方法包括 由第一計(jì)算設(shè)備建立與第三計(jì)算設(shè)備的第一隧道會話,和由笫二計(jì) 算設(shè)備建立與第三計(jì)算設(shè)備的第二隧道會話。第三計(jì)算設(shè)備可以是
網(wǎng)關(guān),諸如SSL VPN網(wǎng)關(guān)。第一計(jì)算設(shè)備經(jīng)由第三計(jì)算設(shè)備,諸如 經(jīng)由信令協(xié)議發(fā)起到第二計(jì)算設(shè)備的通信會話.服務(wù)器接收一個(gè)信 號,用來建立發(fā)起的通信會話,并且服務(wù)器把第一網(wǎng)絡(luò)地址傳送到 第一網(wǎng)絡(luò)的第一計(jì)算設(shè)備,第一網(wǎng)絡(luò)地址包括與第二隧道會話關(guān)聯(lián) 的第二計(jì)算設(shè)備。第一計(jì)算設(shè)備通過使用第一網(wǎng)絡(luò)地址傳送發(fā)起與 第二計(jì)算設(shè)備的連接的請求,方法還包括通過第三計(jì)算設(shè)備截取請 求,并為第一計(jì)算設(shè)備提供用于第二計(jì)算設(shè)備的第二網(wǎng)絡(luò)地址。第 二網(wǎng)絡(luò)地址識別與笫二計(jì)算設(shè)備關(guān)聯(lián)的公共網(wǎng)地址.第三計(jì)算設(shè)備 通過使用第二網(wǎng)絡(luò)地址,諸如經(jīng)由橫穿防火墻的浮筒會話(swi,er session)把請求傳送到第二計(jì)算設(shè)備,以允許來自第一計(jì)算設(shè)備的 連接。
在本發(fā)明的一個(gè)實(shí)施例中,通過使用安全套接字層或虛擬專用網(wǎng) 絡(luò)建立第一隧道會話或第二隧道會話.第三計(jì)算設(shè)備可以是遠(yuǎn)程接 入網(wǎng)關(guān)。在另一個(gè)實(shí)施例中,第二計(jì)算設(shè)備位于與笫二網(wǎng)絡(luò)地址關(guān) 聯(lián)的防火墻的后面。
在另一個(gè)實(shí)施例中,本發(fā)明的方法包括通過把帶外信號經(jīng)由第一 隧道會話傳送到第 一計(jì)算設(shè)備而由第三計(jì)算設(shè)備把第二網(wǎng)絡(luò)地址提 供給第一計(jì)算設(shè)備。在附加實(shí)施例中,該方法包括由第二計(jì)算設(shè)備 為第一計(jì)算設(shè)備提供在防火墻中的轉(zhuǎn)發(fā)口,以便使用第二網(wǎng)絡(luò)地址 與第二計(jì)算設(shè)備通信。
在本發(fā)明的再一個(gè)實(shí)施例中,第三計(jì)算設(shè)備把密鑰傳送到第一計(jì) 算設(shè)備和第二計(jì)算設(shè)備。第 一計(jì)算設(shè)備和第二計(jì)算設(shè)備可以交換密 鑰。另外,第一和第二計(jì)算設(shè)備可以在發(fā)送數(shù)據(jù)到其它計(jì)算設(shè)備之 前檢驗(yàn)從其它計(jì)算設(shè)備接收的密鑰是否匹配。
在本發(fā)明的一些實(shí)施例中,該方法把第一電信設(shè)備與第一計(jì)算設(shè) 備相關(guān)聯(lián),和把第二電信設(shè)備與第二計(jì)算設(shè)備相關(guān)聯(lián).第一電信設(shè) 備或第二電信設(shè)備可包括軟件部件或硬件部件,諸如硬或軟VoIP電
話。在一個(gè)實(shí)施例中,本發(fā)明的方法包括經(jīng)由在笫一和第二計(jì)算設(shè) 備之間的連接建立在第一電信設(shè)備與第二電信設(shè)備之間的電信會 話。第一電信設(shè)備和第二電信設(shè)備可以通過電信會話通信而不用經(jīng) 過笫三計(jì)算設(shè)備,
在本發(fā)明的另一個(gè)實(shí)施例中,該方法經(jīng)由在第一計(jì)算設(shè)備和第二 計(jì)算設(shè)備之間的連接傳送遠(yuǎn)程顯示協(xié)議。遠(yuǎn)程桌面協(xié)議可包括獨(dú)立 計(jì)算結(jié)構(gòu)協(xié)議或遠(yuǎn)程桌面協(xié)議。在再一個(gè)實(shí)施例中,該方法可包括
經(jīng)由連接與第二計(jì)算設(shè)備共享第一計(jì)算設(shè)備的屏幕視圖或屏幕數(shù) 據(jù),
一方面,本發(fā)明涉及在網(wǎng)關(guān)中執(zhí)行的、用于建立在第一網(wǎng)絡(luò)上的 第一計(jì)算設(shè)備與第二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備之間的對等通信會話的 方法。第一網(wǎng)絡(luò)可以是與第二網(wǎng)絡(luò)不連接的,并且不能路由到第二 網(wǎng)絡(luò)。該方法包括建立與笫一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備的第一隧道會 話,和建立與第二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備的第二隧道會話。網(wǎng)關(guān)接 收由第一計(jì)算設(shè)備發(fā)起與第二計(jì)算設(shè)備的通信會話的請求。第一計(jì) 算設(shè)備提供用于聯(lián)系第二計(jì)算設(shè)備的第一網(wǎng)絡(luò)地址。第一網(wǎng)絡(luò)地址 識別與第二隧道會話關(guān)聯(lián)的、第二計(jì)算設(shè)備的網(wǎng)絡(luò)地址。網(wǎng)關(guān)接收 由第 一計(jì)算設(shè)備發(fā)起通過使用第 一 網(wǎng)絡(luò)地址與第二計(jì)算設(shè)備連接的 請求,截取發(fā)起連接的請求,并為第一計(jì)算設(shè)備提供用于第二計(jì)算 設(shè)備的第二網(wǎng)絡(luò)地址。第二網(wǎng)絡(luò)地址識別與第二計(jì)算設(shè)備關(guān)聯(lián)的公 共網(wǎng)地址。網(wǎng)關(guān)通過使用第二網(wǎng)絡(luò)地址,諸如經(jīng)由橫穿防火墻的浮 筒會話把允許從第一計(jì)算設(shè)備到第二計(jì)算設(shè)備的連接的請求傳送到 第二計(jì)算設(shè)備。
在一個(gè)實(shí)施例中,經(jīng)由網(wǎng)關(guān)的第一隧道會話或笫二隧道會話包括 安全套接字層或虛擬專用網(wǎng)絡(luò)。在另一個(gè)實(shí)施例中,第二計(jì)算設(shè)備 位于與第二網(wǎng)絡(luò)地址關(guān)聯(lián)的防火墻的后面。在再一個(gè)實(shí)施例中,本
發(fā)明的方法通過把帶外信號經(jīng)由第 一 隧道會話傳送到第 一計(jì)算設(shè)備 而把第二網(wǎng)絡(luò)地址提供給第一計(jì)算設(shè)備。另外,網(wǎng)關(guān)可以把密鑰傳 送到第一計(jì)算設(shè)備和第二計(jì)算設(shè)備.
另一方面,本發(fā)明涉及用于經(jīng)由第三計(jì)算設(shè)備建立在第一網(wǎng)絡(luò)上 的第 一計(jì)算設(shè)備與第二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備之間的對等通信會話 的系統(tǒng)。第一網(wǎng)絡(luò)可以是與笫二網(wǎng)絡(luò)不連接的,并且不能路由到第二網(wǎng)絡(luò).該系統(tǒng)包括在第一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備與第二網(wǎng)絡(luò)上的 第二計(jì)算設(shè)備。第三計(jì)算設(shè)備建立與第一計(jì)算設(shè)備的第一隧道會 話,和與第二計(jì)算設(shè)備的笫二隧道會話.系統(tǒng)還包括經(jīng)由第三計(jì)算 設(shè)備可接入的服務(wù)器。在系統(tǒng)操作中,服務(wù)器經(jīng)由第三計(jì)算設(shè)備把 第一網(wǎng)絡(luò)地址傳送到第一計(jì)算設(shè)備,該第一網(wǎng)絡(luò)地址識別與第二隧 道會話關(guān)聯(lián)的笫二計(jì)算設(shè)備的網(wǎng)絡(luò)地址.第一計(jì)算設(shè)備通過使用第 一網(wǎng)絡(luò)地址經(jīng)由第三計(jì)算設(shè)備傳送發(fā)起與笫二計(jì)算設(shè)備的連接的請 求,第三計(jì)算設(shè)備截取第一請求,并為第一計(jì)算設(shè)備提供用于第二 計(jì)算設(shè)備的第二網(wǎng)絡(luò)地址。第二網(wǎng)絡(luò)地址識別與第二計(jì)算設(shè)備關(guān)聯(lián) 的公共網(wǎng)地址,第三計(jì)算設(shè)備通過使用第二網(wǎng)絡(luò)地址傳送第二請求 到第二計(jì)算設(shè)備,以允許來自第一計(jì)算設(shè)備的連接。
在該系統(tǒng)的一個(gè)實(shí)施例中,第一隧道會話或第二隧道會話包括安 全套接字層或虛擬專用網(wǎng)絡(luò)。而且,第三計(jì)算設(shè)備可以是遠(yuǎn)程接入
網(wǎng)關(guān),諸如SSL VPN網(wǎng)關(guān)。在系統(tǒng)的另一個(gè)實(shí)施例中,笫二計(jì)算設(shè) 備位于與第二網(wǎng)絡(luò)地址關(guān)聯(lián)的防火墻的后面。
在本發(fā)明的另外的實(shí)施例中,第三計(jì)算設(shè)備通過經(jīng)由第一隧道會 話,諸如經(jīng)由帶外TLS會話,傳送帶外信號而把第二網(wǎng)絡(luò)地址提供 給第一計(jì)算設(shè)備。在一個(gè)實(shí)施例中,由第二計(jì)算設(shè)備為第一計(jì)算設(shè) 備提供在防火墻中的轉(zhuǎn)發(fā)口,以便使用第二網(wǎng)絡(luò)地址與第二計(jì)算設(shè) 備通信。
在本發(fā)明的再一個(gè)實(shí)施例中,第三計(jì)算設(shè)備把密鑰傳送到第一計(jì) 算設(shè)備和第二計(jì)算設(shè)備.第 一計(jì)算設(shè)備和第二計(jì)算設(shè)備可以交換密 鑰。另外,第一和第二計(jì)算設(shè)備可以在發(fā)送數(shù)據(jù)之前檢驗(yàn)從其它計(jì) 算設(shè)備接收的密鑰是否匹配。
在本發(fā)明的一些實(shí)施例中,系統(tǒng)包括與第一計(jì)算設(shè)備關(guān)聯(lián)的第一 電信設(shè)備,和與第二計(jì)算設(shè)備關(guān)聯(lián)的第二電信設(shè)備,第一電信設(shè)備 或第二電信設(shè)備可包括軟件部件或硬件部件,諸如硬或軟VoIP電 話.在一個(gè)實(shí)施例中,本發(fā)明的系統(tǒng)包括經(jīng)由在第一和第二計(jì)算設(shè) 備之間的連接建立在第一電信設(shè)備與第二電信設(shè)備之間的電信會 話。第一電信設(shè)備和第二電信設(shè)備可以通過電信會話通信而不用經(jīng) 過第三計(jì)算設(shè)備,
在本發(fā)明的另 一個(gè)實(shí)施例中,第 一計(jì)算設(shè)備和第二計(jì)算設(shè)備經(jīng)由
連接傳送遠(yuǎn)程顯示協(xié)議.遠(yuǎn)程桌面協(xié)議可包括獨(dú)立計(jì)算結(jié)構(gòu)協(xié)議或 遠(yuǎn)程桌面協(xié)議.在再一個(gè)實(shí)施例中,第一計(jì)算設(shè)備可以經(jīng)由連接與 第二計(jì)算設(shè)備共享屏幕視困或屏幕數(shù)據(jù).
另一方面,本發(fā)明涉及經(jīng)由無損協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸 被構(gòu)建的分組的方法.該方法可以在一個(gè)或多個(gè)電子設(shè)備,諸如在 系統(tǒng)中,并通過任何適當(dāng)?shù)难b置和機(jī)構(gòu)被執(zhí)行.該方法包括經(jīng)由無 損協(xié)議建立在第一計(jì)算設(shè)備與笫二計(jì)算設(shè)備之間的連接.在一些實(shí)
施例中,第二計(jì)算設(shè)備可以是網(wǎng)關(guān),諸如SSL VPN網(wǎng)關(guān).第一計(jì)算 設(shè)備檢測無損協(xié)議分組,無損協(xié)議分組包括具有按照有損協(xié)議被構(gòu) 建的一個(gè)或多個(gè)分組的有效負(fù)栽。第一計(jì)算設(shè)備把無損協(xié)議分組的 接收的虛假確認(rèn)傳送到第一計(jì)算設(shè)備和/或笫二計(jì)算設(shè)備。無損協(xié)議 分組的接收的虛假確認(rèn)阻止利用用于無損協(xié)議的可靠性算法和機(jī) 構(gòu)。第一計(jì)算設(shè)備把無損協(xié)議分組傳送到第二計(jì)算設(shè)備。在一些實(shí) 施例中,無損協(xié)議分組的接收的虛假確認(rèn)在傳送無損協(xié)議分組之前 被傳送.
在一個(gè)實(shí)施例中,本發(fā)明的方法包括由第一計(jì)算設(shè)備使用密鑰來 加密一個(gè)或多個(gè)分組.在一些實(shí)施例中,加密密鑰可以經(jīng)由在第一 計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的帶外傳輸安全層會話被提供給第一 計(jì)算設(shè)備.在另一個(gè)實(shí)施例中,方法逐個(gè)分組地加密一個(gè)或多個(gè)分 組.
在本發(fā)明的方法的另一個(gè)實(shí)施例中,響應(yīng)于由第一計(jì)算設(shè)備和/ 或第二計(jì)算設(shè)備接收到無損協(xié)議分組的接收的虛假確認(rèn),第一計(jì)算
設(shè)備和/或第二計(jì)算設(shè)備阻止執(zhí)行與提供無損協(xié)議的無損特性關(guān)聯(lián) 的操作。在一個(gè)實(shí)施例中,無損協(xié)議是傳輸控制協(xié)議。
在再一個(gè)實(shí)施例中,本發(fā)明的方法阻止第一計(jì)算設(shè)備和/或第二 計(jì)算設(shè)備的網(wǎng)絡(luò)堆棧執(zhí)行與無損協(xié)議有關(guān)的一個(gè)或多個(gè)以下的算 法1)重發(fā),2)排序,3)流控制算法,4)naple算法,和5)滑動(dòng) 窗口算法.
在一個(gè)實(shí)施例中,有損協(xié)議包括用戶數(shù)據(jù)報(bào)協(xié)議。在另一個(gè)實(shí)施 例中,該方法包括由第一計(jì)算設(shè)備經(jīng)由安全套接字層或傳輸安全層 隧道把無損協(xié)議分組傳送到第二計(jì)算設(shè)備。
在另一個(gè)實(shí)施例中,有效負(fù)栽的一個(gè)或多個(gè)分組包括實(shí)時(shí)協(xié)議。
在附加實(shí)施例中,該方法包括由第一計(jì)算設(shè)備把實(shí)時(shí)話音、音頻或 數(shù)據(jù)之一經(jīng)由一個(gè)或多個(gè)分組傳送到第二計(jì)算設(shè)備。
一方面,本發(fā)明涉及通過使用在TCP連接上不可靠的傳輸協(xié)議發(fā) 送來自應(yīng)用的分組的方法.該方法包括在第一設(shè)備接收要使用不可 靠的傳輸協(xié)議發(fā)送的第一分組,和創(chuàng)建第一 TCP分組,該第一 TCP 分組包括接收的第一分組的第一有效負(fù)栽和與在第一設(shè)備與第二設(shè) 備之間建立的TCP連接關(guān)聯(lián)的信息的第一 TCP首部.第一設(shè)備把第
一 TCP分組發(fā)送到笫二設(shè)備.該方法還包括在第一設(shè)備處接收要使 用不可靠的傳輸協(xié)議發(fā)送的第二分組,和創(chuàng)建第二 TCP分組,該第
二 TCP分組包括接收的第二分組的第二有效負(fù)栽和第一 TCP首部信 息。在接收來自第二設(shè)備的第一有效負(fù)栽的接收的確認(rèn)之前,第一 設(shè)備把第二 TCP分組發(fā)送到第二設(shè)備.
在一個(gè)實(shí)施例中,本發(fā)明的方法建立與一個(gè)端口號的TCP連接, 該端口號與不可靠的傳輸協(xié)議相關(guān)聯(lián)。在另一個(gè)實(shí)施例中,該方法 包括由第一設(shè)備動(dòng)態(tài)地確定包括不可靠的傳輸協(xié)議的第一 TCP分組 與第二TCP分組。在一些實(shí)施例中,不可靠的傳輸協(xié)議是UDP。
在另外的實(shí)施例中,該方法包括在第一設(shè)備上通過使用分組捕獲 機(jī)構(gòu)截取第一 TCP分組與第二 TCP分組來接收第一 TCP分組與第二 TCP分組。在一些實(shí)施例中,該方法包括由第一設(shè)備建立與VPN網(wǎng)關(guān) 設(shè)備的TCP連接.在其它的實(shí)施例中,該方法包括經(jīng)由TCP連接建 立在第一設(shè)備與第二設(shè)備之間的對等通信,在本發(fā)明的另 一個(gè)實(shí)施 例中,該方法包括由第一設(shè)備加密第一與第二 TCP分組,和由第二 設(shè)備解密該加密的笫一與第二TCP分組,
另 一方面,本發(fā)明涉及通過使用在TCP連接上的不可靠的傳輸協(xié) 議發(fā)送來自應(yīng)用的分組的方法。該方法包括在第二設(shè)備處截取在第 一設(shè)備處創(chuàng)建的和在第二設(shè)備處接收的第一 TCP分組。第一 TCP分 組包括由應(yīng)用通過使用不可靠的傳輸協(xié)議生成的第一分組的第一有 效負(fù)栽和與在第一設(shè)備與第二設(shè)備之間建立的TCP連接關(guān)聯(lián)的信息 的笫一 TCP首部。該方法的截取在第一 TCP分組被提供給第二設(shè)備 的TCP堆棧之前發(fā)生.該方法包括響應(yīng)于信息的TCP首部來識別第
一有效負(fù)栽是由應(yīng)用通過使用不可靠的傳輸協(xié)議而生成的分組,從 第一 TCP分組剝離信息的TCP首部,和通過使用不可靠的傳輸協(xié)議
把第一有效負(fù)栽轉(zhuǎn)發(fā)到應(yīng)用.
在一個(gè)實(shí)施例中,不可靠的協(xié)議是UDP.在另一個(gè)實(shí)施例中,識 別的步驟包括識別TCP首部信息,包括與不可靠的傳輸協(xié)議關(guān)聯(lián)的 端口號.在一些實(shí)施例中,該方法包括由第二設(shè)備通過使用分組捕 獲驅(qū)動(dòng)器來截取第一 TCP分組。
在一些實(shí)施例中,第一設(shè)備是客戶端設(shè)備并且笫二設(shè)備是VPN
網(wǎng)關(guān).另外,本發(fā)明的方法包括把第一有效負(fù)栽轉(zhuǎn)發(fā)到應(yīng)用之前在 笫二設(shè)備上執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
再一方面,本發(fā)明涉及用于通過使用在TCP連接上的不可靠的傳 輸協(xié)議發(fā)送來自應(yīng)用的分組的系統(tǒng)。系統(tǒng)包括第一和第二設(shè)備。第 一設(shè)備具有生成第一和第二分組的應(yīng)用,第一和第二分組打算通過 使用不可靠的傳輸協(xié)議被發(fā)送.第一設(shè)備還具有過濾器進(jìn)程和隧道 進(jìn)程.過濾器進(jìn)程截取來自應(yīng)用的第一和第二分組,并把截取的分 組轉(zhuǎn)發(fā)到隧道進(jìn)程.隧道進(jìn)程請求打開在第一設(shè)備與第二設(shè)備之間 的TCP連接。打開TCP連接的請求向第一和第二設(shè)備表示,TCP連接 將傳輸打算用不可靠的傳輸協(xié)議發(fā)送的分組。隧道進(jìn)程把第一和第
二分組作為在第一和第二 TCP分組中的有效負(fù)栽轉(zhuǎn)發(fā)到笫二設(shè)備. 隧道進(jìn)程在發(fā)送TCP分組之后和在接收對于第一 TCP分組的確認(rèn)之 前發(fā)送第二TCP分組。
本發(fā)明的系統(tǒng)的第二設(shè)備與第 一設(shè)備進(jìn)行通信,第二設(shè)備具有第 二過濾器進(jìn)程和隧道進(jìn)程。第二隧道進(jìn)程打開由第一設(shè)備請求的TCP 連接,并識別并把TCP連接的源地址轉(zhuǎn)發(fā)到第二過濾器進(jìn)程。第二 過濾器進(jìn)程截取在第二設(shè)備處用首部中的TCP連接源地址接收的、 來自應(yīng)用的分組.第二過濾器進(jìn)程從接收的分組剝離TCP首部,把 被剝離的分組轉(zhuǎn)發(fā)到打算的目的地,并繞開在第二設(shè)備上的TCP/IP 堆棧。
在本發(fā)明的系統(tǒng)的一個(gè)實(shí)施例中,在第一設(shè)備上的第一過濾器進(jìn) 程和/或在笫二設(shè)備上的笫二過濾器進(jìn)程是分組捕獲驅(qū)動(dòng)器.在一些 實(shí)施例中,第一設(shè)備是客戶端設(shè)備并且第二設(shè)備是VPN網(wǎng)關(guān)設(shè)備。 在一個(gè)實(shí)施例中,不可靠的數(shù)據(jù)協(xié)議是UDP。
在另一個(gè)實(shí)施例中,系統(tǒng)還包括第三設(shè)備,剝離的分組被發(fā)送到 該第三設(shè)備。另外,第二設(shè)備還可包括網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)表,用來在把剝離的分組發(fā)送到第三設(shè)備之前執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換,
再一方面,本發(fā)明涉及用于調(diào)節(jié)安全網(wǎng)絡(luò)通信的最大傳輸單元以 減小網(wǎng)絡(luò)分段的方法。方法可以在一個(gè)或多個(gè)電子設(shè)備,諸如在系 統(tǒng)中,并通過任何適當(dāng)?shù)难b置和機(jī)構(gòu)被執(zhí)行.該方法包括建立在第 一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的會話.會話可以由第 一計(jì)算設(shè)備 的代理建立。第一計(jì)算設(shè)備具有第一網(wǎng)絡(luò)堆棧.該方法由第一計(jì)算 設(shè)備檢測具有加密的有效負(fù)栽的網(wǎng)絡(luò)分組,并確定對于笫一網(wǎng)絡(luò)堆 棧的最大傳輸單元參數(shù)的設(shè)置,以將最大傳輸單元尺寸減小至少與 有效負(fù)載的加密部分關(guān)聯(lián)的一個(gè)尺寸。該方法把第一網(wǎng)絡(luò)堆棧的最大傳輸單元(MTU)參數(shù)改變到所確定的設(shè)置,這樣,報(bào)告的MTU參 數(shù)被減小,以便考慮加密.
在一個(gè)實(shí)施例中,本發(fā)明的方法包括經(jīng)由安全套接字層或傳輸層 安全隧道把網(wǎng)絡(luò)分組傳送到第二計(jì)算設(shè)備。第二計(jì)算設(shè)備可以是網(wǎng) 關(guān),諸如SSL VPN網(wǎng)關(guān).在另一個(gè)實(shí)施例中有效負(fù)栽包括實(shí)時(shí)協(xié)議。
另外,在一個(gè)實(shí)施例中,方法還可包括經(jīng)由第一網(wǎng)絡(luò)堆棧的網(wǎng)絡(luò) 驅(qū)動(dòng)器接口技術(shù)規(guī)范(NDIS)水平機(jī)構(gòu)來改變最大傳輸單元參數(shù). 在另一個(gè)實(shí)施例中,該方法對每個(gè)在第一計(jì)算設(shè)備與第二計(jì)算設(shè)備 之間的會話動(dòng)態(tài)地確定最大傳輸單元參數(shù)的設(shè)置。在一個(gè)實(shí)施例 中,第一計(jì)算設(shè)備的代理經(jīng)由IOCTL應(yīng)用編程接口與笫一網(wǎng)絡(luò)堆棧 通信,以便把最大傳輸單元參數(shù)改變?yōu)樗_定的設(shè)置。
在一些實(shí)施例中,本發(fā)明的方法經(jīng)由網(wǎng)關(guān)建立在第一計(jì)算設(shè)備與 第二計(jì)算設(shè)備之間的會話.在其它實(shí)施例中,該方法包括由第一計(jì)算設(shè)備把實(shí)時(shí)話音、音頻或數(shù)據(jù)經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)分組的有效負(fù) 栽傳送到第二計(jì)算設(shè)備。在再一個(gè)實(shí)施例中,該方法可包括在傳送 網(wǎng)絡(luò)分組之前把網(wǎng)絡(luò)分組的接收的虛假確認(rèn)傳送到第一計(jì)算設(shè)備和 /或第二計(jì)算設(shè)備。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)分組包括無損協(xié)議分組, 諸如傳輸控制協(xié)議。在另一個(gè)實(shí)施例中,有效負(fù)栽包括有損協(xié)議分 組,諸如用戶數(shù)據(jù)報(bào)協(xié)議。
另一方面,本發(fā)明涉及對客戶端優(yōu)先化與客戶端的應(yīng)用關(guān)聯(lián)的、 客戶端的網(wǎng)絡(luò)通信的方法。該方法包括由客戶端截取與客戶端的一 個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組,并存儲該一個(gè)或多個(gè)網(wǎng) 絡(luò)分組到一個(gè)隊(duì)列。客戶端確定與客戶端的第一應(yīng)用關(guān)聯(lián)的排隊(duì)的
一個(gè)或多個(gè)網(wǎng)絡(luò)分組.客戶端表示所確定的一個(gè)或多個(gè)網(wǎng)絡(luò)分組的 優(yōu)先權(quán),把確定的一個(gè)或多個(gè)網(wǎng)絡(luò)分組放置在與客戶端的第二應(yīng)用 關(guān)聯(lián)的、隊(duì)列中的至少一個(gè)網(wǎng)絡(luò)分組之前.客戶端提供優(yōu)先化的一 個(gè)或多個(gè)網(wǎng)絡(luò)分組以便經(jīng)由客戶端的網(wǎng)絡(luò)堆棧通信.
在一個(gè)實(shí)施例中,本發(fā)明的方法包括由客戶端確定第一應(yīng)用的排 隊(duì)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組包括實(shí)時(shí)數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)可包括以下的一
項(xiàng)1)實(shí)時(shí)協(xié)議,2)用戶數(shù)據(jù)報(bào)協(xié)議,和3)話音或音頻的表示。 在另一個(gè)實(shí)施例中,該方法包括由客戶端阻止第二應(yīng)用的至少一 個(gè)網(wǎng)絡(luò)分組在笫一應(yīng)用的一個(gè)或多個(gè)網(wǎng)絡(luò)分組之前經(jīng)由網(wǎng)絡(luò)堆棧被 傳送.在再一個(gè)實(shí)施例中,該方法包括由客戶端把與第二應(yīng)用關(guān)聯(lián) 的網(wǎng)絡(luò)分組保存在隊(duì)列中,并當(dāng)在保存的網(wǎng)絡(luò)分組之前優(yōu)先化的、 與第一應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組被傳送時(shí)釋放保存的網(wǎng)絡(luò)分 組.
在本發(fā)明的又一個(gè)實(shí)施例中,該方法包括由客戶端對于客戶端上 的一個(gè)或多個(gè)應(yīng)用透明地截取一個(gè)或多個(gè)網(wǎng)絡(luò)分組。在一些實(shí)施例 中,第一應(yīng)用在前臺運(yùn)行,以及笫二應(yīng)用在后臺運(yùn)行。
在本發(fā)明的一個(gè)實(shí)施例中,該方法包括把比與第二應(yīng)用關(guān)聯(lián)的優(yōu) 先權(quán)更高的優(yōu)先權(quán)與第一應(yīng)用相關(guān)聯(lián)。在另一個(gè)實(shí)施例中,用戶可 以規(guī)定第一應(yīng)用或第二應(yīng)用的優(yōu)先權(quán)。在再一個(gè)實(shí)施例中,客戶端 接收來自計(jì)算設(shè)備的一個(gè)或多個(gè)網(wǎng)絡(luò)分組。另外,該一個(gè)或多應(yīng)用 可提供一個(gè)或多個(gè)網(wǎng)絡(luò)分組,以便從客戶端到計(jì)算設(shè)備的傳送。
另一方面,本發(fā)明涉及對于與客戶端的應(yīng)用關(guān)聯(lián)的客戶端網(wǎng)絡(luò)通 信進(jìn)行優(yōu)先化的客戶端??蛻舳税ㄓ糜诮厝∨c客戶端的一個(gè)或多 個(gè)應(yīng)用關(guān)聯(lián)的客戶端的一個(gè)或多個(gè)網(wǎng)絡(luò)分組的機(jī)構(gòu)??蛻舳诉€包括 網(wǎng)絡(luò)驅(qū)動(dòng)器,用于存儲一個(gè)或多個(gè)網(wǎng)絡(luò)分組到一個(gè)隊(duì)列,并經(jīng)由客 戶端的網(wǎng)絡(luò)堆棧傳送該一個(gè)或多個(gè)網(wǎng)絡(luò)分組.客戶端還包括代理, 用于確定與客戶端的第一應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組,并向網(wǎng) 絡(luò)驅(qū)動(dòng)器表示該一個(gè)或多個(gè)網(wǎng)絡(luò)分組的優(yōu)先權(quán),以把所確定的一個(gè) 或多個(gè)網(wǎng)絡(luò)分組放置在與客戶端的第二應(yīng)用關(guān)聯(lián)的、隊(duì)列中的至少 一個(gè)網(wǎng)絡(luò)分組的前面.
在一個(gè)實(shí)施例中,本發(fā)明的代理確定第一應(yīng)用的一個(gè)或多個(gè)網(wǎng)絡(luò) 分組,包括實(shí)時(shí)數(shù)據(jù).實(shí)時(shí)數(shù)據(jù)包括以下的一項(xiàng)1)實(shí)時(shí)協(xié)議,2)
用戶數(shù)據(jù)報(bào)協(xié)議,和3)話音或音頻的表示。
在另一個(gè)實(shí)施例中,本發(fā)明的代理或網(wǎng)絡(luò)驅(qū)動(dòng)器阻止第二應(yīng)用的 至少一個(gè)網(wǎng)絡(luò)分組在第一應(yīng)用的一個(gè)或多個(gè)網(wǎng)絡(luò)分組之前經(jīng)由網(wǎng)絡(luò) 堆棧被傳送.在一個(gè)實(shí)施例中,網(wǎng)絡(luò)驅(qū)動(dòng)器把與笫二應(yīng)用關(guān)聯(lián)的網(wǎng) 絡(luò)分組保存在隊(duì)列中,并當(dāng)在保存的網(wǎng)絡(luò)分組之前的、與第一應(yīng)用 關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組被傳送時(shí)釋放所保存的網(wǎng)絡(luò)分組。
在另一個(gè)實(shí)施例中,本發(fā)明經(jīng)由機(jī)構(gòu)對于客戶端上的一個(gè)或多個(gè) 應(yīng)用透明地截取一個(gè)或多個(gè)網(wǎng)絡(luò)分組。在一些實(shí)施例中,第一應(yīng)用 在前臺運(yùn)行,以及第二應(yīng)用在后臺運(yùn)行.另外,第一應(yīng)用可能具有 比客戶端的第二應(yīng)用更高的優(yōu)先權(quán).而且,客戶端可包括用于用戶 規(guī)定優(yōu)先權(quán)的配置機(jī)構(gòu)。在一些實(shí)施例中,客戶端接收來自計(jì)算設(shè) 備的一個(gè)或多個(gè)網(wǎng)絡(luò)分組。在其它實(shí)施例中,該一個(gè)或多個(gè)應(yīng)用提 供一個(gè)或多個(gè)網(wǎng)絡(luò)分組以便從客戶端到計(jì)算設(shè)備的傳送.
在另外的實(shí)施例中,網(wǎng)絡(luò)驅(qū)動(dòng)器包括網(wǎng)絡(luò)驅(qū)動(dòng)器接口技術(shù)規(guī)范 (NDIS)驅(qū)動(dòng)器.另外,網(wǎng)絡(luò)驅(qū)動(dòng)器可以在客戶端的操作系統(tǒng)的內(nèi) 核模式下工作。在某些情形下,代理在客戶端的操作系統(tǒng)的用戶模 式下工作。而且,網(wǎng)絡(luò)驅(qū)動(dòng)器的代理包括用于截取客戶端的一個(gè)或
多個(gè)網(wǎng)絡(luò)分組的機(jī)構(gòu)。
再一方面,本發(fā)明涉及用于保護(hù)經(jīng)由第一協(xié)議建立的會話免受網(wǎng) 絡(luò)中斷的方法。該方法包括經(jīng)由客戶端的代理建立在客戶端與設(shè)備 之間的網(wǎng)絡(luò)連接上經(jīng)由第一協(xié)議的會話的步驟。網(wǎng)絡(luò)連接與網(wǎng)絡(luò)堆 棧相關(guān)聯(lián).網(wǎng)絡(luò)堆棧的第一部分包括在第一協(xié)議的層下面的網(wǎng)絡(luò)堆 棧的一個(gè)或多個(gè)層,并且網(wǎng)絡(luò)堆棧的第二部分包括用于第一協(xié)議的 層和在第一協(xié)議上面的網(wǎng)絡(luò)堆棧的一個(gè)或多個(gè)層。該方法包括檢測 造成網(wǎng)絡(luò)堆棧的第二部分被解除的、在網(wǎng)絡(luò)連接中的中斷,和在中 斷期間由代理保持會話和網(wǎng)絡(luò)堆棧的第二部分.該方法還包括重新 建立網(wǎng)絡(luò)堆棧的第一部分和網(wǎng)絡(luò)連接,而同時(shí)保持會話和網(wǎng)絡(luò)堆棧 的第二部分。
在一個(gè)實(shí)施例中,該方法包括用網(wǎng)絡(luò)堆棧的保持的第二部分和網(wǎng) 絡(luò)堆棧的重新建立的第一部分繼續(xù)進(jìn)行會話.在一些實(shí)施例中,該 方法還包括由網(wǎng)絡(luò)堆棧的第一和/或第二部分丟棄在中斷期間接收 的任何網(wǎng)絡(luò)分組.
在另一個(gè)實(shí)施例中,設(shè)備包括遠(yuǎn)程接入網(wǎng)關(guān)或另一個(gè)計(jì)算設(shè)備.
在某些情形下,該方法包括經(jīng)由以下的協(xié)議的第一協(xié)議建立會話 l)安全套接字層(SSL)協(xié)議,2)傳輸層安全(TLS)協(xié)議,以及3) 隧道協(xié)議,另外,本發(fā)明的方法可包括由代理經(jīng)由在客戶端與設(shè)備 之間的會話傳送實(shí)時(shí)數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)可包括實(shí)時(shí)協(xié)議,或?qū)崟r(shí)數(shù)據(jù) 可表示話音或音頻.
在一些實(shí)施例中,代理在客戶端的搮作系統(tǒng)的用戶模式下工作, 在一個(gè)實(shí)施例中,網(wǎng)絡(luò)的第一部分包括傳輸控制協(xié)議或互聯(lián)網(wǎng)協(xié)議 之一。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧的第二部分包括以下的一個(gè)協(xié) 議l)互聯(lián)網(wǎng)協(xié)議,2)用戶數(shù)據(jù)報(bào)協(xié)議,或3)通過互聯(lián)網(wǎng)的話音協(xié) 議。另外,客戶端可以經(jīng)由遠(yuǎn)程顯示協(xié)議與設(shè)備通信。遠(yuǎn)程顯示協(xié) 議可以是獨(dú)立的計(jì)算結(jié)構(gòu)(ICA)協(xié)議或遠(yuǎn)程桌面協(xié)議(RDP)。
在另一個(gè)實(shí)施例中,本發(fā)明的方法對于經(jīng)由網(wǎng)絡(luò)連接通信的客戶 端的應(yīng)用透明地執(zhí)行。在一個(gè)實(shí)施例中,該方法包括由代理對于客 戶端的應(yīng)用透明地截取與應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組.在一個(gè) 實(shí)施例中,該方法包括由與堆棧的第一部分關(guān)聯(lián)的網(wǎng)絡(luò)驅(qū)動(dòng)器對于 客戶端的應(yīng)用透明地截取與應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組.
另一方面,本發(fā)明涉及用于保護(hù)經(jīng)由第一協(xié)議建立的會話免受網(wǎng) 絡(luò)中斷的系統(tǒng)。系統(tǒng)具有客戶端的代理經(jīng)由第一協(xié)議通過網(wǎng)絡(luò)連接 建立在客戶端與設(shè)備之間的會話。該系統(tǒng)包括具有第一部分和第二 部分的網(wǎng)絡(luò)堆棧,諸如客戶端的網(wǎng)絡(luò)堆棧。網(wǎng)絡(luò)堆棧的第二部分包 括用于第一協(xié)議的層和在第一協(xié)議上面的、網(wǎng)絡(luò)堆棧的一個(gè)或多個(gè) 層,以及網(wǎng)絡(luò)堆棧的第一部分包括在第一協(xié)議的層下面的、網(wǎng)絡(luò)堆 棧的一個(gè)或多個(gè)層。該系統(tǒng)包括檢測器,用于檢測造成網(wǎng)絡(luò)堆棧的 第一部分被解除的、在網(wǎng)絡(luò)連接中的中斷。在系統(tǒng)操作中和在由檢 測器檢測中斷時(shí),代理在中斷期間保持會話和網(wǎng)絡(luò)堆棧的第二部 分.客戶端重建網(wǎng)絡(luò)堆棧的第一部分和網(wǎng)絡(luò)連接,同時(shí)代理保持會 話和網(wǎng)絡(luò)堆棧的第二部分。
在本發(fā)明的系統(tǒng)的一個(gè)實(shí)施例中,代理用網(wǎng)絡(luò)堆棧的保持的第二 部分和網(wǎng)絡(luò)堆棧的重建的笫一部分繼續(xù)進(jìn)行會話。在一些實(shí)施例 中,網(wǎng)絡(luò)堆棧的第一和/或第二部分丟棄在中斷期間接收的任何網(wǎng)絡(luò) 分組。
在一個(gè)實(shí)施例中,系統(tǒng)的設(shè)備是遠(yuǎn)程接入網(wǎng)關(guān)或另一個(gè)計(jì)算設(shè)
備。由本發(fā)明的系統(tǒng)所使用的第一協(xié)議可包括以下的一個(gè)l)安全 套接字層(SSL)協(xié)議,2)傳輸層安全(TLS)協(xié)議,以及3)隧道協(xié) 議.在另一個(gè)實(shí)施例中,本發(fā)明的代理經(jīng)由在客戶端與設(shè)備之間的 會話傳送實(shí)時(shí)數(shù)據(jù).實(shí)時(shí)數(shù)據(jù)可包括實(shí)時(shí)協(xié)議,或話音或音頻的表 示。
在系統(tǒng)的一些實(shí)施例中,代理在客戶端的操作系統(tǒng)的用戶模式下 工作。在一個(gè)系統(tǒng)實(shí)施例中,網(wǎng)絡(luò)的第一部分包括傳輸控制協(xié)議和/ 或互聯(lián)網(wǎng)協(xié)議。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧的第二部分包括以下 的一個(gè)協(xié)議l)互聯(lián)網(wǎng)協(xié)議,2)用戶數(shù)據(jù)報(bào)協(xié)議,或3)通過互聯(lián)網(wǎng) 的話音協(xié)議。另外,客戶端可以經(jīng)由遠(yuǎn)程顯示協(xié)議與設(shè)備通信,它 可以是獨(dú)立的計(jì)算結(jié)構(gòu)(ICA)協(xié)議或遠(yuǎn)程桌面協(xié)議(RDP),
在另一個(gè)實(shí)施例中,本發(fā)明的系統(tǒng)保持網(wǎng)絡(luò)堆棧的第二部分和對 于經(jīng)由網(wǎng)絡(luò)連接通信的客戶端的應(yīng)用透明地重建網(wǎng)絡(luò)堆棧的笫一部 分。在一個(gè)實(shí)施例中,代理對于客戶端的應(yīng)用透明地截取與應(yīng)用關(guān) 聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,系統(tǒng)還包括由與堆棧 的第二部分關(guān)聯(lián)的網(wǎng)絡(luò)驅(qū)動(dòng)器對于客戶端的應(yīng)用透明地截取與應(yīng)用
關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組。
下面在附圖和說明中闡述本發(fā)明的各種實(shí)施例的細(xì)節(jié)。


通過參考結(jié)合附圖作出的以下的說明,本發(fā)明的上述的和其它的 目的、方面、特性和優(yōu)點(diǎn)將變得更明白和可以更好地了解,其中
圖1A是顯示用于在網(wǎng)絡(luò)環(huán)境下經(jīng)由網(wǎng)關(guān)實(shí)施本發(fā)明的操作的實(shí) 施例的框圖1B是顯示用于在對等網(wǎng)絡(luò)環(huán)境下實(shí)施本發(fā)明的操作的另一個(gè) 實(shí)施例的框圖1C是顯示用于網(wǎng)絡(luò)通信的、本發(fā)明的遠(yuǎn)程接入客戶端的實(shí)施 例的框圖1D和1E是顯示在實(shí)施本發(fā)明的實(shí)施例中有用的計(jì)算設(shè)備的實(shí) 施例的框圖2A是顯示用于實(shí)施用于建立對等通信路由的本發(fā)明的技術(shù)的
實(shí)施例的對等網(wǎng)絡(luò)環(huán)境的實(shí)施例的框困2B是顯示對于使得本發(fā)明的對等路由最優(yōu)化技術(shù)最優(yōu)化執(zhí)行
的步驟的實(shí)施例的流程圖3A是顯示在圖1A到1C上所示的說明性實(shí)施例的任何計(jì)算設(shè) 備的網(wǎng)絡(luò)堆棧的實(shí)施例的框圖3B是顯示對于使用網(wǎng)絡(luò)分組的接收的虛假確認(rèn)經(jīng)由對于經(jīng)由 有損協(xié)議傳輸被構(gòu)建的無損協(xié)議分組進(jìn)行通信所執(zhí)行的步驟的實(shí)施 例的流程圖3C是顯示對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的無損協(xié)議分組進(jìn)行 通信所執(zhí)行的步驟的實(shí)施例的流程圖4是顯示對于調(diào)節(jié)最大傳輸單元參數(shù)執(zhí)行的步驟的一個(gè)實(shí)施 例的流程圖5A是顯示用于提供客戶端側(cè)應(yīng)用知道的優(yōu)先化技術(shù)的客戶端 的環(huán)境的框圖5B是對于提供客戶端側(cè)應(yīng)用知道的優(yōu)先化執(zhí)行的步驟的一個(gè) 實(shí)施例的流程圖6A是顯示用于保護(hù)來自設(shè)備的網(wǎng)絡(luò)中斷的設(shè)備的實(shí)施例的框 圖;以及
圖6B是在保護(hù)來自設(shè)備的網(wǎng)絡(luò)中斷時(shí)執(zhí)行的步驟的一個(gè)實(shí)施例 的流程圖。
具體實(shí)施例方式
下面描述本發(fā)明的某些說明性實(shí)施例。然而,應(yīng)當(dāng)直接指出,本 發(fā)明不限于這些實(shí)施例,而是打算把對于這里直接描述的內(nèi)容的添 加和修改包括在本發(fā)明的范圍內(nèi)。而且,可以看到,這里描述的各 種實(shí)施例的特性不是互相不相容的,而是可以存在于各種組合和置 換,即使這樣的組合或置換在這里沒有直接作出,而不背離本發(fā)明 的精神和范圍。
本發(fā)明的說明性實(shí)施例總的針對用于提供對等通信和遠(yuǎn)程接入 連接性的遠(yuǎn)程接入結(jié)構(gòu)。在一個(gè)說明性實(shí)施例中,本發(fā)明的遠(yuǎn)程接 入結(jié)構(gòu)提供用于經(jīng)由第三計(jì)算設(shè)備,諸如網(wǎng)關(guān),建立在各個(gè)計(jì)算設(shè) 備之間的直接連接的方法.本發(fā)明還提供用于使通過或不通過網(wǎng)關(guān)建立的對等通信最優(yōu)化的各種技術(shù)。對等通信可包括實(shí)時(shí)通信,諸
如通過互聯(lián)網(wǎng)協(xié)議的話音(VoIP)信令和媒體、視頻和其它實(shí)時(shí)數(shù)據(jù) 應(yīng)用,諸如web合作、屏幕或桌面共享、以及立即消息,除了經(jīng)由 網(wǎng)關(guān)建立對等通信以外,本發(fā)明還提供使對等通信最優(yōu)化的以下技 術(shù)1)網(wǎng)絡(luò)分組的接收的虛假確認(rèn)允許經(jīng)由無損分組協(xié)議傳送對于 經(jīng)由有損協(xié)議傳輸被構(gòu)建的分組,2)網(wǎng)絡(luò)分組的有效負(fù)栽移位允許 經(jīng)由無損分組協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的分組,3)考 慮由于加密造成的開銷,通過調(diào)節(jié)最大傳輸單元(MTU)參數(shù)而減小 分組分段,4)客戶端側(cè)網(wǎng)絡(luò)通信的應(yīng)用知道的優(yōu)先化,以及5)網(wǎng)絡(luò) 中斷保護(hù),用于可靠的和持久的網(wǎng)絡(luò)連接與接入,諸如用于移動(dòng)客 戶端。這些技術(shù)在一些實(shí)施例中可在兩個(gè)客戶端之間的對等通信中 被實(shí)施,或在其它實(shí)施例中在客戶端與網(wǎng)關(guān)之間,或在一個(gè)計(jì)算設(shè) 備經(jīng)由網(wǎng)關(guān)與另一個(gè)計(jì)算設(shè)備之間的通信中被實(shí)施,諸如經(jīng)由本發(fā) 明的說明性實(shí)施例的SSL VPN網(wǎng)關(guān)。
在本發(fā)明的說明性實(shí)施例中,對等路由最優(yōu)化技術(shù)確定客戶端可 以嘗試經(jīng)由網(wǎng)關(guān)接入的、到資源的更加優(yōu)化的路由.客戶端和由客 戶端接入的資源,諸如服務(wù)器或各個(gè)計(jì)算機(jī),可以具有比具有網(wǎng)關(guān) 更直接的路由,例如,客戶端和服務(wù)器可以互相靠近,但遠(yuǎn)離網(wǎng)關(guān), 因此比起網(wǎng)關(guān)來說互相更接近。而且,使用網(wǎng)關(guān)使得在客戶端與服 務(wù)器之間的對等網(wǎng)絡(luò)通信中至少一個(gè)附加的跳。代替客戶端與服務(wù) 器通過使用它們的虛擬專用網(wǎng)絡(luò)(VPN)指定的互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng) 絡(luò)地址經(jīng)由網(wǎng)關(guān)進(jìn)行通信,本發(fā)明的網(wǎng)關(guān)與遠(yuǎn)程接入結(jié)構(gòu)便于客戶 端和服務(wù)器以對等的方式經(jīng)由直接路由互相通信而不使用網(wǎng)關(guān)。然 而,在某些情形下,客戶端和服務(wù)器可能互相之間沒有直接路徑, 因?yàn)榭蛻舳撕?或服務(wù)器可能處在防火墻后面,諸如網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT)防火墻.本發(fā)明的對等路由最優(yōu)化技術(shù)和遠(yuǎn)程接入結(jié)構(gòu)還提 供客戶端與服務(wù)器經(jīng)由穿過防火墻直接通信的技術(shù).這樣,本發(fā)明
的對等路由最優(yōu)化技術(shù),比起經(jīng)由網(wǎng)關(guān),提供在對等計(jì)算機(jī)之間的 更短的更優(yōu)化的路由。
在本發(fā)明的說明性實(shí)施例中,本發(fā)明的實(shí)施例的虛假確認(rèn)技術(shù)使 得對于經(jīng)由有損協(xié)議發(fā)送被構(gòu)建的分組能夠經(jīng)由無損協(xié)議被傳送。 例如,實(shí)時(shí)協(xié)議(RTP)可以在用戶數(shù)據(jù)報(bào)協(xié)議(UDP)上實(shí)施,用
于IP (VoIP)通信。有損的或不可靠的協(xié)議,諸如UDP,可用于話 音通信,因?yàn)樵谀承?shí)時(shí)話音應(yīng)用中對于接收者更重要的是及時(shí)得 到網(wǎng)絡(luò)分組,而不是按照順序得到網(wǎng)絡(luò)分組或保證網(wǎng)絡(luò)分組的傳 遞。然而,借助于使用諸如諸如安全套接字層(SSL)或傳輸層安全 性(TLS)那樣的安全通信和/或隧道協(xié)議的虛擬專用網(wǎng)絡(luò)和遠(yuǎn)程接 入解決方案,對于經(jīng)由諸如UDP那樣的有損協(xié)議發(fā)送而被構(gòu)建的實(shí) 時(shí)應(yīng)用可以經(jīng)由諸如傳輸控制協(xié)議(TCP)的無損的或可靠的協(xié)議被 傳送,本發(fā)明的技術(shù)允許諸如UDP上的RTP那樣的有損協(xié)議經(jīng)由諸 如TCP那樣的無損協(xié)議進(jìn)行通信,同時(shí)避免無損協(xié)議的一個(gè)或多個(gè) 無損特性被應(yīng)用到通信。在本發(fā)明的說明性實(shí)施例中,這個(gè)技術(shù)把 無損協(xié)議網(wǎng)絡(luò)分組的接收的虛假確認(rèn)傳送到相應(yīng)的網(wǎng)絡(luò)堆棧,以避 免無損協(xié)議執(zhí)行提供協(xié)議的可靠性的算法。通過使用這種技術(shù),有 損協(xié)議可以在諸如TCP, SSL那樣的無損協(xié)議上,或經(jīng)由網(wǎng)關(guān)的隧道 協(xié)議被傳送,例如使得通信安全,并使得有損協(xié)議網(wǎng)絡(luò)分組及時(shí)到 達(dá)接收者,而不是可靠地到達(dá)接收者.在一個(gè)實(shí)施例中,這個(gè)技術(shù) 可用來在對等體之間或經(jīng)由網(wǎng)關(guān)安全地傳送諸如在SSL或TLS上的 VoIP那樣的實(shí)時(shí)數(shù)據(jù)通信.
本發(fā)明的說明性實(shí)施例還提供有效負(fù)載移位的另一個(gè)技術(shù),使得 對于經(jīng)由有損協(xié)議發(fā)送而被構(gòu)建的分組能夠經(jīng)由無損協(xié)議被傳送, 第一計(jì)算設(shè)備接收通過使用不可靠的傳輸協(xié)議所發(fā)送的第 一分組, 并創(chuàng)建包括所接收的第一分組的第一有效負(fù)栽的第一 TCP分組.第 一 TCP分組用具有與在第一和第二計(jì)算設(shè)備之間建立的TCP連接關(guān) 聯(lián)的信息的TCP首部來創(chuàng)建.第一TCP分組被傳送到第二計(jì)算設(shè)備。 通過使用不可靠傳輸協(xié)議被傳送的第二分組由第一計(jì)算設(shè)備接收, 第一計(jì)算設(shè)備轉(zhuǎn)而創(chuàng)建包括接收的第二分組的有效負(fù)栽的、但具有 第一 TCP分組的TCP首部信息的第二 TCP分組,第二 TCP分組在從 第二設(shè)備接收對于笫一 TCP分組的接收的確認(rèn)之前被發(fā)送到笫二計(jì) 算設(shè)備。這樣,有效負(fù)栽移位技術(shù)在TCP首部下傳送多個(gè)不可靠傳 輸協(xié)議有效負(fù)栽,直至接收到對于接收的確認(rèn)為止。
在本發(fā)明的說明性實(shí)施例中,最大傳輸單元調(diào)節(jié)技術(shù)考慮到由于 有效負(fù)載的加密造成的網(wǎng)絡(luò)分組尺寸的影響,以減小客戶端的網(wǎng)絡(luò) 堆棧的最大傳輸單元(MTU)參數(shù)的報(bào)告尺寸.網(wǎng)絡(luò)分組的有效負(fù)栽
的加密增加要傳送到客戶端的或由客戶端傳送的網(wǎng)絡(luò)分組的尺寸,
并可能使得網(wǎng)絡(luò)分組被分段.例如,服務(wù)器可以經(jīng)由SSL網(wǎng)關(guān)把網(wǎng) 絡(luò)分組傳送到客戶端.雖然服務(wù)器發(fā)送應(yīng)當(dāng)滿足客戶端的網(wǎng)絡(luò)堆棧 可以處理的MTU尺寸的網(wǎng)絡(luò)分組,但由網(wǎng)關(guān)提供的加密在網(wǎng)絡(luò)分組 到達(dá)客戶端之前增加網(wǎng)絡(luò)分組的尺寸.這可能使得從服務(wù)器經(jīng)由網(wǎng) 關(guān)到客戶端的網(wǎng)絡(luò)分組被分段,因?yàn)橛捎诩用茉斐傻脑黾拥姆纸M尺 寸對于客戶端的MTU尺寸可能太大.本發(fā)明的技術(shù)考慮到加密的開 銷調(diào)節(jié)客戶端的報(bào)告的MTU尺寸,以便報(bào)告較小的尺寸。這個(gè)技術(shù) 減小網(wǎng)絡(luò)分段或否則避免非最優(yōu)分段.
在本發(fā)明的說明性實(shí)施例中,優(yōu)先化技術(shù)提供網(wǎng)絡(luò)通信的客戶端 側(cè)和應(yīng)用知道的優(yōu)先化.即,本發(fā)明的遠(yuǎn)程接入客戶端管理和控制 按客戶端上的網(wǎng)絡(luò)通信優(yōu)先化.優(yōu)先化是基于客戶端上的應(yīng)用的屬 性的。遠(yuǎn)程接入客戶端透明地截取與在客戶端上執(zhí)行的應(yīng)用關(guān)聯(lián)的 網(wǎng)絡(luò)通信,檢測與應(yīng)用關(guān)聯(lián)的網(wǎng)絡(luò)通信,以及根據(jù)應(yīng)用的優(yōu)先權(quán)確 定網(wǎng)絡(luò)通信的優(yōu)先權(quán)。例如,在客戶端端的應(yīng)用可以把諸如VoIP那 樣的實(shí)時(shí)數(shù)據(jù)通信傳送到對等客戶端,或經(jīng)由網(wǎng)關(guān)傳送.遠(yuǎn)程接入 客戶端可以截取網(wǎng)絡(luò)分組,并且檢測例如包含實(shí)時(shí)數(shù)據(jù)或來自VoIP 應(yīng)用的網(wǎng)絡(luò)分組。遠(yuǎn)程接入客戶端可以表示對于這個(gè)網(wǎng)絡(luò)分組的優(yōu) 先權(quán),這樣,網(wǎng)絡(luò)分組可以在非實(shí)時(shí)數(shù)據(jù)通信之前或在來自其它應(yīng) 用的網(wǎng)絡(luò)通信之前被傳送.這樣,本發(fā)明的優(yōu)先化技術(shù)可以根據(jù)在 客戶端端運(yùn)行的應(yīng)用來改進(jìn)或提高在客戶端端的性能、工作特性、 和用戶的體驗(yàn)。
在本發(fā)明的說明性實(shí)施例中,網(wǎng)絡(luò)中斷保護(hù)技術(shù)提供客戶端到網(wǎng) 絡(luò)的持久的和可靠的連接,諸如對等通信會話或到網(wǎng)關(guān)的連接。例 如,移動(dòng)客戶端,諸如具有基于軟件的IP電話的筆記本電腦,可以 連接到網(wǎng)絡(luò),用于VoIP通信.當(dāng)移動(dòng)客戶端在同一個(gè)網(wǎng)絡(luò)中不同的 接入點(diǎn)之間漫游時(shí)或當(dāng)客戶端在網(wǎng)絡(luò)之間交換(例如從有線網(wǎng)到無 線網(wǎng))時(shí)在網(wǎng)絡(luò)連接中可能發(fā)生臨時(shí)中斷。這使到客戶端的網(wǎng)絡(luò)服 務(wù)中斷并可能丟棄VoIP電話呼叫.另外,當(dāng)移動(dòng)客戶端在接入點(diǎn)之 間移動(dòng)時(shí),移動(dòng)客戶端可以得到不同的IP網(wǎng)絡(luò)地址,諸如來自新的 動(dòng)態(tài)主配置協(xié)議(DHCP)租用。這也會使得網(wǎng)絡(luò)連接和VoIP電話通信 中斷。本發(fā)明的技術(shù)檢測網(wǎng)絡(luò)的中斷,并保護(hù)一部分網(wǎng)絡(luò)堆棧免受
網(wǎng)絡(luò)中斷的影響.網(wǎng)絡(luò)堆棧的保護(hù)的部分被保持,而同時(shí)網(wǎng)絡(luò)堆棧 的其它部分被重建和重新連接到網(wǎng)絡(luò). 一旦網(wǎng)絡(luò)可用,本發(fā)明就繼 續(xù)客戶端的網(wǎng)絡(luò)通信,在一些實(shí)施例中,在網(wǎng)絡(luò)中斷期間網(wǎng)絡(luò)通信 被排隊(duì),并且一旦網(wǎng)絡(luò)可用,就被發(fā)送.在其它實(shí)施例中,諸如對 于實(shí)時(shí)數(shù)據(jù)通信,網(wǎng)絡(luò)分組在中斷期間被丟棄,避免網(wǎng)絡(luò)分組排隊(duì)
可能造成諸如VoIP電話呼叫那樣的實(shí)時(shí)通信的等待時(shí)間.
雖然本發(fā)明的說明性實(shí)施例總的是結(jié)合基于互聯(lián)網(wǎng)協(xié)議(IP)的 協(xié)議,諸如傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)來描述 的,但本發(fā)明的技術(shù)可用于具有其它聯(lián)網(wǎng)協(xié)議的任何其它類型的聯(lián) 網(wǎng)環(huán)境,諸如使用順序分組交換(SPX)協(xié)議的、基于任何網(wǎng)間分組 交換(IPX)協(xié)議的網(wǎng)絡(luò)。另外,雖然諸如UDP那樣的有損或不可靠 協(xié)議或諸如TCP那樣的無損或可靠的協(xié)議可用來說明本發(fā)明的實(shí)施 例,但本領(lǐng)域技術(shù)人員已知的、任何無損/可靠的和有損/不可靠的 協(xié)議可用來實(shí)施這里描述的本發(fā)明的操作。而且,雖然本發(fā)明的某 些說明性實(shí)施例可以在下面相對于諸如VoIP那樣的實(shí)時(shí)數(shù)據(jù)通信被 描述,但本發(fā)明的技術(shù)可被應(yīng)用于非實(shí)時(shí)數(shù)據(jù)通信,正如本領(lǐng)域技 術(shù)人員也將i^識和看到的。
另外,有時(shí),本發(fā)明的說明性實(shí)施例可以對于對等通信被描述。
一方面,對等模型包括其中任何計(jì)算機(jī)可以通過給其它計(jì)算機(jī)提供 接入到它的資源而用作為服務(wù)器和可以通過接入來自其它計(jì)算機(jī)的 共享的資源而用作為客戶端的那種網(wǎng)絡(luò)。另一方面,雖然對等模型 可能不包括客戶端和服務(wù)器的概念,但客戶端和服務(wù)器可以提供對 等通信以及客戶端到客戶端、服務(wù)器到服務(wù)器、或客戶端/服務(wù)器到 諸如網(wǎng)關(guān)的計(jì)算設(shè)備.再一方面,對等通信包括一個(gè)處理過程,由 此計(jì)算機(jī)可以互相之間直接交換信息,而不用第三方網(wǎng)絡(luò)或諸如網(wǎng) 關(guān)的設(shè)備的幫助。雖然對等通信通??杀幻枋鰹樵谟?jì)算機(jī)之間的直 接通信,但在計(jì)算設(shè)備之間可以有其它網(wǎng)絡(luò)單元,諸如,例如網(wǎng)絡(luò) 集線器,以便于實(shí)行傳輸和/或通信.
而且,雖然本發(fā)明的說明性實(shí)施例可以是對于對等、點(diǎn)對點(diǎn)、客 戶端對服務(wù)器通信等等描述的,但本領(lǐng)域技術(shù)人員將會認(rèn)識和看 到,本發(fā)明可以以任何方式經(jīng)由任何網(wǎng)絡(luò)拓樸在計(jì)算設(shè)備之間被實(shí) 施,以及對于對等、客戶端服務(wù)器等等的任何參考無論如何不打算
限制本發(fā)明。
一方面,本發(fā)明涉及具有遠(yuǎn)程接入客戶端的遠(yuǎn)程接入結(jié)構(gòu),用于 經(jīng)由網(wǎng)關(guān)或?qū)Φ仁咕W(wǎng)絡(luò)與另 一個(gè)遠(yuǎn)程接入客戶端或另 一個(gè)計(jì)算設(shè)備 通信、。本發(fā)明的遠(yuǎn)程接入結(jié)構(gòu)提供用于把在網(wǎng)關(guān)后面在專用網(wǎng)之 間傳送的網(wǎng)絡(luò)業(yè)務(wù)安全地傳送到諸如公共網(wǎng)的外部網(wǎng)絡(luò)上的客戶端 的系統(tǒng)和方法.本發(fā)明的遠(yuǎn)程接入結(jié)構(gòu)通過在網(wǎng)關(guān)上提供網(wǎng)絡(luò)地址
轉(zhuǎn)換(NAT)功能而使得客戶端能夠與專用網(wǎng)分開。使用網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT)的網(wǎng)關(guān)提供客戶端的IP地址的偽裝(masquerading),以便 保護(hù)專用網(wǎng)不被客戶端直接第2層接入,
現(xiàn)在參照圖1A,環(huán)境180描繪在本發(fā)明的說明性實(shí)施例中用于 部署遠(yuǎn)程接入結(jié)構(gòu)的系統(tǒng).概略地,環(huán)境180包括多個(gè)計(jì)算設(shè)備 102a-102c(這里也稱為客戶端105a-105c),經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)連 接341a-341n連接到網(wǎng)絡(luò)104. —個(gè)或多個(gè)客戶端105a-105c可以經(jīng) 由網(wǎng)關(guān)350連接到服務(wù)器102a、服務(wù)器場102e、或各個(gè)計(jì)算設(shè)備 102d。
每個(gè)客戶端105a-105n包括遠(yuǎn)程接入客戶端120a-120c,這將結(jié) 合圖1C更詳細(xì)地描述,和一個(gè)或多個(gè)應(yīng)用338a-338n。每個(gè)客戶端 105a-105n在網(wǎng)絡(luò)104上通過使用任何類型和/或形式的適當(dāng)隧道或 網(wǎng)關(guān)協(xié)議經(jīng)由隧道或網(wǎng)關(guān)連接341a-341n與網(wǎng)關(guān)340通信。在一些 實(shí)施例中,網(wǎng)關(guān)連接341a-341n可用于安全地通信,諸如經(jīng)由打包 和加密,或否則可以使用任何其它協(xié)議,諸如任何實(shí)時(shí)、無損、或 有損協(xié)議。在其它實(shí)施例中,網(wǎng)關(guān)340提供在一個(gè)或多個(gè)客戶端 105a-105n與任何的計(jì)算設(shè)備102d-102n之間的虛擬專用網(wǎng)絡(luò)連接.
客戶端105可以是任何類型和/或形式的計(jì)算設(shè)備102,它可以 運(yùn)行接入諸如網(wǎng)絡(luò)104那樣的網(wǎng)絡(luò)的一個(gè)或多個(gè)應(yīng)用38,應(yīng)用338 可以是任何類型和/或形式的應(yīng)用,諸如任何類型和/或形式的web 瀏覽器、基于web的客戶端、客戶端服務(wù)器應(yīng)用、瘦客戶端計(jì)算的 客戶端、ActiveX控制、或Java小應(yīng)用程序、或任何類型和/或形式 的能夠在客戶端105處執(zhí)行的或經(jīng)由網(wǎng)絡(luò)104傳送的可執(zhí)行指令. 應(yīng)用338可以使用任何類型的協(xié)議,并且它可以是例如HTTP客戶 端、FTP客戶端、Oscar客戶端、或Telnet客戶端.在一些實(shí)施例 中,應(yīng)用338使用遠(yuǎn)程顯示或呈現(xiàn)級別協(xié)議,在一個(gè)實(shí)施例中,應(yīng)
用338是由Fort La訓(xùn)rdale, Florida的Citrix Systems, Inc.公 司開發(fā)的ICA客戶端。在其它的實(shí)施例中,應(yīng)用338包括由Redmond, Washington的微軟公司開發(fā)的遠(yuǎn)程桌面(RDP)客戶端.在其它實(shí)施例 中,應(yīng)用338包括與諸如軟IP電話那樣的VoIP通信關(guān)聯(lián)的任何類 型的軟件.在另外的實(shí)施例中,應(yīng)用338包括諸如用于流視頻和/或 音頻的應(yīng)用那樣的、與實(shí)時(shí)數(shù)據(jù)通信關(guān)聯(lián)的任何應(yīng)用。
客戶端105a-105n可以接入經(jīng)由可以在同一個(gè)網(wǎng)絡(luò)104上的或可 以在諸如專用網(wǎng)的分離網(wǎng)絡(luò)上的通信設(shè)備102提供的任何資源。在 一些實(shí)施例中,計(jì)算設(shè)備102a-102n可以是在斷開連接的網(wǎng)絡(luò)上, 并且是不能從客戶端105a-105n的網(wǎng)絡(luò)路由的。在一個(gè)實(shí)施例中, 任何客戶端105a-105n可以與具有遠(yuǎn)程接入客戶端102n和應(yīng)用338d 的各個(gè)計(jì)算設(shè)備102d通信。例如,應(yīng)用338d可包括對應(yīng)于在客戶 端105a-105n處的任何應(yīng)用338a-338c的一部分客戶端/服務(wù)器或分 布式應(yīng)用。在一些實(shí)施例中,任何遠(yuǎn)程接入客戶端120a-UOn可以 經(jīng)由網(wǎng)關(guān)340與遠(yuǎn)程接入客戶端120n通信。
在另一個(gè)實(shí)施例中,任何客戶端105a可以經(jīng)由網(wǎng)關(guān)340與運(yùn)行 應(yīng)用338e的服務(wù)器102e通信,例如,該服務(wù)器可以是提供諸如由 Redmond, Washington的微軟4^司制造的微軟交換機(jī)的電子郵件的應(yīng) 用服務(wù)器、web或互聯(lián)網(wǎng)服務(wù)器、或桌面共享服務(wù)器、或合作服務(wù)器。 在一些實(shí)施例中,任何應(yīng)用338e可包括任何類型的主機(jī)服務(wù),諸如 由Fort Uuserdale, Florida的Citrix Systems, Inc.公司提供的 GoToMeeting.com, 由Santa Clara, California的WebEx, Inc.公 司提供的WebEx. com,或由Redmond, Washington的微軟公司提供的 LiveMeeting. com。
在另一個(gè)實(shí)施例中,任何客戶端105a可以經(jīng)由網(wǎng)關(guān)340與服務(wù) 器場102n或服務(wù)器網(wǎng)絡(luò)通信,服務(wù)器場102n或服務(wù)器網(wǎng)絡(luò)是作為 單個(gè)實(shí)體被管理的一個(gè)或多個(gè)服務(wù)器的邏輯組.服務(wù)器場102n可以 運(yùn)行一個(gè)或多個(gè)應(yīng)用338N,諸如提供瘦客戶端計(jì)算或遠(yuǎn)程顯示呈現(xiàn) 應(yīng)用的應(yīng)用338f。在一個(gè)實(shí)施例中,服務(wù)器102e或服務(wù)器場102n 執(zhí)行Citrix Systems, Inc.的Citrix Access SuiteTM,諸如MetaFrame 或Citrix Presentation Server ,和/或由微軟公司制造的微軟視 窗終端服務(wù)的任何部分作為應(yīng)用338c-338n.
仍舊參照困1A,網(wǎng)關(guān)340可包括任何類型和/或形式的網(wǎng)關(guān),諸 如遠(yuǎn)程接入服務(wù)器,它可用來把一個(gè)網(wǎng)絡(luò)上的一個(gè)或多個(gè)計(jì)算設(shè)備 連接到其它網(wǎng)絡(luò).另一方面,網(wǎng)關(guān)340可用來提供虛擬專用網(wǎng)絡(luò)連 接,使得客戶端105a-105c接入到專用網(wǎng).再一方面,網(wǎng)關(guān)340可 以是在兩個(gè)不同的協(xié)議或者分開或斷開的網(wǎng)絡(luò)或系統(tǒng)之間進(jìn)行轉(zhuǎn)換 的硬件或軟件裝置.網(wǎng)關(guān)340可包括專門化的硬件或聯(lián)網(wǎng)設(shè)備,或 可以是被配置成用作為網(wǎng)關(guān)的計(jì)算設(shè)備。這樣,網(wǎng)關(guān)340可包括軟 件、硬件、或軟件和硬件的任何組合。在一個(gè)實(shí)施例中,客戶端105 和網(wǎng)關(guān)340經(jīng)由任何類型和/或形式的網(wǎng)關(guān)或隧道協(xié)議341a-341n, 諸如SSL或TLS,或由Fort Lauserdale, Florida的Citrix Systems, Inc.公司制造的Citrix Gateway Protocol,
在一些實(shí)施例中,網(wǎng)關(guān)340可以解密從客戶端105a-105c接收的 加密的分組,并可以加密要傳送到客戶端105a-105n的分組。網(wǎng)關(guān) 340可用來保護(hù)諸如網(wǎng)絡(luò)104那樣的專用網(wǎng).在一些實(shí)施例中,網(wǎng)關(guān) 340把客戶端105a-105c與專用IP地址或?qū)S镁W(wǎng)的IP地址相關(guān)聯(lián)。 在這些實(shí)施例的一個(gè)實(shí)施例中,當(dāng)網(wǎng)關(guān)340從客戶端105a-105c接 收分組時(shí),網(wǎng)關(guān)340把分組的IP地址轉(zhuǎn)換成與用于專用網(wǎng)的、與客 戶端105a-105c關(guān)聯(lián)的IP地址,在一些實(shí)施例中,網(wǎng)關(guān)340可以把 接入控制策略應(yīng)用于到和/或來自客戶端105a-105c的網(wǎng)絡(luò)業(yè)務(wù)。例 如,接入控制策略可以在把分組路由到最后的目的地之前被應(yīng)用于 從客戶端接收的分組,
在網(wǎng)關(guān)340的一個(gè)實(shí)施例中, 一旦幀經(jīng)由SSL隧道進(jìn)入網(wǎng)關(guān) 340,分組和它的有效負(fù)栽就經(jīng)由回叫被分派到在用戶模式下執(zhí)行的 操控器,其提供SSL解密的功能。在另一個(gè)實(shí)施例中,使用硬件加 速器。在其它實(shí)施例中,使用硬件減速器。在再一個(gè)實(shí)施例中,網(wǎng) 關(guān)340包括一個(gè)或多個(gè)刀形開關(guān),用于提供遠(yuǎn)程接入. 一旦分組被 解密,就把它注入到HTTP網(wǎng)絡(luò)堆棧,在其中首部被組裝和被傳送到 遠(yuǎn)程接入刀形開關(guān)。在遠(yuǎn)程接入刀形開關(guān)中,分組由包含在分組內(nèi) 的數(shù)據(jù)類型被分類。在一個(gè)實(shí)施例中,分組包含請求登錄和登記的 HTTP首部。在另一個(gè)實(shí)施例中,分組尋求TCP/UDP/RAW/OTHER連接 建立。在又一個(gè)實(shí)施例中,分組包含連接特定的數(shù)據(jù)。在再一個(gè)實(shí) 施例中,分組包含專門的特性請求,諸如與其它用戶合作、獲取用
戶目錄和存在、或請求電話功能,諸如會議和web播放,遠(yuǎn)程接入 模塊把分組適當(dāng)?shù)胤峙傻綄?yīng)的子搮控器.例如,客戶端105可以 請求,在網(wǎng)關(guān)340后面的專用網(wǎng)上建立到特定的機(jī)器的連接.遠(yuǎn)程 接入模塊可以咨詢接入控制模塊,如果返回肯定的確認(rèn),則遠(yuǎn)程接 入模塊可以準(zhǔn)許請求。在一些實(shí)施例中,遠(yuǎn)程接入模塊120可以通 過使用利用NAT/PAT的幀轉(zhuǎn)發(fā)模塊在專用網(wǎng)上注入隨后的幀來準(zhǔn)許 把進(jìn)入的幀與對應(yīng)于客戶端105a-105c的SSL隧道341a-341n進(jìn)行 相關(guān)的請求.
如圖1A所示的網(wǎng)絡(luò)104可以是任何類型的網(wǎng)絡(luò).網(wǎng)絡(luò)104可以 是諸如公司內(nèi)部網(wǎng)那樣的局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、或諸如互聯(lián) 網(wǎng)或萬聯(lián)網(wǎng)那樣的廣域網(wǎng)(WAN)。網(wǎng)絡(luò)104的拓樸可以是總線、星 形或環(huán)形網(wǎng)絡(luò)拓樸。網(wǎng)絡(luò)104和網(wǎng)絡(luò)拓樸可以是能夠支持這里描述 的本發(fā)明的操作的任何這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓樸.客戶端108和網(wǎng)關(guān) 340可以通過包括標(biāo)準(zhǔn)電話線、LAN、或WAN鏈路(例如, Tl,T3,56kb,X. 25,SNA,DECNET)、 寬帶連接 (ISDN, 幀中 繼,ATM, Gigabit以太網(wǎng),通過SONET的以太網(wǎng))、和無線連接或它們 的組合的各種各樣的連接,連接到一個(gè)或多個(gè)網(wǎng)絡(luò)104。連接可以通 過使用各種各樣的通信協(xié)議(例如,TCP/IP, SPX, NetBIOS,以太 網(wǎng),ARCNET,光纖分布式數(shù)據(jù)接口 (FDDI),RS232, IEEE 802. 11, IEEE 802. lla, IEEE 802.11b, IEBE 802. llg,和直接異步連接)被建立。
在本發(fā)明的一個(gè)實(shí)施例中,圖1A所示的網(wǎng)關(guān)340用來實(shí)行在計(jì) 算設(shè)備102a-102n之間的對等連接。例如,客戶端105a可以建立與 網(wǎng)關(guān)340的隧道會話,以便接入各個(gè)計(jì)算設(shè)備102d。網(wǎng)關(guān)340與客 戶端105a的遠(yuǎn)程接入客戶端120a和計(jì)算設(shè)備102d的遠(yuǎn)程接入客戶 端120a協(xié)商,使得客戶端105a能夠直接連接到計(jì)算設(shè)備102d,而 不用經(jīng)過網(wǎng)關(guān)340。 一旦在客戶端105a與計(jì)算設(shè)備102d之間的網(wǎng)絡(luò) 連接被建立,客戶端105a就可以以對等方式與計(jì)算設(shè)備10M通信。 本發(fā)明的網(wǎng)關(guān)340可以實(shí)行在環(huán)境180所示的、任何計(jì)算設(shè)備 102a-102n之間的直接對等通信。在一個(gè)實(shí)施例中,網(wǎng)關(guān)340可以實(shí) 行在任何的客戶端105a-105n之間,例如在客戶端105a與客戶端 105b之間或在客戶端105b與客戶端105c之間的對等通信。在另一 個(gè)實(shí)施例中,網(wǎng)關(guān)340實(shí)行在計(jì)算設(shè)備102a-102n之間,例如在計(jì)
算設(shè)備102d與服務(wù)器102e或服務(wù)器場102n之間的對等通信。在其 它實(shí)施例中,網(wǎng)關(guān)340實(shí)行在客戶端105a-105n之一與計(jì)算設(shè)備 102a-102n之一之間的對等通信.經(jīng)由網(wǎng)關(guān)340實(shí)行對等通信的技術(shù) 將在下面結(jié)合圖2A和2B更詳細(xì)地討論。
現(xiàn)在參照圖1B,本發(fā)明的遠(yuǎn)程接入客戶端120可以在不用網(wǎng)關(guān) 304的對等連接的說明性實(shí)施例中被使用。例如,網(wǎng)關(guān)340可以實(shí)行 在圖l所示的、任何計(jì)算設(shè)備102a-102n之間的對等連接,此后, 計(jì)算設(shè)備102a-102n以對等方式互相直接通信。在其它實(shí)施例中, 任何計(jì)算設(shè)備102a可以不用實(shí)行連接的網(wǎng)關(guān)340經(jīng)由網(wǎng)絡(luò)104直接 與另一個(gè)計(jì)算設(shè)備102b或102c通信。
在圖1B的概略圖上,遠(yuǎn)程接入客戶端120a可被部署在運(yùn)行一個(gè) 或多個(gè)應(yīng)用338a的客戶端102a上。計(jì)算設(shè)備102a可以通過網(wǎng)絡(luò)104 連接到計(jì)算設(shè)備102b和/或計(jì)算設(shè)備102c。計(jì)算設(shè)備102b可以是也 包括遠(yuǎn)程接入客戶端120b的各個(gè)或客戶端計(jì)算設(shè)備。在一些實(shí)施例 中,遠(yuǎn)程接入客戶端120a和120b可以經(jīng)由網(wǎng)絡(luò)104互相通信,和 可以對于應(yīng)用338a互相結(jié)合地工作以便與應(yīng)用338b,諸如用于基于 web的或客戶端/服務(wù)器應(yīng)用進(jìn)行通信。在其它實(shí)施例中,遠(yuǎn)程接入 客戶端120a可以與計(jì)算設(shè)備120c通信,該計(jì)算設(shè)備可以是不執(zhí)行 遠(yuǎn)程接入客戶端120的服務(wù)器。
圖1C描繪了顯示具有用于把網(wǎng)絡(luò)分組從客戶端105路由到網(wǎng)絡(luò) 104的遠(yuǎn)程接入客戶端120的系統(tǒng)的框圖,在概略圖上,系統(tǒng)包括具 有操作系統(tǒng)的計(jì)算設(shè)備102 (這里稱為客戶端105),操作系統(tǒng)包括 用戶模式332,也被稱為應(yīng)用或用戶空間,和內(nèi)核模式334,也被稱 為內(nèi)核或系統(tǒng)級空間。客戶端105運(yùn)行一個(gè)代理326,在一個(gè)實(shí)施例 中,它可以在用戶模式332下運(yùn)行??蛻舳?05還運(yùn)行濾波器332, 在一個(gè)實(shí)施例中,它可以在內(nèi)核模式或內(nèi)核空間334下運(yùn)行。在一 個(gè)實(shí)施例中,濾波器322和代理326形成遠(yuǎn)程接入客戶端120,用于 經(jīng)由網(wǎng)絡(luò)路由分組,或用于按照這里描述的本發(fā)明的操作提供遠(yuǎn)程 接入連接性.遠(yuǎn)程接入客戶端120或它的任何部分,諸如代理326 或?yàn)V波器322,可以在用戶模式332或內(nèi)核模式334下運(yùn)行。
客戶端105還可以具有網(wǎng)絡(luò)堆棧310,它可包括一個(gè)或多個(gè)網(wǎng)絡(luò) 層,諸如開放系統(tǒng)互聯(lián)(OSI)通信模型的任何網(wǎng)絡(luò)層,正如本領(lǐng)域技術(shù)人員認(rèn)識和理解的.網(wǎng)絡(luò)堆棧310可包括一個(gè)或多個(gè)協(xié)議,諸 如在以太網(wǎng)上的TCP/IP協(xié)議或無線協(xié)議,諸如IEEB 802. 11,正如 本領(lǐng)域技術(shù)人員認(rèn)識和理解的.而且,網(wǎng)絡(luò)堆棧310可包括支持該 一個(gè)或多個(gè)層的一個(gè)或多個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器,諸如TCP驅(qū)動(dòng)器或網(wǎng)絡(luò)層 驅(qū)動(dòng)器。網(wǎng)絡(luò)驅(qū)動(dòng)器可被包括作為計(jì)算設(shè)備102的操作系統(tǒng)的一部 分,或作為任何網(wǎng)絡(luò)接口卡的一部分或計(jì)算設(shè)備102的其它網(wǎng)絡(luò)接 入部件。另外,網(wǎng)絡(luò)堆棧310的任何網(wǎng)絡(luò)驅(qū)動(dòng)器可被定制、修改或 調(diào)整,以便提供支持這里描述的本發(fā)明的任何技術(shù)的網(wǎng)絡(luò)堆棧310 的定制或修改部分。另外,網(wǎng)絡(luò)堆棧310的某些部分可以在內(nèi)核模 式下工作,而其它的部分運(yùn)行在用戶模式332,諸如網(wǎng)絡(luò)堆棧310的
應(yīng)用層。
濾波器322可包括分組捕獲機(jī)構(gòu)365,并且濾波器322和/或分 組捕獲機(jī)構(gòu)365可包括網(wǎng)絡(luò)驅(qū)動(dòng)器,諸如工作在客戶端105的網(wǎng)絡(luò) 堆棧310的任何層或部分的網(wǎng)絡(luò)驅(qū)動(dòng)器.濾波器322和/或分組捕獲 機(jī)構(gòu)365可包括遵從網(wǎng)絡(luò)驅(qū)動(dòng)器接口技術(shù)規(guī)范(NDIS)的驅(qū)動(dòng)器, 或NDIS驅(qū)動(dòng)器。在另一個(gè)實(shí)施例中,濾波器和/或分組捕獲機(jī)構(gòu)365 可包括迷你濾波器或迷你端口驅(qū)動(dòng)器,分組捕獲機(jī)構(gòu)365在一些實(shí) 施例中還可以工作在內(nèi)核模式334。雖然分組捕獲機(jī)構(gòu)365被顯示為 濾波器322的一部分,但分組捕獲機(jī)構(gòu)365可以與濾波器322分開 的.另外,濾波器322和分組捕獲機(jī)構(gòu)365可以工作在客戶端105 的網(wǎng)絡(luò)堆棧310的不同的層或部分。
濾波器322可以使用濾波器表,用于濾波分組。濾波表用來確定 對于諸如由分組捕獲機(jī)構(gòu)365截取的分組那樣的分組采取什么動(dòng) 作。濾波器322可以檢查分組的內(nèi)容,諸如路由信息,根據(jù)濾波表 確定所采取的動(dòng)作。在一些實(shí)施例中,濾波器3"可以根據(jù)網(wǎng)絡(luò)分 組的內(nèi)容來丟棄或接收它們。在一些實(shí)施例中,濾波器322可以根 據(jù)分組內(nèi)容和/或?yàn)V波器表把網(wǎng)絡(luò)分組路由到代理326。濾波器表也 可以用來保證不想要的分組被丟棄。濾波器322可用來拒絕接入到
特定的協(xié)議或通過丟棄分組阻止從遠(yuǎn)程計(jì)算機(jī)授權(quán)到特定的目的地 地址的未授權(quán)接入。
在一些實(shí)施例中,濾波器表包括有關(guān)專用網(wǎng)的信息。在其它實(shí)施 例中,在客戶端計(jì)算設(shè)備102處的濾波器322接收濾波器表。在這些實(shí)施例的一個(gè)實(shí)施例中,濾波器322從應(yīng)用338或在計(jì)算設(shè)備102 處的代理326接收濾波器表。在這些實(shí)施例的另一個(gè)實(shí)施例中,濾 波器322從代理326接收配置設(shè)置,并把配置設(shè)置存儲在濾波器表.
分組捕獲機(jī)構(gòu)365可以截取客戶端105的任何網(wǎng)絡(luò)業(yè)務(wù),諸如與 應(yīng)用338關(guān)聯(lián)的網(wǎng)絡(luò)分組.在一些實(shí)施例中,分組捕獲機(jī)構(gòu)365透 明地截取到應(yīng)用338、代理326、網(wǎng)關(guān)340、或?qū)τ诳蛻舳?05的網(wǎng) 絡(luò)堆棧310的任何部分的網(wǎng)絡(luò)分組,所述任何部分諸如是工作在分 組捕獲機(jī)構(gòu)365所工作的層的以上的或以下的層的任何其它驅(qū)動(dòng)器 或?qū)?。這樣,本發(fā)明可用于支持這里描述的任何技術(shù)和用于任何應(yīng) 用與由應(yīng)用使用的任何協(xié)議.在一個(gè)實(shí)施例中,分組捕獲機(jī)構(gòu)365 截取出去的分組業(yè)務(wù),諸如經(jīng)由網(wǎng)絡(luò)104和/或網(wǎng)關(guān)340傳送的任何 網(wǎng)絡(luò)業(yè)務(wù)。分組捕獲機(jī)構(gòu)365可以把分組轉(zhuǎn)發(fā)到代理325或代理326 的幀監(jiān)視機(jī)構(gòu)360。在一些實(shí)施例中,濾波器322經(jīng)由異步1/0控制 消息與代理326通信.在這些實(shí)施例的一個(gè)實(shí)施例中,分組捕獲機(jī) 構(gòu)365可以經(jīng)由異步I/O控制消息轉(zhuǎn)發(fā)尋址到在網(wǎng)關(guān)340后面的專 用網(wǎng)的分組。在其它實(shí)施例中,濾波器322經(jīng)由UDP分組與在用戶 空間334中運(yùn)行的代理326通信.在一個(gè)實(shí)施例中,濾波器經(jīng) 由異步1/0控制消息從代理326接收配置設(shè)置,配置設(shè)置可包括有 關(guān)哪些網(wǎng)絡(luò)、協(xié)議、和分組的類型進(jìn)行濾波的信息。在一個(gè)實(shí)施例 中,濾波器322把配置設(shè)置存儲在濾波器表.在另一個(gè)實(shí)施例中, 濾波器322接收包括配置設(shè)置的濾波器表。
在一個(gè)實(shí)施例中,濾波器322截取客戶端105的所有的外出的分 組,以便檢查。例如,在一些實(shí)施例中,濾波器截取由在用戶模式 下執(zhí)行的應(yīng)用338生成的分組,以便由客戶端105發(fā)送,如果分組 滿足在濾波器表中列出的條件,則濾波器322可以發(fā)送分組到代理 326,而不是到分組的原先的目的地,濾波器322可以使用異步I/O 控制消息,來把分組轉(zhuǎn)發(fā)到代理326,濾波器322可以按照或響應(yīng)于 路由表發(fā)送分組到代理326。
在一些實(shí)施例中,代理326和濾波器322經(jīng)由IOCTL應(yīng)用編程接 口 (API),諸如任何的IOCTL庫和由微軟視窗操作系統(tǒng)族提供的功 能調(diào)用,進(jìn)行通信。在其它實(shí)施例中,在代理326與濾波器322之 間的基于IOCTL的接口可以由運(yùn)行在客戶端105處的操作系統(tǒng)的任
何部分提供。雖然是在1/0控制消息和IOCTL接口方面討論的,但 代理326與濾波器322可以經(jīng)由任何適當(dāng)?shù)臋C(jī)構(gòu)和/或裝置進(jìn)行通 信。
客戶端105的內(nèi)核334可包括NDIS接口.在一些實(shí)施例中,NDIS 接口包括多個(gè)中間濾波器.在一個(gè)實(shí)施例中,分組通過NDIS接口傳 送,并可以由多個(gè)中間濾波器進(jìn)行檢查.雖然濾波器322可作為NDIS 驅(qū)動(dòng)器被提供,但濾波器322也可以是在內(nèi)核334中執(zhí)行的進(jìn)程或 其它的組或類型的可執(zhí)行的指令,
本發(fā)明的代理326可以在客戶端105處應(yīng)用空間332或用戶模式 中執(zhí)行。在其它實(shí)施例中,代理326可以在內(nèi)核模式334下工作。 在一些實(shí)施例中,代理326提供用于從濾波器322接收分組的功能。 在其它實(shí)施例中,代理326提供用于把策略應(yīng)用到接收的分組的功 能.在再一個(gè)實(shí)施例中,代理326提供用于管理到網(wǎng)關(guān)340的SSL 隧道的功能.在又一個(gè)實(shí)施例中,代理326提供用于加密和發(fā)送分 組到網(wǎng)關(guān)340的功能.代理326可包括幀監(jiān)視器機(jī)構(gòu)360。幀監(jiān)視器 360可包括策略和用于把策略應(yīng)用到接收的分組的邏輯塊。代理326 可以響應(yīng)于由幀計(jì)數(shù)器360作出的基于策略的決定,把分組發(fā)送到 網(wǎng)關(guān)340。
在一些實(shí)施例中,幀監(jiān)視器360可以應(yīng)用策略來在分組發(fā)送時(shí)確 定客戶端105的條件或終點(diǎn)。在其它實(shí)施例中,幀監(jiān)視器360可以 識別生成分組的應(yīng)用338。在執(zhí)行實(shí)施例的一些實(shí)施例中,幀監(jiān)視器 360可以響應(yīng)于該識別的應(yīng)用338作出發(fā)送分組到網(wǎng)關(guān)340的、基于 策略的決定。在另一個(gè)實(shí)施例中,幀監(jiān)視器360可以對分組執(zhí)行檢 驗(yàn)和,以便驗(yàn)證該識別的應(yīng)用實(shí)際上生成分組。
在其它實(shí)施例中,不是在濾波器322,或除了濾波器322以外, 分組捕獲機(jī)構(gòu)365可被包括在代理326中.這樣,代理326可以截 取網(wǎng)絡(luò)業(yè)務(wù).分組捕獲機(jī)構(gòu)365可使用任何掛鉤應(yīng)用編程接口 (API) 來截取、桂鉤、或得到客戶端105的進(jìn)入的和/或出去的分組,諸如 與應(yīng)用338關(guān)聯(lián)的網(wǎng)絡(luò)業(yè)務(wù)。
在一個(gè)實(shí)施例中,TCP連接由在客戶端105處執(zhí)行的應(yīng)用338發(fā) 起,以便把IP分組傳輸?shù)侥繕?biāo)計(jì)算設(shè)備,諸如圖IB的計(jì)算設(shè)備102c 或圖1A的網(wǎng)關(guān)340.遠(yuǎn)程接入客戶端120可以截取或捕獲由應(yīng)用338
生成的IP分組.遠(yuǎn)程接入客戶端120可以發(fā)送TCP確認(rèn)分組到應(yīng)用 338,并終結(jié)由應(yīng)用338發(fā)起的TCP連接.然后,遠(yuǎn)程接入客戶端120 創(chuàng)建到第二計(jì)算設(shè)備102c或網(wǎng)關(guān)340的第二TCP連接,并經(jīng)由第二 TCP連接發(fā)送捕獲的IP分組.在一些實(shí)施例中,遠(yuǎn)程接入客戶端120 可以把捕獲的IP分組存儲在緩存器中。在這些實(shí)施例中,遠(yuǎn)程接入 客戶端120可以經(jīng)由第二TCP連接把緩存的IP分組發(fā)送到第二計(jì)算 設(shè)備102c。把捕獲的IP分組存儲在緩存器中,使能在網(wǎng)絡(luò)連接中出
現(xiàn)中斷的情形下保留分組.
在一個(gè)實(shí)施例中,在接收到捕獲的IP分組后,網(wǎng)關(guān)340可以創(chuàng) 建在網(wǎng)關(guān)340與目標(biāo)計(jì)算設(shè)備102d之間的第三TCP連接,諸如圖1A 所示的。網(wǎng)關(guān)340可保持端口映射的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)表,使得 網(wǎng)關(guān)340能夠把來自目標(biāo)計(jì)算設(shè)備102d的響應(yīng)分組發(fā)送到由在客戶 端105處原先生成IP分組的應(yīng)用338監(jiān)視的端口 .因?yàn)榭蛻舳?05 只與網(wǎng)關(guān)340的公共網(wǎng)地址通信,因此客戶端105不知道目標(biāo)計(jì)算 設(shè)備102d的網(wǎng)絡(luò)地址,增加了目標(biāo)計(jì)算設(shè)備102d所處的網(wǎng)絡(luò)的安 全性.類似地,由于網(wǎng)關(guān)340發(fā)起到目標(biāo)計(jì)算設(shè)備102d的TCP連接, 因此目標(biāo)計(jì)算設(shè)備102d沒有接收客戶端105的地址信息,保護(hù)了客 戶端105和該客戶端所處的網(wǎng)絡(luò),另外,因?yàn)榫W(wǎng)關(guān)340接收IP地址, 網(wǎng)關(guān)340可以響應(yīng)于策略或安全性檢驗(yàn)作出是否發(fā)送IP分組到目標(biāo) 計(jì)算設(shè)備102d的決定,進(jìn)一步增加了對于目標(biāo)計(jì)算設(shè)備102d所處 的網(wǎng)絡(luò)的保護(hù)。
在一個(gè)實(shí)施例中,本發(fā)明提供用于保護(hù)從網(wǎng)關(guān)340后面的專用 的、安全網(wǎng)絡(luò)發(fā)送到外部網(wǎng)絡(luò)104的客戶端的分組的方法。本發(fā)明 通過在網(wǎng)關(guān)340上提供網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)功能而使能把客戶端105 與專用網(wǎng)分開。使用NAT的VPN網(wǎng)關(guān)提供客戶端105的IP地址的偽 裝來保護(hù)專用網(wǎng)不被客戶端105直接第2層接入。
一方面,遠(yuǎn)程接入客戶端120的任何部分,諸如代理326、幀監(jiān) 視器360、濾波器322、和分組捕獲機(jī)構(gòu)365或它們的任何部分可包 括軟件、硬件,諸如ASIC或FPGA,或軟件和/或硬件的任何組合。 在一些實(shí)施例中,遠(yuǎn)程接入客戶端120的任何部分,可以經(jīng)由客戶 端105處的一個(gè)或多個(gè)刀形開關(guān)被提供。
雖然遠(yuǎn)程接入客戶端120被顯示為具有多個(gè)部件,諸如代理326
和濾波器322,但本領(lǐng)域技術(shù)人員將會認(rèn)識和理解到,這里描述的遠(yuǎn) 程接入客戶端120的操作和功能可以以單個(gè)機(jī)構(gòu)或單個(gè)部件被實(shí) 施。例如,在一些實(shí)施例中,遠(yuǎn)程接入客戶端120的操作和功能可 被包括在應(yīng)用338內(nèi).在一個(gè)實(shí)施例中,例如,遠(yuǎn)程接入客戶端120 的操作和功能可以僅僅被提供為代理326,以及在另一個(gè)實(shí)施例中, 僅僅為網(wǎng)絡(luò)驅(qū)動(dòng)器,諸如濾波器322,
在一些實(shí)施例中,遠(yuǎn)程接入客戶端120,或它的任何部分,諸如 代理326、幀監(jiān)視器360、濾波器322、和分組捕獲機(jī)構(gòu)365,可包 括應(yīng)用、模塊、服務(wù)、計(jì)算機(jī)程序、軟件部件、web服務(wù)、web部件、 庫、功能、進(jìn)程、任務(wù)、線程、或任何其它類型和/或形式的可執(zhí)行 指令,被設(shè)計(jì)成和能夠執(zhí)行這里描述的本發(fā)明的功能,以及可以在 用戶模式332和/或內(nèi)核模式334的任何部分或組合下工作。
如圖1A-1C所示,本發(fā)明的遠(yuǎn)程接入客戶端120可以各種不同的 方式被部署和使用,以便諸如經(jīng)由網(wǎng)關(guān)340或直接地在各個(gè)計(jì)算設(shè) 備之間進(jìn)行通信并提供通過網(wǎng)絡(luò)的遠(yuǎn)程接入給其它計(jì)算設(shè)備.在這 些各種不同的環(huán)境下,遠(yuǎn)程接入客戶端120可用來實(shí)施如在下面更
詳細(xì)地描述的、本發(fā)明的一個(gè)或多個(gè)最優(yōu)化技術(shù).例如,遠(yuǎn)程接入 客戶端120可用來使得在圖1A-1C的任何說明性環(huán)境下的任何實(shí)時(shí) 數(shù)據(jù)通信最優(yōu)化,諸如VoIP、桌面共享、或web會議。
在圖1A-1C的任何說明性環(huán)境下,諸如用于客戶端105、服務(wù)器、 或網(wǎng)關(guān)340的任一項(xiàng)的計(jì)算設(shè)備102a-102n,可被提供為任何類型和 /或形式的計(jì)算設(shè)備,諸如由Palo Alto, California的HP公司或 Round Rock,TX的Dell ^>司制造的那種個(gè)人計(jì)算機(jī)或計(jì)算機(jī)服務(wù) 器。圖1D和1E描述對于實(shí)施本發(fā)明的實(shí)施例有用的計(jì)算設(shè)備l-2 的框圖。如圖1D和1E所示,每個(gè)計(jì)算設(shè)備102包括中央處理單元 102,和主存儲器單元104。如圖1D所示,典型的計(jì)算設(shè)備102可包 括圖像顯示設(shè)備124、鍵盤126、和/或指向裝置127,諸如鼠標(biāo).每 個(gè)計(jì)算設(shè)備102還可包括附加的任選單元,諸如一個(gè)或多個(gè)輸入/輸 出設(shè)備130a-130b(總的用標(biāo)號130表示),和與中央處理單元102通 信的緩沖存儲器140。
中央處理單元102是響應(yīng)于和處理從主存儲器單元104捕獲的指 令的任何邏輯電路.在許多實(shí)施例中,中央處理單元由微處理器提
供,諸如8088、 80286、 80386、 80486、 Pentium(奔騰)、Pentium Pro、 Pentium II、 Celeron、或Xeon處理器,所有的這些處理器由 Mountain View, California的Intel公司制造;68000、 68010、 68020、 68030、 68040、 PowerPC601、 PowerPC604、 PowerPC604e、 MPC603e、 MPC603ei、 MPC603ev、 MPC603r、 MPC603p、 MPC740、 MPC745、 MPC750、 MPC755、 MPC7400、 MPC7410、 MPC7441、 MPC7445、 MPC7447、 MPC7450、 MPC7451、 MPC7455、或MPC7457處理器,所有的這些處理 器由Schaumburg, Illinois的Motorola公司制造;Crusoe TM5800、 Crusoe TM5800、 Crusoe TM5800、 Crusoe TM580(J、 Ef f iceon TM8600、 Efficeon TM8600 、 Efficeon TM8600 處理器,由 Santa Clara, California的Transmeta 乂>司制造;RS/6000處理器、RS64、 RS64 II、 PS2C、 POWER3、 RS64 III、 P0WER3-I1、 RS64 IV、 P0WER4、 P0WER4+、 POWER5、或POWER6處理器3,所有的這些處理器由White Plains, New York的IBM公司制造;AMD Opeteron、 AMD Athlon 64 FX、 AMD Athlon、或AMD Duron處理器,由Sunnyvale, California 的Advanced Micro Devices公司制造,計(jì)算設(shè)備102可以是基于任 何上述的處理器,或能夠如這里描述的那樣工作的任何其它處理 器。
主存儲器單元104可以是能夠存儲數(shù)據(jù)和允許由微處理器100 直接存取的任何存儲單元的一個(gè)或多個(gè)存儲器芯片,諸如靜態(tài)隨機(jī) 存取存儲器(SRAM)、突發(fā)SRAM或同步突發(fā)SRAM(BSRAM)、動(dòng)態(tài)隨機(jī) 存取存儲器(DRAM)、快速尋呼模式DRAM(FPM DRAM)、增強(qiáng)的 DRAM(EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM(ED0RAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、突發(fā)擴(kuò)展數(shù)據(jù)輸出DRAM(BEDO RAM)、增強(qiáng)的DRAM(EDRAM)、 同步DRAM (SDRAM) 、 JEDEC SRAM、 PCI 00 SDRAM、雙數(shù)據(jù)速率SDRAM (DDR SDRAM)、增強(qiáng)的SDRAM (ESDRAM)、同步鏈路DRAM(SLDRAM)、直接Rambus DRAM(DRDRAM)、或鐵電RAM(FRAM).主存儲器104可以是基于任何上 述的存儲器芯片,或能夠如這里描述的那樣工作的任何其它可得到 的存儲器芯片。在圖1E所示的實(shí)施例中,處理器IOO經(jīng)由系統(tǒng)總線 150 (下面更詳細(xì)地描述)與主存儲器104通信。圖IE顯示其中處 理器100經(jīng)由存儲器端口 103直接與主存儲器104通信的計(jì)算設(shè)備 102的實(shí)施例。例如,在圖1E上,主存儲器104可以是DRDRAM,
圖1D和1E顯示其中主處理器IOO經(jīng)由輔助總線,有時(shí)稱為后段 總線,直接與緩沖存儲器140通信的實(shí)施例.在其它實(shí)施例中,主 處理器100通過使用系統(tǒng)總線150與緩沖存儲器140通信。緩沖存 儲器140典型地比主存儲器104具有更快速的響應(yīng)時(shí)間,它典型地 由SRAM、 BSRAM或EDRAM提供,
在圖1D所示的實(shí)施例中,處理器100經(jīng)由本地系統(tǒng)總線150與 各種1/0設(shè)備130通信.各種總線可用來把中央處理單元102連接 到任何的1/0設(shè)備130,包括VESAVL總線、ISA總線、EISA總線、 微信道結(jié)構(gòu)(MCA)總線、PCI總線、PCI-X總線、PCI-Express總線、 或Nu總線。對于10設(shè)備是視頻顯示器124的實(shí)施例,處理器100 可以使用高級圖形端口 ( AGP)與顯示器124通信.圖1E顯示其中 主處理器100經(jīng)由HyperTransport, Rapid 1/0,或InfiniBand直接 與1/0設(shè)備130通信的計(jì)算機(jī)102的實(shí)施例。圖1E也顯示其中本地 總線與直接通信混合處理器100通過使用本地互聯(lián)總線與1/0設(shè) 備130a通信而同時(shí)直接與1/0設(shè)備130b通信的實(shí)施例。
計(jì)算設(shè)備102可以支持任何適當(dāng)?shù)陌惭b設(shè)備116,諸如軟盤驅(qū) 動(dòng),用于接納諸如3. 5英寸、5.25英寸盤的軟盤或ZIP盤,CD-ROM 驅(qū)動(dòng)、CD-R/RW驅(qū)動(dòng)、DVD-ROM驅(qū)動(dòng)、或各種格式的磁帶驅(qū)動(dòng)、USB 裝置、硬盤驅(qū)動(dòng)或適合于安裝軟件和程序的任何其它裝置,諸如與 本發(fā)明關(guān)聯(lián)的遠(yuǎn)程接入客戶端軟件120。
計(jì)算設(shè)備102還可包括存儲裝置128,諸如一個(gè)或多個(gè)硬盤驅(qū)動(dòng) 或獨(dú)立盤的冗余陣列,用于存儲操作系統(tǒng)和其它相關(guān)的軟件,和用 于存儲應(yīng)用軟件程序,諸如與本發(fā)明的遠(yuǎn)程接入客戶端120關(guān)聯(lián)的 任何程序,任選地,任何安裝設(shè)備118還可被用作為存儲裝置128。 另外,操作系統(tǒng)和代理軟件120可以從可引導(dǎo)的媒體,例如可引導(dǎo) 的CD,諸如KNOPPIX⑧,作為GNU/Linux從knoppix.net可得到的、 用于GNU/Linux的可引導(dǎo)的CD被運(yùn)行。
而且,計(jì)算設(shè)備102可包括網(wǎng)絡(luò)接口 118,用來通過各種各樣的 連接,包括但不限于,標(biāo)準(zhǔn)電話線、LAN、或WAN鏈路(例如,802. ll,Tl, T3,56kb,X. 25)、寬帶連接(例如,ISDN,幀中繼,ATM)、無線連接或 以上的任何部分或全部的某些組合,接口到局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)或互聯(lián)網(wǎng)。網(wǎng)絡(luò)接口 118可包括內(nèi)建的網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)卡、卡總線網(wǎng)絡(luò)適配器、無線網(wǎng)適配器、USB網(wǎng)絡(luò)適 配器、調(diào)制解調(diào)器或適用于把計(jì)算設(shè)備102接口到能夠通信和執(zhí)行 這里描述的搮作的任何類型的網(wǎng)絡(luò)的任何其它裝置,
在計(jì)算設(shè)備102中可以存在各種各樣的1/0設(shè)備130a-130n。輸 入設(shè)備包括鍵盤、鼠標(biāo)、跟蹤板、跟蹤球、話筒和畫圖板。輸出設(shè) 備包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)、和染料升 華打印機(jī),1/0設(shè)備可以由如圖1D所示的1/0控制器123控制。I/O 控制器可以控制一個(gè)或多個(gè)I/O設(shè)備,諸如鍵盤126和打印機(jī)設(shè)備 127,例如鼠標(biāo)或光筆.而且,1/0設(shè)備還可以提供存儲裝置128和/ 或用于計(jì)算設(shè)備102的安裝媒體118。在另外其它的實(shí)施例中,計(jì)算 設(shè)備102可提供USB連接,以接納手持的USB存儲裝置,諸如由Los Ala邁itos, California的Twintech Industry公司制造的設(shè)備的USB 閃速驅(qū)動(dòng)線.
在再一個(gè)實(shí)施例中,10設(shè)備130可以是在系統(tǒng)總線150與諸如 USB總線、Apple臺式總線、RS-232串行連接、SCSI總線、火線總 線、火線800總線、以太網(wǎng)總線、AppleTalk總線、千兆以太網(wǎng)總線、 異步傳送模式總線、HIPPI總線、超級HIPPI總線、SerialPlus總 線、SCI/LAMP總線、光纖信道總線、或串行附著小計(jì)算機(jī)系統(tǒng)接口 總線那樣的外部通信總線之間的橋路170。
如圖1D和1E所示的、那種計(jì)算設(shè)備102典型地在操作系統(tǒng)的控 制下工作,該操作系統(tǒng)控制任務(wù)的調(diào)度和接入到系統(tǒng)資源。計(jì)算設(shè) 備102可以運(yùn)行任何操作系統(tǒng),諸如Microsoft⑧視窗操作系統(tǒng)的任 何版本、Unix和Linux操作系統(tǒng)的不同版、用于Macintosh計(jì)算機(jī) 的MacOS⑧的任何版本、任何嵌入的操作系統(tǒng)、任何實(shí)時(shí)操作系統(tǒng)、 任何開放源操作系統(tǒng)、任何專用操作系統(tǒng)、用于移動(dòng)計(jì)算設(shè)備的操 作系統(tǒng)、或能夠在計(jì)算設(shè)備上運(yùn)行和執(zhí)行這里描述的操作的任何其 它操作系統(tǒng)。典型的操作系統(tǒng)包括WINDOWS 3.x、 WINDOWS 95、 WINDOWS 98、 WINDOWS 2000、 WINDOWS NT 3.51、 WINDOWS NT 4.0、 WINDOWS CE、和WINDOWS XP,所有的這些操作系統(tǒng)由Redmond, Washington的微軟公司制造;Mac0S,由Cupertino, California的 Apple計(jì)算機(jī)公司制造;0S2,由Armonk, New York的IBM公司制造; 和Linux, —種由Salt Lake CUy, UtahCaldera公司免費(fèi)提供的操
作系統(tǒng),Java或Unix等等,
在其它實(shí)施例中,計(jì)算設(shè)備102可以具有不同的處理器、操作系 統(tǒng)、和與設(shè)備一致的輸入設(shè)備.例如,在一個(gè)實(shí)施例中,計(jì)算機(jī)102 是由Palm公司制造的Zire 71個(gè)人數(shù)字助理.在本實(shí)施例中,Zire 71在PalmOS操作系統(tǒng)的控制下工作,它包括針陣輸入設(shè)備以及五方 式導(dǎo)航器設(shè)備。
而且,計(jì)算設(shè)備102可以是任何工作站、臺式計(jì)算機(jī)、筆記本電 腦、服務(wù)器、手持計(jì)算機(jī)、移動(dòng)電話、任何其它計(jì)算機(jī)、或能夠通 信和具有足夠的處理器功率和存儲器容重來執(zhí)行這里描述的操作的 計(jì)算或電信設(shè)備的其它形式.
一方面,本發(fā)明涉及提供用于使得在諸如在圖1A-1C的任何說明 性環(huán)境下描繪的計(jì)算設(shè)備之間的通信最優(yōu)化的各種技術(shù)。本發(fā)明提 供以下的、可以單獨(dú)地或任何組合地實(shí)施的技術(shù)l)對等路由最優(yōu) 化,2)經(jīng)由無損協(xié)議傳送對于經(jīng)由有損協(xié)議的傳輸被構(gòu)建的分組,
3) 通過考慮到加密調(diào)節(jié)最大傳輸單元(MTU)參數(shù)而減小網(wǎng)絡(luò)分段,
4) 客戶端側(cè)應(yīng)用知道的網(wǎng)絡(luò)通信優(yōu)先化,以及5)保護(hù)設(shè)備免受網(wǎng)絡(luò) 中斷,對等路由最優(yōu)化技術(shù)將結(jié)合圖2A和2B進(jìn)行討論,經(jīng)由無損 協(xié)議傳送對于經(jīng)由有損協(xié)議的傳輸被構(gòu)建的分組的技術(shù)將結(jié)合圖3A 和3B進(jìn)行討論,MTU調(diào)節(jié)技術(shù)將結(jié)合圖4進(jìn)行討論,客戶端側(cè)應(yīng)用 知道的優(yōu)先化技術(shù)將結(jié)合圖5A和5B進(jìn)行討論,以及網(wǎng)絡(luò)中斷保護(hù) 技術(shù)將結(jié)合圖6A和6B進(jìn)行討論.
一方面,本發(fā)明涉及提供在第一計(jì)算設(shè)備經(jīng)由網(wǎng)關(guān),諸如圖1A 所示的網(wǎng)關(guān),接入第二計(jì)算設(shè)備之間的對等路由最優(yōu)化技術(shù)。對等 路由技術(shù)提供在建立或試圖建立經(jīng)由網(wǎng)關(guān)的通信會話的計(jì)算設(shè)備之 間的更優(yōu)化和直接的通信.本發(fā)明的實(shí)施例的說明性方法260將對 于圖2A的說明性環(huán)境進(jìn)行討論。概述地,環(huán)境200包括網(wǎng)關(guān)340, 提供遠(yuǎn)程接入連接性給專用網(wǎng),諸如具有IP地址范圍10. 10. 10. XXX 的網(wǎng)絡(luò)。與專用網(wǎng)關(guān)聯(lián)的網(wǎng)關(guān)340可以分配10. 10.10. 2的IP地址, 用于在專用網(wǎng)上通信。這個(gè)專用網(wǎng)可以包括服務(wù)器102c。另外,專 用網(wǎng)包括電信設(shè)備210c,諸如任何類型和/或形式的VoIP電話.電 信設(shè)備210c被分配有在專用網(wǎng)上的IP地址10.10.10.100。
在一個(gè)實(shí)施例中,服務(wù)器102包括信令服務(wù)器,它可以提供任何類型和/或形式的信令服務(wù),用于建立在計(jì)算設(shè)備,諸如笫一計(jì)算設(shè)
備102a與笫二計(jì)算設(shè)備102b之間的通信會話.在一個(gè)實(shí)施例中, 服務(wù)器102c支持會話發(fā)起協(xié)議,SIP,其用于發(fā)起牽涉到諸如視頻、 話音、聊天、游戲、和虛擬現(xiàn)實(shí)那樣的多媒體單元的互動(dòng)的用戶會 話的互聯(lián)網(wǎng)工程任務(wù)組(IETF)標(biāo)準(zhǔn)協(xié)議。在一個(gè)實(shí)施例中,SIP工 作在開放系統(tǒng)互聯(lián)(0SI)通信模型的應(yīng)用層。在一些實(shí)施例中,第 一計(jì)算設(shè)備102a經(jīng)由信令,諸如經(jīng)由SIP協(xié)議,發(fā)起經(jīng)由信令路徑 到信令服務(wù)器102c的會話。在一個(gè)實(shí)施例中,信令服務(wù)器102c結(jié) 合網(wǎng)關(guān)340用于建立在第一計(jì)算設(shè)備102a與第二計(jì)算設(shè)備102b之 間的媒體路徑225,諸如用于在電話210a與210b之間的VoIP電信 會話。
環(huán)境200的第一計(jì)算設(shè)備102a可以是網(wǎng)絡(luò)一專用網(wǎng)或公共網(wǎng)--的一部分,通過連接341a經(jīng)由網(wǎng)絡(luò)104接入網(wǎng)關(guān)340,并穿過防火 墻205a。防火墻205a提供接入和穿過公共網(wǎng),并分配有 24. 24. 24. IOO的IP地址,第一計(jì)算設(shè)備102a可以是與電信設(shè)備210a 通信,或接口或耦合到該電信設(shè)備,諸如VoIP通信設(shè)備,或任何其 它實(shí)時(shí)數(shù)據(jù)通信設(shè)備.第二計(jì)算設(shè)備102b可以是專用網(wǎng)的一部分, 并分配有192. 168. 20. 20的IP地址。另外,第二計(jì)算設(shè)備102b可 包括基于軟件的電信設(shè)備210b,諸如基于軟件的VoIP電信設(shè)備或程 序。第二計(jì)算設(shè)備102b可以通過連接341b經(jīng)由網(wǎng)絡(luò)104并穿過防 火墻205b接入網(wǎng)關(guān)340,防火墻205b具有216. 216. 10. 10的公共網(wǎng) IP地址。防火墻205a和205b可以是如本領(lǐng)域技術(shù)人員已知的任何 類型和形式的防火墻,諸如NAT防火墻。
圖2A的第一計(jì)算設(shè)備102a和第二計(jì)算設(shè)備102b包括和使用本 發(fā)明的遠(yuǎn)程接入客戶端120,提供在環(huán)境200中ad-hoc對等虛擬網(wǎng) 連接.除了保持與網(wǎng)關(guān)340的、諸如SSL VPN連接那樣的隧道和虛 擬專用連接以外,本發(fā)明的遠(yuǎn)程接入客戶端120還具有邏輯、功能、 和操作,以建立直接到它試?yán)У竭_(dá)的對等體的ad-hoc連接,比如SSL VPN連接。對于圖2A,圖2B的說明性方法260將用來在本發(fā)明的一 個(gè)說明性實(shí)施例中討論對于媒體路徑225如何建立對等安全通信會 話。如通過方法200顯示的本發(fā)明的對等路由技術(shù)提供較好的話音 質(zhì)量和減小與VoIP通信以及其它實(shí)時(shí)數(shù)據(jù)通信關(guān)聯(lián)的等待時(shí)間。
在說明性方法260的概略中,在步驟262,計(jì)算設(shè)備102a和102b 建立與網(wǎng)關(guān)340的隧道會話。在步稞264,第一計(jì)算設(shè)備102a經(jīng)由 到信令服務(wù)器102b的信令路徑220使用信令協(xié)議,來發(fā)起經(jīng)由網(wǎng)關(guān) 340到第二計(jì)算設(shè)備102b的會話.會話可以由電信設(shè)備102a與第一 計(jì)算設(shè)備102a通信而被發(fā)起,在步驟266,信令服務(wù)器102c建立電 信會話,和在步猓268,為第一計(jì)算設(shè)備102a提供笫二計(jì)算設(shè)備102c 的第 一 網(wǎng)絡(luò)標(biāo)識符.第 一 網(wǎng)絡(luò)標(biāo)識符包括第二計(jì)算設(shè)備102b的網(wǎng)絡(luò) 地址,比如主機(jī)名或IP地址,該網(wǎng)絡(luò)地址諸如基于用網(wǎng)關(guān)340通過 隧道341b所建立的其IP地址.在步驟270,第一計(jì)算設(shè)備102a通 過使用第一網(wǎng)絡(luò)標(biāo)識符與第二計(jì)算設(shè)備102b通信,以建立連接或通 信會話。
在另外的概況中,在步驟272,網(wǎng)關(guān)340通過第一計(jì)算設(shè)備102a 截取通信,并給第一計(jì)算設(shè)備102a提供用于第二計(jì)算設(shè)備102b的 第二網(wǎng)絡(luò)標(biāo)識符。第二網(wǎng)絡(luò)標(biāo)識符包括由第一計(jì)算設(shè)備lOh直接或 公開地可接入的第二計(jì)算設(shè)備102a的IP地址或主機(jī)名,諸如第二 計(jì)算設(shè)備102b的最后得知的公共IP地址,在步驟274,在一個(gè)實(shí)施 例中,網(wǎng)關(guān)340與第二計(jì)算設(shè)備102b通信,以請求第二計(jì)算設(shè)備102b 建立浮筒會話,由第一計(jì)算設(shè)備102a經(jīng)由防火墻205b連接到第二 計(jì)算設(shè)備102b.在一些實(shí)施例中,網(wǎng)關(guān)340在步驟276可以協(xié)商或 否則提供用于第一計(jì)算設(shè)備102a和第二計(jì)算設(shè)備102b加密密鑰。 在步驟278,第一計(jì)算設(shè)備102a建立到第二計(jì)算設(shè)備102b的直接連 接、通信會話、或媒體路徑225。在其它實(shí)施例中,在步驟280,第 一計(jì)算設(shè)備102a和/或第二計(jì)算設(shè)備102b在允許通信之前匹配由其 它計(jì)算設(shè)備接收的加密密鑰。
在說明性步驟262的一些實(shí)施例中,計(jì)算設(shè)備102a和102b可以 通過任何適當(dāng)?shù)难b置和/或機(jī)構(gòu),諸如通過任何類型和/或形式的隧 道或網(wǎng)關(guān)協(xié)議建立與網(wǎng)關(guān)340的連接。在一些實(shí)施例中,到網(wǎng)關(guān)340 的連接341a和341b可以形成虛擬專用網(wǎng)絡(luò)連接,以及在其它實(shí)施 例中,可以使用SSL或TLS提供到專用網(wǎng)的安全通信,諸如由在說 明性圖2上的IP范圍IO.IO.IO.XXX識別的專用網(wǎng).在一個(gè)實(shí)施例 中,計(jì)算設(shè)備102a和102b通過經(jīng)由專用網(wǎng)穿過防火墻20Sa-205b 而連接到網(wǎng)關(guān)340,而在其它實(shí)施例中,計(jì)算設(shè)備102a 102b可以經(jīng)
由專用網(wǎng)連接到網(wǎng)關(guān)340,并且可以不經(jīng)過防火墻205a-205b.本領(lǐng) 域技術(shù)人員將會認(rèn)識到和看到計(jì)算設(shè)備102a-102b可以連接到和與 網(wǎng)關(guān)340通信的各種各樣方式,
在說明性步驟264,在一個(gè)實(shí)施例中,電信設(shè)備210a,諸如硬 IP電話,發(fā)起到諸如軟IP電話的電信設(shè)備210b的電信會話,諸如 電話呼叫。在一些實(shí)施例中,電信設(shè)備210a通過表示電信設(shè)備210b 的分機(jī)而發(fā)起電話呼叫.當(dāng)電信設(shè)備210a發(fā)起電信會話時(shí),建立電 信會話或媒體會話的這個(gè)發(fā)起、表示、或請求可以經(jīng)由SIP協(xié)議, 專用信令協(xié)議,或使用于信令的任何其它類型的協(xié)議,被發(fā)送到信 令服務(wù)器102a。信號經(jīng)由信令路徑220,經(jīng)由隧道會話341a被傳送 到網(wǎng)關(guān)230,以及經(jīng)由在網(wǎng)關(guān)340后面的專用網(wǎng)的內(nèi)部網(wǎng)路由到達(dá)信 令服務(wù)器102c.
雖然方法260的說明性實(shí)施例是對于VoIP或電信信令和會話討 論的,但本領(lǐng)域技術(shù)人員將認(rèn)識和理解,本發(fā)明可用于發(fā)起任何類 型和/或形式的通信會話、實(shí)時(shí)或否則諸如牽涉到多媒體單元,諸如 視頻、話音、閑談、游戲、和虛擬真實(shí)性等等的互動(dòng)的用戶會話, 這樣,電信設(shè)備210a-210b、信令/信號路徑220、和信令服務(wù)器120a 由此且適當(dāng)?shù)匕▽?yīng)于通信會話的類型和/或形式的設(shè)備、信令、 協(xié)議和通信的類型和/或形式。
在說明性步驟266的一些實(shí)施例中,信號服務(wù)器102c可以設(shè)置、 協(xié)商、或建立任何類型的通信會話,以及在一個(gè)實(shí)施例中,信令服 務(wù)器102c可以建立電信會話,諸如由電信設(shè)備210a發(fā)起的VoIP電 話。當(dāng)建立電信或其它媒體會話時(shí),信令服務(wù)器102c在步猓270, 指令、請求、通知發(fā)起的電信設(shè)備210a和/或第一計(jì)算設(shè)備102a或 否則與之通信,以經(jīng)由某個(gè)網(wǎng)絡(luò)地址聯(lián)系、通知、接觸電信設(shè)備210b 或否則與之通信.在一些實(shí)施例中,由信令服務(wù)器102c提供給發(fā)起 的電信設(shè)備210a的網(wǎng)絡(luò)地址包括在網(wǎng)關(guān)340后面的專用網(wǎng)上計(jì)算設(shè) 備102b的網(wǎng)絡(luò)地址,即,10.10.10.XXX。在一個(gè)實(shí)施例中,用于各 個(gè)電信設(shè)備210b的網(wǎng)絡(luò)地址可包括企業(yè)專用網(wǎng)地址。
這時(shí),代替經(jīng)由對等電信設(shè)備210b的VPN專用IP地址與之聯(lián) 系,說明性方法260經(jīng)由遠(yuǎn)程接入客戶端120實(shí)行電信設(shè)備210a和 /或第一計(jì)算設(shè)備102a直接聯(lián)系對等或目標(biāo)電信設(shè)備HOb或第二計(jì)
算設(shè)備102b。本發(fā)明的技術(shù)不是對于任何VoIP特定的,它可以應(yīng)用 到任何其它協(xié)議,諸如在計(jì)算設(shè)備之間的任何的對等協(xié)議.本發(fā)明 的技術(shù)通過客戶端試圖聯(lián)系的資源的IP地址來作出決定.
在步驟270,當(dāng)電信設(shè)備210a用由信令服務(wù)器120c在步驟268 提供的第一網(wǎng)絡(luò)地址,諸如軟IP電話的VPN專用IP地址,發(fā)起到 電信設(shè)備210b的數(shù)據(jù)連接時(shí),網(wǎng)關(guān)340截取通信,以向電信設(shè)備210 和/或第一計(jì)算設(shè)備102b提供用于聯(lián)系電信設(shè)備210b的笫二網(wǎng)絡(luò)地 址。在一個(gè)實(shí)施例中,網(wǎng)關(guān)340通過相同的建立的VPN隧道341a介 入并發(fā)送帶外信號正在實(shí)行用于硬IP電話210a的業(yè)務(wù)的第一計(jì)算 設(shè)備102a,本領(lǐng)域技術(shù)人員將認(rèn)識和理解,網(wǎng)關(guān)340可以直接通過 任何適當(dāng)?shù)难b置和/或機(jī)構(gòu)把用于聯(lián)系計(jì)算設(shè)備102b和/或電信設(shè)備 210b的該網(wǎng)絡(luò)地址傳送到電信設(shè)備210和/或計(jì)算設(shè)備102a。例如, 網(wǎng)關(guān)340可以經(jīng)由第二隧道會話把第二網(wǎng)絡(luò)地址傳送到第一計(jì)算設(shè) 備102a。
在一些實(shí)施例中,網(wǎng)關(guān)向第一計(jì)算設(shè)備102a表示最后的已知的 公共IP地址,正在運(yùn)行軟IP電話210b的第二計(jì)算設(shè)備102b使用 該IP地址來聯(lián)系網(wǎng)關(guān)340。在其它實(shí)施例中,這個(gè)公共IP可能不是 第二計(jì)算設(shè)備的實(shí)際的IP地址,而可以是其后面是第二計(jì)算設(shè)備 102b的防火墻205b的IP地址。如果計(jì)算設(shè)備210a直接聯(lián)系防火墻 205b的/>共IP地址,則分組可以被防火墻205b拒絕。在這些實(shí)施 例中,網(wǎng)關(guān)340指令計(jì)算設(shè)備102b建立到第一計(jì)算設(shè)備102a的、 本領(lǐng)域技術(shù)人員稱之為浮筒會話的會話,在防火墻205b上打開一個(gè) 轉(zhuǎn)發(fā)口,基于它第一計(jì)算設(shè)備102a可以穿過或返回.在其它實(shí)施例 中,任何適當(dāng)?shù)难b置和/或機(jī)構(gòu)可用來允許第一計(jì)算設(shè)備102a穿過 防火墻205b,與第二計(jì)算設(shè)備102b聯(lián)系和通信,
雖然說明性方法260是結(jié)合在防火墻205a后面具有笫二計(jì)算設(shè) 備102n的、圖2A的環(huán)境200討論的,但本領(lǐng)域技術(shù)人員將認(rèn)識和 理解,說明性方法260可用于第二計(jì)算設(shè)備102b是直接可接入的而 不用穿過防火墻205a的環(huán)堍.這樣,說明性方法260可以不需要在 步驟274指令第二計(jì)算設(shè)備102b為第一計(jì)算設(shè)備102a連接到第二 計(jì)算設(shè)備102b提供浮筒會話或其它機(jī)構(gòu)。
在一些實(shí)施例中,網(wǎng)關(guān)340在步驟276可以在計(jì)算設(shè)備lipa-
se
102b之間協(xié)商用于安全通信的密鑰。在計(jì)算設(shè)備102a-102b處的遠(yuǎn) 程接入客戶端120可以使用這個(gè)用于安全和加密通信的密鑰,和/或 鑒權(quán)或授權(quán)其它計(jì)算設(shè)備.在其它實(shí)施例中,為了保證惡意的計(jì)算 設(shè)備不利用這個(gè)開孔,網(wǎng)關(guān)340在步驟276在兩個(gè)計(jì)算設(shè)備102a和 102b之間協(xié)商安全密鑰,并且各個(gè)遠(yuǎn)程接入客戶端120在允許數(shù)據(jù) 通信之前保證密鑰匹配。例如,在建立浮筒會話的實(shí)施例中,這個(gè) 密鑰保證進(jìn)入到開孔的分組是來自浮筒會話所指的計(jì)算設(shè)備.
在其它實(shí)施例中,網(wǎng)關(guān)340不執(zhí)行步驟276,以提供在計(jì)算設(shè)備 102a-102b之間的對等通信會話的安全機(jī)構(gòu).例如,計(jì)算設(shè)備 102a-102b可能是處在同一個(gè)專用企業(yè)網(wǎng)絡(luò),所以可以是信任的。在 另外的實(shí)施例中,不用網(wǎng)關(guān)340協(xié)商安全密鑰,計(jì)算設(shè)備102a-102b 使用任何適當(dāng)?shù)难b置和/或機(jī)構(gòu),來鑒權(quán)和/或授權(quán)其它計(jì)算設(shè)備進(jìn) 行對等通信。在一些實(shí)施例中,計(jì)算設(shè)備102a-102b可以經(jīng)由網(wǎng)關(guān) 隧道會話,諸如經(jīng)由路徑341a,或在步驟280,經(jīng)由在步驟278建 立的媒體路徑225 ,進(jìn)行鑒權(quán)和/或授權(quán)。例如,每個(gè)計(jì)算設(shè)備 102a-102b的遠(yuǎn)程接入客戶端120可以在允許任何數(shù)據(jù)在連接225上 進(jìn)行通信之前通過建立的媒體路徑225檢驗(yàn)密鑰的匹配。
在步驟278,不用經(jīng)過網(wǎng)關(guān)340在計(jì)算設(shè)備102a-102b之間建立 用于任何類型和/或形式的通信的直接媒體路徑224,并且在一些實(shí) 施例中,不使用計(jì)算設(shè)備102a-102b的各個(gè)VPN分配的IP地址,而 是代之以使用它們的公共IP地址或由它們駐在的網(wǎng)絡(luò)分配給它們的 IP地址。通過使用本發(fā)明的技術(shù),計(jì)算設(shè)備102a-102b的各個(gè)遠(yuǎn)程 接入客戶端120互相用作為臨時(shí)對等SSL網(wǎng)關(guān),直接解密互相的SSL 會話,而不用經(jīng)由網(wǎng)關(guān)340通信.經(jīng)由路徑225的直接對等通信會 話避免經(jīng)由網(wǎng)關(guān)340的額外跳。這將減小由于采用經(jīng)由網(wǎng)關(guān)340的 較長路由造成的等待時(shí)間,并將改進(jìn)諸如圖2A所示的VoIP通信那 樣的實(shí)時(shí)數(shù)據(jù)通信的質(zhì)量、性能和感受。
在一些實(shí)施例中,網(wǎng)關(guān)340可被配置成每當(dāng)計(jì)算設(shè)備102試圖建 立對等通信會話或經(jīng)由網(wǎng)關(guān)340接入資源時(shí)自動(dòng)執(zhí)行說明性方法260 的技術(shù)。在一些實(shí)施例中,網(wǎng)關(guān)340可被配置成僅僅對于源IP地址、 目的地IP地址、或它們的任何組合的,某些IP地址范圍自動(dòng)執(zhí)行 說明性方法260的技術(shù)。在另一個(gè)實(shí)施例中,網(wǎng)關(guān)340可以根據(jù)經(jīng)
由網(wǎng)關(guān)340接入的應(yīng)用和/或資源的類型執(zhí)行這種技術(shù)。例如,在一 個(gè)實(shí)施例中,網(wǎng)關(guān)340可以對于任何的類型的、經(jīng)由網(wǎng)關(guān)340共享 屏幕數(shù)據(jù)的桌面或屏幕共享應(yīng)用自動(dòng)執(zhí)行這種技術(shù).在其它實(shí)施例 中,網(wǎng)關(guān)340可以確定根據(jù)任何類型和/或形式的商業(yè)規(guī)則、接入控 制策略或其它配置、算法、和統(tǒng)計(jì)值執(zhí)行這種技術(shù).例如,網(wǎng)關(guān)340 可以根據(jù)在對等計(jì)算設(shè)備之間的、基于ping的定時(shí)統(tǒng)計(jì)來執(zhí)行這種 技術(shù)。如果對等計(jì)算設(shè)備比與網(wǎng)關(guān)340互相更靠近,則網(wǎng)關(guān)執(zhí)行對 等路由技術(shù)。本領(lǐng)域技術(shù)人員將認(rèn)識和理解本發(fā)明的網(wǎng)關(guān)可被適配 為或否則被配置成執(zhí)行本發(fā)明的對等路由技術(shù)的各種方式。
一方面,本發(fā)明涉及允許經(jīng)由無損協(xié)議傳送對于經(jīng)由有損協(xié)議的 傳輸被構(gòu)建的分組。在圖3B所示的一個(gè)技術(shù)中,本發(fā)明當(dāng)經(jīng)由無損 或可靠的協(xié)議傳送有損或不可靠的協(xié)議,諸如,例如經(jīng)由TCP或 SSL/TCP連接在UDP上傳送RTP時(shí),使用虛假確認(rèn)技術(shù),在圖3C所 示的另一個(gè)技術(shù)中,本發(fā)明使用有效負(fù)栽移位,以經(jīng)由無損協(xié)議傳 送對于經(jīng)由有損協(xié)議的傳輸被構(gòu)建的分組.在一些實(shí)施例中,本發(fā) 明的這些技術(shù)幫助達(dá)到在UDP級別的傳輸層安全性(TLS),正如本
領(lǐng)域技術(shù)人員在下面的說明中將認(rèn)識和理解的。
下面鑒于圖3A的說明性環(huán)境300和另外鑒于圖1A-1E,討論用 于實(shí)施虛假確認(rèn)技術(shù)的本發(fā)明的實(shí)施例的說明性方法360.概略地, 環(huán)境300包括計(jì)算設(shè)備102a的客戶端105a與計(jì)算設(shè)備102b的另一 方客戶端105b通信,或替換地經(jīng)由網(wǎng)絡(luò)104與網(wǎng)關(guān)340通信。在一 些實(shí)施例中,客戶端105a可以經(jīng)過IP路由器305a-305b,或網(wǎng)絡(luò) 104可以具有IP路由器305a-305b。雖然在其它實(shí)施例中,計(jì)算設(shè) 備102a-102b和網(wǎng)關(guān)340可以是在同一個(gè)網(wǎng)絡(luò)104,另外,電信設(shè)備 210a可以與客戶端105a相關(guān)聯(lián),以及電信設(shè)備210b可以與另一方 客戶端105b或網(wǎng)關(guān)340a相關(guān)聯(lián)。
客戶端105a可包括第一網(wǎng)絡(luò)堆棧310a,客戶端105或網(wǎng)關(guān)340 可包括第二網(wǎng)絡(luò)堆棧310b。網(wǎng)絡(luò)堆棧3201a-310a可包括一個(gè)或多個(gè) 網(wǎng)絡(luò)層,諸如開放系統(tǒng)互聯(lián)(OSI)通信模型的任何網(wǎng)絡(luò)層,例如, 如圖3A所示,網(wǎng)絡(luò)堆棧310a-310b包括在幀層之上通信的TCP/IP 343a-343b,它是本領(lǐng)域技術(shù)人員認(rèn)為適用于基于TCP/IP的網(wǎng)絡(luò) 104。 TCP/IP 343a-343b包括可靠的或無損協(xié)議的說明性實(shí)施例。例
如,在如本領(lǐng)域技術(shù)人員已知的TCP 343a-343b中,網(wǎng)絡(luò)堆棧 310a-310b或其任何驅(qū)動(dòng)器或機(jī)構(gòu),諸如TCP驅(qū)動(dòng)器,可以執(zhí)行算法 和操作,以及包括提供協(xié)議的一個(gè)或多個(gè)無損或可靠的特性的邏輯 或功能.例如,為了支持TCP 343a-343b,網(wǎng)絡(luò)堆棧310a-310b可以 執(zhí)行分組排序、分組重發(fā)、分組接收的確認(rèn)、流控制算法、滑動(dòng)窗 口算法、和/或Nagle的算法,以及本領(lǐng)域技術(shù)人員在TCP 343a-343b 或任何其它無損協(xié)議方面將認(rèn)識和看到的、任何其它可靠性關(guān)聯(lián)的 操作和算法。
另外,網(wǎng)絡(luò)堆棧310a-310b可包括用于支持SSL或SSL VPN通信 的SSL 341a-341b層。例如,SSL層341a-341b可用于在遠(yuǎn)程接入客 戶端120之間或在遠(yuǎn)程接入客戶端120和網(wǎng)關(guān)340之間的網(wǎng)關(guān)或隧 道會話。如圖3A所示,網(wǎng)絡(luò)堆棧310a-310b還可提供用于諸如UDP 那樣的有損協(xié)議342a-342b的層,以通過諸如TCP那樣的無損協(xié)議 343a-343b被傳送.在一些實(shí)施例中,有損或不可靠的協(xié)議343a-343b 可包括在UDP上的實(shí)時(shí)協(xié)議(RTP),以及可包括具有諸如話音或音 頻的任何表示那樣的任何類型和/或形式的實(shí)時(shí)數(shù)據(jù)的有效負(fù)栽。在 其它實(shí)施例中,有損協(xié)議342a-342b可以在建立的VoIP會話中,諸 如經(jīng)由以上結(jié)合圖2A和2B討論的說明性方法260建立的會話中, 承栽到和來自客戶端105a的VoIP通信,諸如UDP 342a-342b那樣 的無損協(xié)議可被選擇用于諸如話音的實(shí)時(shí)應(yīng)用,因?yàn)閷τ谥T如對等 客戶端105b那樣的接收者,及時(shí)得到分組要比以可靠的方式,諸如 經(jīng)由無損協(xié)議得到分組,是更重要的.
網(wǎng)絡(luò)堆棧310a-310b還包括本發(fā)明的遠(yuǎn)程接入客戶端120的墊層 (shim) 322a-322b。墊層322a-322b可包括遠(yuǎn)程接入客戶端120的 任何部分,并且在一些實(shí)施例中,它包括網(wǎng)絡(luò)驅(qū)動(dòng)器、網(wǎng)絡(luò)驅(qū)動(dòng)器 接口、或用于提供如這里描述的本發(fā)明的虛假確認(rèn)技術(shù)的、其它網(wǎng) 絡(luò)層關(guān)聯(lián)的機(jī)構(gòu),墊層322a-322b可包括軟件、硬件、或軟件與硬 件的任何組合.在一個(gè)實(shí)施例中,墊層322a-322b可以在網(wǎng)絡(luò)分組 到達(dá)TCP層343a之前工作在網(wǎng)絡(luò)堆棧的IP層.在其它實(shí)施例中, 墊層322a-322b可以工作在TCP層343a-343b。本領(lǐng)域技術(shù)人員將認(rèn) 識和看到,墊層322a-322b可以在網(wǎng)絡(luò)堆棧310a-310b中以與無損 協(xié)議的操作的層關(guān)聯(lián)的任何方式工作,包括在無損協(xié)議的層中或在
其附近。
圖3B的方法360所示的、本發(fā)明的虛假確認(rèn)技術(shù)允許經(jīng)由諸如 TCP 343a-343b那樣的無損協(xié)議傳送諸如UDP 342a-342b那樣的有損 協(xié)議。通過墊層322a-322b發(fā)出對于TCP分組接收的虛假確認(rèn),本 發(fā)明的技術(shù)阻止或避免諸如在TCP 343a-343b的例子中任何的分組 排序、分組重發(fā)、流控制算法、滑動(dòng)窗口算法、和/或nagle算法那 樣的無損協(xié)議的可靠性機(jī)構(gòu)、操作和算法.這樣,有損協(xié)議342a-342b 可以通過無損協(xié)議343a-343b通信,但保持它的有損或不可靠的特 性,這是諸如在實(shí)時(shí)數(shù)據(jù)通信中想要的.這個(gè)技術(shù)也使得有損協(xié)議 能夠安全地通信,或經(jīng)由隧道協(xié)議通過網(wǎng)關(guān),或僅僅經(jīng)由TCP/IP而 不把無損協(xié)議的無損特性應(yīng)用到有損協(xié)議通信。
關(guān)于說明性方法360的概貌,在步驟365,計(jì)算設(shè)備102a和102b 或網(wǎng)關(guān)340建立基于無損協(xié)議的連接,諸如TCP連接,通過該連接 可以傳送無損協(xié)議分組.在步驟370,本發(fā)明的遠(yuǎn)程接入客戶端120 可以檢測,無損協(xié)議分組包括有損協(xié)議,諸如RTP或UDP,或否則包 括實(shí)時(shí)數(shù)據(jù)。在一個(gè)實(shí)施例中,在步驟375,說明性方法360可以用 密鑰,諸如經(jīng)由帶外TLS或步驟367的SSL會話提供的密鑰,加密 有效負(fù)載。在步驟380,無損協(xié)議分組的接收的虛假確認(rèn)可以諸如通 過墊層322a-322b被傳送到或否則提供給網(wǎng)絡(luò)堆棧310a-310b.響應(yīng) 于無損協(xié)議分組的接收的虛假確認(rèn)的接收,在步驟385,各個(gè)網(wǎng)絡(luò)堆 棧310a-310b不執(zhí)行一個(gè)或多個(gè),或全部的、提供無損協(xié)議的可靠 的或無損特性的算法和操作。在步驟390,在網(wǎng)絡(luò)堆棧310a-310b之 間傳送具有有損協(xié)議有效負(fù)栽的無損協(xié)議分組。
在說明性方法360的步驟365,無損協(xié)議連接可以經(jīng)由使用一種 類型和/或形式的無損協(xié)議的任何適當(dāng)?shù)难b置和/或機(jī)構(gòu)被建立。在 一個(gè)實(shí)施例中,客戶端105a的網(wǎng)絡(luò)堆棧310a建立到具有網(wǎng)絡(luò)堆棧 310b的一方客戶端105a的無損協(xié)議連接,諸如TCP。在另一個(gè)實(shí)施 例中,客戶端105a的網(wǎng)絡(luò)堆棧310a建立到具有網(wǎng)絡(luò)堆棧310b的網(wǎng) 關(guān)340的無損協(xié)議連接。另外,步驟365的無損協(xié)議連接可以以諸 如SSL那樣的安全的方式被建立,或作為虛擬專用連接。雖然網(wǎng)絡(luò) 堆棧310a-310b被顯示為具有相同的網(wǎng)絡(luò)層,但本領(lǐng)域技術(shù)人員將 認(rèn)識和理解,網(wǎng)絡(luò)堆??梢跃哂袑?yīng)的層,它們可以是不同的版本 或是與不同的操作系統(tǒng)和/或驅(qū)動(dòng)器關(guān)聯(lián)的,以及每個(gè)網(wǎng)絡(luò)堆棧
310a-310b可以具有附加的層、更少的層、或不同的層.
在說明性步驟360,在一個(gè)實(shí)施例中,遠(yuǎn)程接入客戶端120截取 網(wǎng)絡(luò)分組,諸如經(jīng)由分組捕獲機(jī)構(gòu)365,和通過適當(dāng)?shù)难b置和/或機(jī) 構(gòu)檢查網(wǎng)絡(luò)分組,以確定在網(wǎng)絡(luò)分組的有效負(fù)栽中使用的協(xié)議的類 型,或在網(wǎng)絡(luò)分組的有效負(fù)栽中內(nèi)容的類型。在一些實(shí)施例中,遠(yuǎn) 程接入客戶端120的墊層322a-322b可用于截取和檢查網(wǎng)絡(luò)分組. 在一個(gè)實(shí)施例中,遠(yuǎn)程接入客戶端120可以截取網(wǎng)絡(luò)分組,并確定 網(wǎng)絡(luò)分組是否包括任何的無損協(xié)議或特定的無損協(xié)議,諸如TCP.如 果網(wǎng)絡(luò)分組是無損協(xié)議,則遠(yuǎn)程接入客戶端120檢驗(yàn)有效負(fù)栽,以 確定協(xié)議的類型和/或數(shù)據(jù)的類型。在一個(gè)實(shí)施例中,遠(yuǎn)程接入客戶 端120可以通過網(wǎng)絡(luò)分組的有效負(fù)栽的任何適當(dāng)字段,諸如表示有 效負(fù)栽的有損協(xié)議的首部的任何部分,來確定有效負(fù)栽具有有損協(xié) 議內(nèi)容。在另一個(gè)實(shí)施例中,遠(yuǎn)程接入客戶端120可以通過有效負(fù) 栽的任何數(shù)據(jù)來確定,有效負(fù)栽是否包括有損協(xié)議或包括實(shí)時(shí)數(shù) 據(jù)。
在一個(gè)實(shí)施例中,遠(yuǎn)程接入客戶端120確定TCP分組包括RTP 或UDP的有效負(fù)栽,并施加有效負(fù)栽的加密.遠(yuǎn)程接入客戶端l20
;的密鑰加密網(wǎng):分組的有一效負(fù)-栽。在二些實(shí)施例;,^鑰或^碼
在客戶端105a-105b或客戶端105a與網(wǎng)關(guān)之間經(jīng)由帶外TLS被協(xié) 商,如圖3A所示,與在其它實(shí)施例中的傳統(tǒng)TLS會話相反,在傳統(tǒng) TLS會話中會話首先被協(xié)商并且同一個(gè)套接字用于數(shù)據(jù)通信,在一些 實(shí)施例中,在步驟375的加密逐個(gè)分組地進(jìn)行。在另一個(gè)實(shí)施例中, 一次對多個(gè)分組執(zhí)行加密。
在本發(fā)明的說明性方法360的步驟380,網(wǎng)絡(luò)分組,例如無損協(xié) 議分組的接收的虛假確認(rèn)被發(fā)出、傳送、或否則被提供給包括各個(gè) 發(fā)送和接收計(jì)算設(shè)備102a-102b的網(wǎng)絡(luò)堆棧310a-310b或網(wǎng)關(guān)340。 墊層322a-322b、遠(yuǎn)程接入客戶端120的任何部分、或網(wǎng)絡(luò)堆棧 310a-310b的任何部分可以發(fā)出網(wǎng)絡(luò)分組的接收的虛假確認(rèn)。 一方 面,網(wǎng)絡(luò)分組的接收的虛假確認(rèn)是虛假的,其意義在于其被傳送而 不確認(rèn)網(wǎng)絡(luò)分組的實(shí)際接收,以便阻止與網(wǎng)絡(luò)堆棧310a-310b關(guān)聯(lián)
的無損協(xié)議的無損和可靠的機(jī)構(gòu)。這樣,網(wǎng)絡(luò)分組的接收的虛假確 認(rèn)可包括與網(wǎng)絡(luò)分組的接收的實(shí)際確認(rèn)相同的形式和/或類型.
在一些實(shí)施例中,接收的虛假確認(rèn)在傳送網(wǎng)絡(luò)分組之前被發(fā)送到
網(wǎng)絡(luò)堆棧310a-310b。在其它實(shí)施例中,接收的虛假確認(rèn)在傳送網(wǎng)絡(luò) 分組后但同時(shí)或以某種方式被發(fā)送,諸如阻止接收的網(wǎng)絡(luò)堆棧 310a-310b的無損協(xié)議機(jī)構(gòu)不應(yīng)用到發(fā)送的網(wǎng)絡(luò)分組.在一個(gè)實(shí)施例 中,對于每個(gè)網(wǎng)絡(luò)分組發(fā)送網(wǎng)絡(luò)分組的接收的虛假確認(rèn),和在另一 個(gè)實(shí)施例中,可以對每個(gè)通信會話或無損協(xié)議連接發(fā)送一次網(wǎng)絡(luò)分 組的接收的虛假確認(rèn)。而且,本領(lǐng)域技術(shù)人員將認(rèn)識和理解,接收 的虛假確認(rèn)對于不同的操作系統(tǒng)可以在網(wǎng)絡(luò)堆棧310a-310b的不同 的位置執(zhí)行。例如,在一個(gè)實(shí)施例中,接收的確認(rèn)可以在微軟的視 窗操作系統(tǒng)家族中在網(wǎng)絡(luò)驅(qū)動(dòng)器接口技術(shù)規(guī)范(NDIS)驅(qū)動(dòng)器級別 被發(fā)送。
在說明性方法360的步驟385,接收來自步驟380的網(wǎng)絡(luò)分組的 接收的虛假確認(rèn)的網(wǎng)絡(luò)堆棧310a-310可以響應(yīng)于這樣的接收,而可 以不執(zhí)行、停住執(zhí)行、或阻止執(zhí)行提供無損協(xié)議的一個(gè)或多個(gè)無損 特性的任何一個(gè)或多個(gè)算法和搮作。例如,在作為無損協(xié)議的TCP 的實(shí)施例中,網(wǎng)絡(luò)堆棧310a-310n可以對于網(wǎng)絡(luò)分組或TCP連接不 執(zhí)行任何一個(gè)或多個(gè)以下的操作分組排序、分組重發(fā)、流控制算 法、滑動(dòng)窗口算法、和/或nagle算法。在一些實(shí)施例中,接收的虛 假確認(rèn)必須逐個(gè)分組地接收,以阻止網(wǎng)絡(luò)堆棧310a-310n的無損層 采用可靠性算法。這樣,發(fā)送的網(wǎng)絡(luò)堆棧310a-310n可以逐個(gè)分組 地確定本發(fā)明的虛假確認(rèn)技術(shù)應(yīng)用到哪些分組.可以有一些無損協(xié) 議網(wǎng)絡(luò)分組包括對于其應(yīng)當(dāng)施加無損協(xié)議的可靠性算法的有損協(xié) 議,在其它實(shí)施例中,網(wǎng)絡(luò)分組的接收的虛假確認(rèn)可以對于無損協(xié) 議連接接收一次,以便阻止對于在無損協(xié)議會話或連接期間接收的 任何以后的分組采用可靠性算法。
在步驟390,說明性方法360經(jīng)由網(wǎng)絡(luò)堆棧310a-310n傳送具有 無損協(xié)議有效負(fù)栽的無損協(xié)議分組.在一個(gè)實(shí)施例中,無損協(xié)議分 組在步驟385后被傳送,或在其它實(shí)施例中,在步驟385之前傳送, 這樣,雖然無損協(xié)議分組在網(wǎng)絡(luò)中變?yōu)閬G失的,但不試圖在預(yù)期有 損協(xié)i義分組時(shí)回收該分組。
雖然通過使用網(wǎng)絡(luò)分組的接收的虛假確認(rèn),諸如在TCP中,討論 方法360的說明性實(shí)施例,但任何的類型和/或形式的指示、請求、 或指令可被傳送到網(wǎng)絡(luò)堆棧310a-310n,以阻止采用無損協(xié)議的任何 可靠性或無損算法.在一些實(shí)施例中,網(wǎng)絡(luò)堆棧310a-310n的無損 協(xié)議層可被適配或被配置成使得配置、標(biāo)記或指令不逐個(gè)分組地或 基于會話或連接來使用可靠性算法.例如,無損協(xié)議可以在無損協(xié) 議分組的首部中具有表示對于分組是否應(yīng)當(dāng)丟棄或避免可靠性的字 段。
現(xiàn)在參照圖3C,通過說明性方法345示出對于經(jīng)由無損協(xié)議發(fā) 送按照有損協(xié)議構(gòu)建的分組所采取的步驟的另外的實(shí)施例,這也可 以被稱為有效負(fù)栽移位技術(shù)。關(guān)于說明性方法345的概貌,在步驟 348,要通過使用不可靠的傳輸協(xié)議發(fā)送的第一分組由諸如客戶端 105的第一設(shè)備接收。在步猓350,笫一設(shè)備105創(chuàng)建笫一TCP分組, 其包括接收的笫一分組的第一有效負(fù)栽和與在第一設(shè)備105與第二 設(shè)備之間建立的TCP連接關(guān)聯(lián)的信息的第一 TCP首部。在步驟352, 第一設(shè)備105發(fā)送第一TCP分組到第二設(shè)備。在步驟354,第一設(shè)備 105接收要通過使用不可靠的傳輸協(xié)議發(fā)送的第二分組,并且在步驟 356,創(chuàng)建第二TCP分組,其包括接收的第二分組的第二有效負(fù)栽和 與第一TCP首部信息.在步驟358,第一設(shè)備在接收到來自第二設(shè)備 的第一有效負(fù)栽的接收的確認(rèn)之前,發(fā)送第二 TCP分組到第二設(shè)備,
仍舊參照圖3C,并且現(xiàn)在更詳細(xì)地,在步驟348,要通過使用不 可靠的傳輸協(xié)議發(fā)送的第一分組由第一設(shè)備105接收。在一些實(shí)施 例中,分組打算通過使用UDP的有損協(xié)議被發(fā)送。在另外的實(shí)施例 中,分組包括UDP上的RDP。在其它實(shí)施例中,第一分組由在用戶模 式332下執(zhí)行的應(yīng)用程序338生成.在一些實(shí)施例中,分組由在內(nèi) 核模式334下執(zhí)行的應(yīng)用338生成.在其它實(shí)施例中,第一分組由 第一設(shè)備105接收,用于重發(fā)。在另外的實(shí)施例中,笫一分組在它 到達(dá)網(wǎng)絡(luò)堆棧310a-310b之前由過濾器進(jìn)程322截取。過濾器進(jìn)程 322可以在用戶模式332或在內(nèi)核模式334下執(zhí)行.在一些實(shí)施例 中,濾波器322是迷你驅(qū)動(dòng)器。在其它實(shí)施例中,濾波進(jìn)程322使 用應(yīng)用掛鉤,以截取第一分組.在另外的實(shí)施例中,應(yīng)用掛鉤經(jīng)由 應(yīng)用編程接口 (API)被實(shí)施。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)分組的掛鉤發(fā)
生在網(wǎng)絡(luò)堆棧310a-310n的網(wǎng)絡(luò)層。
在步驟350,笫一設(shè)備105創(chuàng)建第一TCP分組,其包括接收的第 一分組的第一有效負(fù)栽和與在第一設(shè)備105與第二設(shè)備之間建立的 TCP連接關(guān)聯(lián)的信息的笫一TCP首部,例如在一個(gè)實(shí)施例中,TCP連 接可以在客戶端105與網(wǎng)關(guān)340之間被建立,以及在另一個(gè)實(shí)施例 中,可以在客戶端105與網(wǎng)關(guān)340之間被建立。在一些實(shí)施例中, 第一設(shè)備105表示,TCP分組包含通過打開特定的TCP端口經(jīng)由有損 協(xié)議發(fā)送而被構(gòu)建的分組的有效負(fù)栽。在其它實(shí)施例中,笫一設(shè)備 105表示,TCP分組包含通過在TCP首部中設(shè)置一個(gè)標(biāo)記經(jīng)由有損協(xié) 議發(fā)送而被構(gòu)建的分組的有效負(fù)栽。TCP首部可包括有關(guān)源節(jié)點(diǎn)的信 息、有關(guān)目的地節(jié)點(diǎn)的信息、或具體地標(biāo)識TCP分組的序列號.
在步驟352,第一設(shè)備105發(fā)送第一TCP分組到第二設(shè)備.在一 些實(shí)施例中,第二設(shè)備可以是網(wǎng)關(guān)340.在其它實(shí)施例中,第二設(shè)備 是"對等"計(jì)算設(shè)備102b,笫一 TCP分組可以在例如通過使用SSL或 TLS發(fā)送到第二設(shè)備之前被加密。
在步驟354,第一設(shè)備105接收要通過使用不可靠的傳輸協(xié)議, 諸如UDP,發(fā)送的第二分組。第二分組可以從生成第一分組的同一個(gè) 應(yīng)用338接收.在步驟356,如上所述,笫一設(shè)備105創(chuàng)建第二TCP 分組,其包括接收的笫二分組的第二有效負(fù)栽和與第一 TCP首部信 息的。在步驟358,第一設(shè)備105然后在接收來自第二設(shè)備的第一有 效負(fù)載的接收的確認(rèn)之前,發(fā)送第二 TCP分組到笫二設(shè)備.在一些 實(shí)施例中,當(dāng)從第二設(shè)備接收確認(rèn)時(shí),第一設(shè)備105在發(fā)送分組之 前更新TCP首部信息.在其它實(shí)施例中,第一設(shè)備105創(chuàng)建具有更 新的TCP首部信息和具有第二有效負(fù)栽的第三TCP分組。第一設(shè)備 然后發(fā)送第三TCP分組.
在接收TCP分組后,如有必要,第二設(shè)備解密TCP分組,并且確
定有效負(fù)栽是對于使用有損協(xié)議發(fā)送被構(gòu)建的一個(gè)或多個(gè)分組,第 二設(shè)備可以基于分組被接收的端口或是通過在TCP首部信息中的標(biāo) 記來對此進(jìn)行確定. 一旦確定,第二設(shè)備就從有效負(fù)栽剝離TCP首 部,并傳遞有效負(fù)栽,
另一方面,本發(fā)明涉及調(diào)節(jié)報(bào)告的最大傳輸單元(MTU)參數(shù), 以通過減小用于加密的網(wǎng)絡(luò)分組的分組分段而使得網(wǎng)絡(luò)通信最優(yōu)化。這種技術(shù)可被應(yīng)用到困3A的說明性環(huán)境300的一個(gè)或兩個(gè)網(wǎng)絡(luò) 堆棧310a-310n,通過加密網(wǎng)絡(luò)分組的有效負(fù)栽,諸如按照上迷的說 明性方法360處理的任何網(wǎng)絡(luò)分組,可增加有效負(fù)栽的尺寸。即, 考慮到未加密的原先的有效負(fù)栽到加密的有效負(fù)栽的尺寸改變,可 能增加網(wǎng)絡(luò)分組的尺寸。
仍舊參照圖3A,網(wǎng)絡(luò)堆棧310a-310b可包括最大傳輸單元 402a-402b (MTU)參數(shù),以表示在網(wǎng)絡(luò)中,諸如在基于以太網(wǎng)的網(wǎng) 絡(luò)中,通過一種物理媒體可被發(fā)送的最大數(shù)據(jù)單元的尺寸。在TCP/IP 的實(shí)施例中,MTU 402a-402b表示可以由互聯(lián)網(wǎng)協(xié)議(IP)層接口發(fā)送 的最大數(shù)據(jù)報(bào)或分組而不需要接口把數(shù)據(jù)報(bào)分解或分段為更小的單 元。MTU參數(shù)402a-402b可以與諸如網(wǎng)絡(luò)接口卡那樣的通信接口相關(guān) 聯(lián)。用于以太網(wǎng)的缺省的MTU尺寸是1500字節(jié),而IEEE 802. 3是 1492字節(jié)。本領(lǐng)域技術(shù)人員將認(rèn)識和理解,缺省MTU尺寸將是基于 連網(wǎng)技術(shù),諸如令牌環(huán)、FDDI、 X.25等等.
現(xiàn)在參照圖4,流程圖顯示本發(fā)明的MTU調(diào)節(jié)方法400的說明性 實(shí)施例。概略地,在步猓405,建立在計(jì)算設(shè)備之間的會話,諸如在 第一計(jì)算設(shè)備102a與第二計(jì)算設(shè)備102b之間的會話。在步跺410, 一個(gè)計(jì)算設(shè)備102,諸如第一計(jì)算設(shè)備102a,檢測具有加密的有效 負(fù)栽的網(wǎng)絡(luò)分組。在步驟415,計(jì)算設(shè)備102a-102b考慮到有效負(fù)栽 的加密的部分的尺寸,確定對于網(wǎng)絡(luò)堆棧310a-310n的MTU 402a-402b參數(shù)的設(shè)置.在步驟420 ,考慮到加密的部分,減小MTU 402a-402b參數(shù).如果MTU 402a-402b被請求或被報(bào)告,則MTU 402a-402b將表示比與物理層關(guān)聯(lián)的MTU尺寸,諸如對于以太網(wǎng)的 1500,更小的尺寸.
通過使用這個(gè)技術(shù),在網(wǎng)絡(luò)104上任何設(shè)備可以按照減小的MTU 尺寸把網(wǎng)絡(luò)分組傳送到網(wǎng)絡(luò)堆棧310a-310n,減小的MTU尺寸可以沿 到網(wǎng)絡(luò)堆棧310a-310n的路由被加密并不被分段.如果網(wǎng)絡(luò)分組被 加密,則它仍舊應(yīng)當(dāng)適配于物理網(wǎng)絡(luò)層媒體的實(shí)際的MTU尺寸,諸 如以太網(wǎng)。例如,MTU參數(shù)402a-402b可被i殳置為對于以太網(wǎng)的1500 的缺省MTU尺寸,并考慮到加密開銷,按照說明性方法400,被減小 確定的數(shù)目的字節(jié),例如IOO。網(wǎng)絡(luò)分組可以從服務(wù)器資源被發(fā)送到 客戶端,包括與1400的報(bào)告的MTU 402a-402b尺寸相等的尺寸。網(wǎng)
絡(luò)分組可以經(jīng)過網(wǎng)關(guān)340,并經(jīng)由SSL隧道被加密,這又使得網(wǎng)絡(luò)分 組尺寸增加到1475,由于這個(gè)尺寸適配于以太網(wǎng)物理媒體的MTU尺 寸,網(wǎng)絡(luò)分組將不分段.
在說明性方法400的步驟405,可以建立在第一計(jì)算設(shè)備102a 與第二計(jì)算設(shè)備102b,諸如圖2A的客戶端105b或網(wǎng)關(guān)340之間的 任何類型和/或形式的通信會話。在一些實(shí)施例中,通過使用在第一 計(jì)算設(shè)備上的遠(yuǎn)程接入客戶端120建立會話.在一個(gè)實(shí)施例中,遠(yuǎn) 程接入客戶端120建立與網(wǎng)關(guān)340的會話,諸如SSL VPN會話,或 到對等計(jì)算設(shè)備102b上的另 一個(gè)遠(yuǎn)程接入客戶端的會話
在步驟410的一些實(shí)施例中,遠(yuǎn)程接入客戶端120檢測具有加密 的有效負(fù)載的網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,分組捕獲機(jī)構(gòu)365截取 網(wǎng)絡(luò)分組,并且代理326確定分組是否被加密.然而,遠(yuǎn)程接入客 戶端120的任何其它部分,諸如濾波器322或幀監(jiān)視器360可以確 定分組是否被加密.在一個(gè)實(shí)施例中,網(wǎng)絡(luò)分組的整個(gè)有效負(fù)栽被 加密,而在一個(gè)實(shí)施例中,有效負(fù)栽的一部分被加密。本發(fā)明可以 使用任何類型和/或形式的裝置或機(jī)構(gòu),用于確定分組是否具有加 密。例如,在一些情況中,遠(yuǎn)程接入客戶端120可以檢驗(yàn)網(wǎng)絡(luò)分組 的、表示有效負(fù)栽被加密的標(biāo)記或字段.在其它實(shí)施例中,遠(yuǎn)程接 入客戶端120可以檢驗(yàn)有效負(fù)栽的任何部分是否難以理解,因?yàn)樗?br> 包含來自加密的隨機(jī)數(shù)據(jù)或噪聲.另外,加密的有效負(fù)栽可以相關(guān) 于網(wǎng)絡(luò)堆棧310a-310n的任何層,諸如第2、 3、 6或7層的加密而
被加密。
在步驟415的一些實(shí)施例中,本發(fā)明的說明性方法400逐個(gè)分組 地確定對報(bào)告的MTU 402a-402b的調(diào)節(jié),或在其它實(shí)施例中,根據(jù) 連接或會話來確定,以及在步驟420,由此來調(diào)節(jié)MTU 402a-402b。 在一個(gè)實(shí)施例中,MTU 402a-402b被正好減小了網(wǎng)絡(luò)分組的加密開銷 量。在某些情形下,說明性方法400確定一次對于整個(gè)會話或連接 的MTU 402a-402b尺寸調(diào)節(jié),和減小MTU 402a-402b尺寸到考慮了 對于整個(gè)會話加密開銷的數(shù)值。例如,雖然網(wǎng)絡(luò)分組可以具有變化 的加密開銷,但調(diào)節(jié)考慮最大加密開銷。在另外的實(shí)施例中,MTU 402a-402b可以考慮一下內(nèi)容被調(diào)節(jié),即考慮當(dāng)網(wǎng)絡(luò)分組離開網(wǎng)絡(luò)堆 棧310a-310n時(shí)可能出現(xiàn)的加密,諸如在網(wǎng)絡(luò)分組的端對端網(wǎng)絡(luò)行進(jìn)時(shí)可能出現(xiàn)的、由網(wǎng)關(guān)340進(jìn)行的加密。
另外,MTU 402a-402b尺寸除了加密開銷以外可以對于其它網(wǎng)絡(luò) 性能因素被調(diào)節(jié).在一些實(shí)施例中,雖然MTU 402a-402b由于加密 開銷而被減小,但考慮與網(wǎng)絡(luò)通信關(guān)聯(lián)的其它開銷和因素,它可能 進(jìn)一步減小,以及在其它情形下增加,例如,MTlM02a-402b對于與 加密無關(guān)的因素被亊先調(diào)節(jié),以及在使用本發(fā)明的技術(shù)后,考慮加 密開銷,來減小MTU 402a-402b。本領(lǐng)域技術(shù)人員將認(rèn)識和理解,對 于調(diào)節(jié)MTU邊界或除了按照本發(fā)明的技術(shù)對于加密開銷減小調(diào)節(jié)以
外可以有其它的因素和考慮。
現(xiàn)在參照圖5A和5B,另一方面,本發(fā)明涉及客戶端端應(yīng)用知道 的網(wǎng)絡(luò)通信優(yōu)先化技術(shù),本發(fā)明的遠(yuǎn)程接入客戶端120根據(jù)應(yīng)用的 類型和/或優(yōu)先權(quán)提供客戶端上應(yīng)用網(wǎng)絡(luò)通信的智能的和客戶端中 心優(yōu)先化。如圖5A的系統(tǒng)500中顯示的,計(jì)算設(shè)備102的遠(yuǎn)程接入 客戶端105連接到網(wǎng)絡(luò)104??蛻舳?05可以執(zhí)行一個(gè)或多個(gè)應(yīng)用 338a-338n,它們經(jīng)由遠(yuǎn)程接入客戶端120的代理326和濾波器322 接入網(wǎng)絡(luò)104.在一些實(shí)施例中,應(yīng)用338a-338n提供一個(gè)或多個(gè)實(shí) 時(shí)數(shù)據(jù)通信,諸如VoIP。在其它實(shí)施例中, 一個(gè)或多個(gè)應(yīng)用338a-338n可以提供電子郵件、合作、在線會議、和/或桌面共享關(guān)聯(lián)的服 務(wù)或功能。
如圖5A所示,分組捕獲機(jī)構(gòu)365, 365,可被包括在遠(yuǎn)程接入客戶 端120的代理326和濾波器322中,用于截取客戶端105的任何的 應(yīng)用338a-338n的網(wǎng)絡(luò)業(yè)務(wù)。遠(yuǎn)程接入客戶端120可包括任何隊(duì)列 540a-540n,用于排隊(duì)和優(yōu)先化客戶端105的網(wǎng)絡(luò)通信。在一個(gè)實(shí)施 例中,隊(duì)列540a-540n可被包括在網(wǎng)絡(luò)驅(qū)動(dòng)器中,諸如用于濾波器 322的NDIS驅(qū)動(dòng)器,以及在其它實(shí)施例中,可以與代理326包括在 一起,或由代理326可接入的,隊(duì)列540a-540n可包括任何類型和/ 或形式的、用于存儲和/或安排諸如由分組捕獲機(jī)構(gòu)365截取的網(wǎng)絡(luò) 分組那樣的網(wǎng)絡(luò)分組的適當(dāng)?shù)难b置和/或機(jī)構(gòu).在一些實(shí)施例中,隊(duì) 列540a-540n可以與客戶端105的應(yīng)用338a-338n關(guān)聯(lián)的網(wǎng)絡(luò)分組 相關(guān)聯(lián)或被分配給該網(wǎng)絡(luò)分組。在其它實(shí)施例中,隊(duì)列540a-540n 可以按優(yōu)先權(quán)的級別,諸如高、中、低,或數(shù)字地諸如優(yōu)先權(quán)1…10, 被組織。本領(lǐng)域技術(shù)人員將認(rèn)識和理解,隊(duì)列540a-540n的數(shù)目可
以是基于任何想要的優(yōu)先權(quán)粒度,諸如3, 5或10個(gè)優(yōu)先權(quán)級別. 另外,隊(duì)列540a-540n中的一些可用于在網(wǎng)絡(luò)分組被放置到基于優(yōu) 先權(quán)的隊(duì)列540a-540n和/或從該隊(duì)列取出之前接收和/或發(fā)送網(wǎng)絡(luò) 分組.
遠(yuǎn)程接入客戶端120還可以接入或使用路由表538,用于確定如 何經(jīng)由代理326路由客戶端的網(wǎng)絡(luò)分組,諸如經(jīng)由網(wǎng)關(guān)340到網(wǎng)絡(luò) 104。在一個(gè)實(shí)施例中,代理326建立和保持到網(wǎng)關(guān)340的SSL VPN 連接,如圖1A所示,在一個(gè)實(shí)施例中,路由表538包括有關(guān)源計(jì)算 設(shè)備與目的地計(jì)算設(shè)備的信息,以便識別在源計(jì)算設(shè)備與目的地計(jì) 算設(shè)備之間的通信路徑或連接.路由表538可包括源IP地址與源端 口,和目的地IP地址與目的地端口 ,以識別在網(wǎng)絡(luò)104上的通信路 徑。例如,源IP地址與源端口可表示客戶端105的IP地址和客戶 端105處的應(yīng)用338a-338n藉以在網(wǎng)絡(luò)05上通信的端口 .目的地IP 地址可表示應(yīng)用338a-338n經(jīng)由由對等設(shè)備使用的目的地端口與其
通信的對等計(jì)算設(shè)備的IP地址.
另外,遠(yuǎn)程接入客戶端120可以具有一個(gè)或多個(gè)策略520,用于 規(guī)定與在應(yīng)用于上運(yùn)行的、與應(yīng)用338a-338n關(guān)聯(lián)的網(wǎng)絡(luò)通信的客 戶端端優(yōu)先化。這些策略520可以由任何適當(dāng)?shù)难b置和/或應(yīng)用被規(guī) 定。在一些實(shí)施例中,策略520可以由應(yīng)用338a-338n的名稱和/或 應(yīng)用338a-338n的類型被規(guī)定。在其它實(shí)施例中,策略520可以按 由應(yīng)用338a-338n使用的一個(gè)或多個(gè)協(xié)議的類型和/或網(wǎng)絡(luò)分組的有 效負(fù)栽的尺寸被規(guī)定。在另一個(gè)實(shí)施例中,策略520根據(jù)應(yīng)用是運(yùn) 行在客戶端105的前臺還是后臺來規(guī)定優(yōu)先化。在再一個(gè)實(shí)施例中, 策略520可以根據(jù)目的地地址,諸如主機(jī)名稱或IP地址,和/或目 的地端口號表示優(yōu)先化.另外,策略520可以考慮多個(gè)應(yīng)用338a-338n 和/或可以在任何點(diǎn)在客戶端105處執(zhí)行的多個(gè)協(xié)議分級結(jié)構(gòu)地被規(guī) 定。而且,策略520可以按條件地被規(guī)定,諸如如果一個(gè)應(yīng)用338a 正在運(yùn)行,則笫二個(gè)應(yīng)用338b可以具有較高的或較低的優(yōu)先權(quán)。本
領(lǐng)域技術(shù)人員將認(rèn)識和理解規(guī)定客戶端端應(yīng)用優(yōu)先權(quán)的多種方式.
策略520可以由代理326接入、被配置成代理326、或被代理326 加載.例如,策略520可以由網(wǎng)關(guān)340提供或經(jīng)由網(wǎng)關(guān)340被下栽, 策略520可包括用于規(guī)定策略的任何類型和格式的語義和/或語言,
和可以經(jīng)由任何類型和/或形式的媒體被提供,諸如由一個(gè)或多個(gè)網(wǎng)
絡(luò)分組電子地,或經(jīng)由文件,諸如XML文件,策略520可以由用戶 通過任何適當(dāng)?shù)难b置和/或機(jī)構(gòu)被配置。例如,代理326可提供配置 機(jī)構(gòu),諸如用戶接口、圖形或否則設(shè)計(jì),和該配置機(jī)構(gòu)被構(gòu)建用于 配置或規(guī)定策略520.
鑒于圖5A和圖1A-1C的系統(tǒng)500,將描迷由圖5B的方法550顯 示的本發(fā)明的優(yōu)先化技術(shù).概述地,在說明性方法550的步驟555。 客戶端105截取與在客戶端105上的應(yīng)用338a-338n關(guān)聯(lián)的一個(gè)或 多個(gè)網(wǎng)絡(luò)分組,以及在步驟560,網(wǎng)絡(luò)分組被存儲在隊(duì)列540a-540n。 在步驟565 ,用于截取的和排隊(duì)的網(wǎng)絡(luò)分組的優(yōu)先權(quán)根據(jù)應(yīng)用 338a-338n的類型和/或優(yōu)先權(quán)被確定。在步猓570,對于網(wǎng)絡(luò)分組 表示所確定的優(yōu)先權(quán),和在步驟575,按照所確定的優(yōu)先權(quán)傳送網(wǎng)絡(luò) 分組,這樣,由在客戶端105處的應(yīng)用338a-338n生成的外出網(wǎng)絡(luò) 分組在發(fā)送之前根據(jù)應(yīng)用338a-338n的類型和/或優(yōu)先權(quán)被客戶端 105優(yōu)先化。例如,應(yīng)用338a可以生成VoIP通信的實(shí)時(shí)數(shù)據(jù),諸如 經(jīng)由到網(wǎng)關(guān)340的SSL連接的TCP/IP會話在UDP上的RTP??蛻舳?105通過使用本發(fā)明的技術(shù),可以在諸如非實(shí)時(shí)數(shù)據(jù)通信應(yīng)用那樣的 其它應(yīng)用之前,優(yōu)先化應(yīng)用338a的實(shí)時(shí)數(shù)據(jù)通信.這個(gè)技術(shù)可以稱 為服務(wù)質(zhì)量(QoS)網(wǎng)絡(luò),其中在諸如交換機(jī)和路由器的中間網(wǎng)絡(luò)設(shè)備 中進(jìn)行網(wǎng)絡(luò)業(yè)務(wù)優(yōu)先化。
在i兌明性方法500的步驟555,客戶端105可以對于應(yīng)用338a-338n、網(wǎng)關(guān)340、對等計(jì)算設(shè)備、和網(wǎng)絡(luò)堆棧的任何網(wǎng)絡(luò)層透明地截 取一個(gè)或多個(gè)應(yīng)用338a-338n的網(wǎng)絡(luò)分組。這樣,本發(fā)明的技術(shù)支 持客戶端105處的任何類型的應(yīng)用338a-338n.在一些實(shí)施例中,網(wǎng) 絡(luò)分組由分組捕獲機(jī)構(gòu)360經(jīng)由代理326或?yàn)V波器322被截取。應(yīng) 用338a-338n的任何進(jìn)入和/或外出網(wǎng)絡(luò)分組可以由本發(fā)明的遠(yuǎn)程接 入客戶端120截取.
在步驟560,在步驟555截取的網(wǎng)絡(luò)分組可被存儲在隊(duì)列540a-540n。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)分組在步驟565和570優(yōu)先化網(wǎng)絡(luò)分 組之前被存儲在臨時(shí)隊(duì)列540a-540n.在其它實(shí)施例中,網(wǎng)絡(luò)分組在 步驟565和/或570給網(wǎng)絡(luò)分組排優(yōu)先權(quán)之后被存儲在所確定的隊(duì)列 540a-540n或與應(yīng)用338a-338n關(guān)聯(lián)的隊(duì)列540a-540n。
在步猓565,本發(fā)明的遠(yuǎn)程接入客戶端120確定網(wǎng)絡(luò)分組與應(yīng)用 338a-338n的關(guān)系,以便確定優(yōu)先權(quán)和應(yīng)用任何基于優(yōu)先權(quán)的策略 520.客戶端105,諸如經(jīng)由代理326,可以通過任何適當(dāng)?shù)难b置和/ 或機(jī)構(gòu)把網(wǎng)絡(luò)業(yè)務(wù)與應(yīng)用338a-338n相關(guān)聯(lián).在一些實(shí)施例中,代 理326通過網(wǎng)絡(luò)分組的任何內(nèi)容,諸如在網(wǎng)絡(luò)的有效負(fù)栽中任何首 部、字段、或數(shù)據(jù)的類型和內(nèi)容,來識別如從應(yīng)用338a-338n生成 的網(wǎng)絡(luò)分組.在其它實(shí)施例中,網(wǎng)絡(luò)分組通過把來自路由表538的 信息,諸如源和目的地地址和IP地址及端口號與網(wǎng)絡(luò)分組的IP地 址和端口號相匹配而與應(yīng)用338a-338n相關(guān)聯(lián)。在一些實(shí)施例中, 代理326,諸如經(jīng)由幀監(jiān)視器360,可以對于分組執(zhí)行檢驗(yàn)和,以驗(yàn) 證所識別的應(yīng)用實(shí)際上生成分組,
另外,遠(yuǎn)程接入客戶端120可以確定與網(wǎng)絡(luò)分組關(guān)聯(lián)的應(yīng)用 338a-338n是在客戶端105的前臺還是在后臺運(yùn)行。而且,遠(yuǎn)程接入 客戶端120可以通過客戶端105的操作系統(tǒng)確定分配給應(yīng)用338a-338n的任何優(yōu)先權(quán),諸如處理任務(wù)優(yōu)先權(quán)。在其它實(shí)施例中,遠(yuǎn)程 接入客戶端120可以確定應(yīng)用338a-338n的任何其它特性和統(tǒng)計(jì)資 料,諸如尺寸、存儲器使用、總的執(zhí)行時(shí)間、和/或使用的頻率.本 領(lǐng)域技術(shù)人員將認(rèn)識和理解,本技術(shù)使用的應(yīng)用的各種特性可用于 提供客戶端端應(yīng)用知道的網(wǎng)絡(luò)通信優(yōu)先化。
在步驟570,本發(fā)明的遠(yuǎn)程接入客戶端120根據(jù)在步驟565與分 組關(guān)聯(lián)的應(yīng)用338a-338n表示對于截取的和排隊(duì)的網(wǎng)絡(luò)分組的優(yōu)先 權(quán)。在一個(gè)實(shí)施例中,代理326使用策略520按照由策略520規(guī)定 的或表示的優(yōu)先化法則施加優(yōu)先權(quán)到應(yīng)用338a-338n的網(wǎng)絡(luò)分組。 在一些實(shí)施例中,代理326可以使用應(yīng)用338a-338n的特性,諸如 運(yùn)行在前臺或后臺,以表示應(yīng)用338a-338n的網(wǎng)絡(luò)分組的優(yōu)先權(quán). 在其它實(shí)施例中,代理326可以使用策略520與應(yīng)用338a-338n的 特性的任何組合,以表示應(yīng)用338a-338n的網(wǎng)絡(luò)分組的優(yōu)先權(quán),
在一些實(shí)施例中,代理326向?yàn)V波器322表示用于管理分組隊(duì)列 的優(yōu)先權(quán),以便應(yīng)用表示的優(yōu)先權(quán)。代理326可以通過任何適當(dāng)?shù)?裝置和/或機(jī)構(gòu),諸如經(jīng)由應(yīng)用編程接口 (API),諸如IOCTL接口, 或本領(lǐng)域技術(shù)人員已知的、任何類型和/或形式的接口,來把網(wǎng)絡(luò)分 組的優(yōu)先權(quán)傳送到濾波器322.在一個(gè)實(shí)施例中,濾波器322通過名
稱不知道應(yīng)用338a-338n,但可以經(jīng)由路由表538把優(yōu)先權(quán)與應(yīng)用 338a-338n的兩絡(luò)分組相關(guān)聯(lián)。對應(yīng)于網(wǎng)絡(luò)分組的應(yīng)用338a-338n可 以通過源和目的地標(biāo)識符的任何組合,諸如IP地址和端口號,被識 別.這樣,在一些實(shí)施例中,代理326通過路由信息而不是應(yīng)用名 稱,向?yàn)V波器322表示優(yōu)先權(quán),在其它實(shí)施例中,代理326向?yàn)V波 器322提供在應(yīng)用338a-338n之間諸如通過應(yīng)用名稱或進(jìn)程id到路 由表538中的路由信息的映射.
根據(jù)對于應(yīng)用338a-338n的表示的優(yōu)先權(quán),在一些實(shí)施例中,濾 波器322可以在優(yōu)先權(quán)的支持下將網(wǎng)絡(luò)分組放置、安排、或協(xié)調(diào)到 隊(duì)列540a-540n中。在一個(gè)實(shí)施例中,濾波器322可以把網(wǎng)絡(luò)分組 從臨時(shí)隊(duì)列540a-540n或從存儲器或前臺存儲裝置移動(dòng)到與應(yīng)用 338a-338n關(guān)聯(lián)的隊(duì)列540a-540n、與優(yōu)先權(quán)關(guān)聯(lián)的隊(duì)列540a-540n、 或與應(yīng)用和優(yōu)先權(quán)關(guān)聯(lián)的隊(duì)列540a-540n.例如,在一個(gè)實(shí)施例中, 所有的高優(yōu)先權(quán)網(wǎng)絡(luò)業(yè)務(wù)可被放置在高優(yōu)先權(quán)隊(duì)列540a,并按照應(yīng) 用338a-338n的優(yōu)先權(quán)的次序,諸如優(yōu)先于其它應(yīng)用338a-338n的 實(shí)時(shí)數(shù)據(jù)應(yīng)用338a-338n按次序排列.在一些實(shí)施例中,網(wǎng)絡(luò)分組 可以根據(jù)網(wǎng)絡(luò)分組由分組捕獲機(jī)構(gòu)365被截取的時(shí)間,諸如以FIFO 方式按次序被安排在優(yōu)先權(quán)隊(duì)列540a-540n中。在再一個(gè)實(shí)施例中, 一個(gè)隊(duì)列540a-540n可以用于通過濾波器322的優(yōu)先化.每個(gè)網(wǎng)絡(luò) 分組可以相對于所有其它的截取的網(wǎng)絡(luò)分組以優(yōu)先權(quán)次序被放置和 排列,以便逐個(gè)分組地提供對于所有的應(yīng)用338a-338n和截取的網(wǎng) 絡(luò)分組的優(yōu)先化。本領(lǐng)域技術(shù)人員將認(rèn)識和理解,網(wǎng)絡(luò)分組可在各 種優(yōu)先權(quán)隊(duì)列540a-540n,諸如高、中、低,或通過任何其它粒度被 放置和,并且以實(shí)施這里描述的本發(fā)明的操作的任何適當(dāng)?shù)姆绞皆?隊(duì)列中被放置或被排列,
在一個(gè)實(shí)施例中,對于應(yīng)用338a-338n的網(wǎng)絡(luò)分組被放置在與應(yīng) 用338a-338n關(guān)聯(lián)的隊(duì)列540a-540n。例如,對于傳送到第一目的地 IP地址和第一目的地端口的應(yīng)用的所截取的網(wǎng)絡(luò)分組可被放置在第 一隊(duì)列540a。在另一個(gè)實(shí)施例中,對于諸如電子郵件或話音應(yīng)用的 一種類型的應(yīng)用338a-338n的所有的網(wǎng)絡(luò)分組或?qū)τ谟芍T如RTP或 UDP的應(yīng)用338a-338n使用的一種類型的協(xié)議的所有的網(wǎng)絡(luò)分組可被 放置在隊(duì)列540a-540n中,用于優(yōu)先化一個(gè)或多個(gè)應(yīng)用的網(wǎng)絡(luò)分組。
例如,在線合作關(guān)聯(lián)的應(yīng)用338a-338n可在第一隊(duì)列540a中被放置 和優(yōu)先化,用于合作關(guān)聯(lián)的應(yīng)用.第二隊(duì)列540b可用于電子郵件關(guān) 聯(lián)的應(yīng)用338a-338n.在另一個(gè)例子中,隊(duì)列540a可用于傳送實(shí)時(shí) 數(shù)據(jù)或通過使用RTP和/或UDP協(xié)議傳送應(yīng)用338a-338n.在再一個(gè) 例子中,隊(duì)列540a可用于通過使用諸如ICA或RDP的遠(yuǎn)程顯示協(xié)議 進(jìn)行通信的應(yīng)用338a-338n。
在與由特定的應(yīng)用338a-338n、通過應(yīng)用338a-338n的類型或類 別,或通過協(xié)議組織的、每個(gè)應(yīng)用相關(guān)的隊(duì)列540a-540n內(nèi),網(wǎng)絡(luò) 分組可以通過生成它們的應(yīng)用338a-338nl特性,例如前臺應(yīng)用、網(wǎng) 絡(luò)分組的尺寸、或網(wǎng)絡(luò)分組被截取的時(shí)間被進(jìn)一步優(yōu)先化。在一些 實(shí)施例中, 一個(gè)或多個(gè)隊(duì)列540a-540n可用于被截取的但沒有優(yōu)先 化的網(wǎng)絡(luò)分組,因?yàn)椴呗?20不存在或施加到網(wǎng)絡(luò)分組,或策略520 表示忽略或不處理網(wǎng)絡(luò)分組,用于優(yōu)先化。本領(lǐng)域技術(shù)人員將認(rèn)識 和理解,網(wǎng)絡(luò)分組以基于優(yōu)先權(quán)的方式被放置和被放置在隊(duì)列 540a-540n的各種方式與應(yīng)用338a-338n、應(yīng)用338a-338n的類型、 或由應(yīng)用338a-338n使用的協(xié)議有關(guān),以及優(yōu)先權(quán)可以是基于對于 客戶端105規(guī)定的策略520。
在說明性方法550的步驟575,網(wǎng)絡(luò)分組按照對于網(wǎng)絡(luò)分組的確 定的優(yōu)先權(quán)從隊(duì)列540a-540n被傳送。在一些實(shí)施例中,網(wǎng)絡(luò)分組 被組織成優(yōu)先權(quán)隊(duì)列540a-540n,這樣,最高優(yōu)先權(quán)隊(duì)列540a-540n 的網(wǎng)絡(luò)分組首先被傳送,然后下一個(gè)最高的優(yōu)先權(quán)隊(duì)列第二,等等. 在其它實(shí)施例中,隊(duì)列540a-540n由應(yīng)用338a-338n被組織,所以, 在步驟575,本發(fā)明根據(jù)應(yīng)用338a-338n的各個(gè)優(yōu)先權(quán)傳送來自隊(duì)列 540a-540n的網(wǎng)絡(luò)分組。不管隊(duì)列540a-540n組織和管理,本領(lǐng)域技 術(shù)人員將認(rèn)識和理解,本發(fā)明的遠(yuǎn)程接入客戶端將以按照或遵從確 定的優(yōu)先權(quán)的方式傳送來自隊(duì)列的網(wǎng)絡(luò)分組,確定的優(yōu)先權(quán)又是基 于或從客戶端的策略520得出的,
在一些實(shí)施例中,本發(fā)明的遠(yuǎn)程接入客戶端120在確定哪些分組 從哪個(gè)隊(duì)列進(jìn)行傳送時(shí)考慮其它網(wǎng)絡(luò)因素.例如,遠(yuǎn)程接入客戶端 120可以接收網(wǎng)絡(luò)配置的指示,諸如接收用于與應(yīng)用338a-338n關(guān)聯(lián) 的TCP連接的零窗口尺寸,在另一個(gè)例子中,遠(yuǎn)程接入客戶端120 可能認(rèn)識到大量到特定的目的地的重發(fā).這樣,在一些實(shí)施例中,
遠(yuǎn)程接入客戶端120可能減緩或不傳送與其它網(wǎng)絡(luò)因素關(guān)聯(lián)的網(wǎng)絡(luò) 分組,諸如擁塞,即使在網(wǎng)絡(luò)分組比在隊(duì)列540a-540n中的其它網(wǎng) 絡(luò)分組,具有更髙的優(yōu)先權(quán)。因此,客戶端105根據(jù)應(yīng)用338a-338n 和按照用于客戶端105的任何策略520,和鑒于任何網(wǎng)絡(luò)統(tǒng)計(jì)資料與 在網(wǎng)絡(luò)上發(fā)生的其它因素,來控制和管理在應(yīng)用338a-338n上客戶 端105的網(wǎng)絡(luò)通信的優(yōu)先化.
再一方面和現(xiàn)在參照圖6A和6B,本發(fā)明涉及提供網(wǎng)絡(luò)中斷保護(hù) 技術(shù),以便得到持久的和可靠的連接性.圖6A顯示以上結(jié)合困3A 討論的環(huán)境300.環(huán)境300顯示諸如在圖1A-1C、 2A、或5A上顯示 的任何的計(jì)算設(shè)備102和網(wǎng)關(guān)340的網(wǎng)絡(luò)堆棧310a和310b。每個(gè)網(wǎng) 絡(luò)堆棧310a-310b可包括一個(gè)或多個(gè)網(wǎng)絡(luò)層,諸如在幀網(wǎng)絡(luò)層之上 的TCP/IP網(wǎng)絡(luò)層,正如本領(lǐng)域技術(shù)人員將認(rèn)識和理解的.雖然網(wǎng)絡(luò) 堆棧310a-310b在圖6A的環(huán)境300中被顯示為具有某個(gè)組的網(wǎng)絡(luò) 層,但本領(lǐng)域技術(shù)人員將認(rèn)識和理解,網(wǎng)絡(luò)堆棧310a-310b可以具 有以任何適當(dāng)?shù)慕M合的任何類型和/或形式的網(wǎng)絡(luò)層,以及每個(gè)網(wǎng)絡(luò) 堆棧310a-310b可以相對于其它網(wǎng)絡(luò)堆棧具有每個(gè)層的不同的形 式。
網(wǎng)絡(luò)堆棧310a-310b可被認(rèn)為具有網(wǎng)絡(luò)堆棧的第一部分605a-605b和網(wǎng)絡(luò)堆棧的第二部分610a-610b。如困6A的示例性網(wǎng)絡(luò)堆棧 310a-310b所示,網(wǎng)絡(luò)堆棧的第一部分605a-605b包括在TCP網(wǎng)絡(luò)層 處和下面的網(wǎng)絡(luò)層.第二部分610a-610b可包括在TCP網(wǎng)絡(luò)層,諸 如通過SSL的UDP協(xié)議層上面的那些網(wǎng)絡(luò)層。雖然第一部分605a-605b和第二部分610a-610b被顯示為在TCP層上被分配的、分段的、 或劃分的,但在實(shí)施本發(fā)明的網(wǎng)絡(luò)中斷保護(hù)技術(shù)中,第一部分和第 二部分可在較高的或較低的所劃分層上形成,正如本領(lǐng)域技術(shù)人員 將認(rèn)識和理解的,
圖6A上顯示的網(wǎng)絡(luò)堆棧310a-310b可以表示在客戶端105處的 應(yīng)用338a-338b,諸如圖5A所示的客戶端,以建立到第二計(jì)算設(shè)備 102b,或替換地到網(wǎng)關(guān)340的對等SSL VPN連接??蛻舳?05可以 是移動(dòng)客戶端,諸如筆記本電腦、個(gè)人數(shù)字助理(PDA)、智能電話、 或任何類型的移動(dòng)計(jì)算或通信設(shè)備??蛻舳?05可以傳送實(shí)時(shí)數(shù)據(jù), 諸如經(jīng)由UDP協(xié)議或在UDP上的RTP,經(jīng)由對于對等設(shè)備102b或網(wǎng)
關(guān)340建立的SSL會話的VoIP通信.在一個(gè)實(shí)施例中,遠(yuǎn)程接入客 戶端120的代理326建立和保持到網(wǎng)關(guān)340或到對等計(jì)算設(shè)備102b 的SSL或SSL VPN會話.代理326可以工作在用戶模式332,和可以 操控任何網(wǎng)絡(luò)層和與網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b關(guān) 聯(lián)的協(xié)議處理,以及任何應(yīng)用層協(xié)議,作為基于TCP/IP網(wǎng)絡(luò)104, 網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b在SSL上的UDP會話可 以通過形成網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b的TCP/IP堆 棧被傳送.鑒于本發(fā)明的遠(yuǎn)程接入客戶端120,諸如圖1A或5A所示 的,濾波器322可以是在網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b 內(nèi)工作在內(nèi)核模式332的網(wǎng)絡(luò)驅(qū)動(dòng)器,
本發(fā)明使用如圖6B的說明性方法650所顯示的網(wǎng)絡(luò)中斷保護(hù)技 術(shù),以便在網(wǎng)絡(luò)級別連接斷開,諸如對于網(wǎng)絡(luò)堆棧310a-310b的第 一部分605a-605b的任何類型和/或形式的網(wǎng)絡(luò)中斷時(shí),保持網(wǎng)絡(luò)堆 棧310a-310b的第二部分610a-610b。本發(fā)明的網(wǎng)絡(luò)中斷保護(hù)技術(shù), 可以對于客戶端105的應(yīng)用338a-338fl、客戶端105的用戶、在網(wǎng)絡(luò) 堆棧310a-310b的第一部分605a-605b以上的一個(gè)或多個(gè)網(wǎng)絡(luò)層、 和網(wǎng)關(guān)340或?qū)Φ扔?jì)算設(shè)備102b、和它們的各個(gè)網(wǎng)絡(luò)堆棧310a-310b 的任何部分透明地執(zhí)行。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)中斷被保護(hù),而不 用通知客戶端的用戶網(wǎng)絡(luò)被中斷或會話被斷開。
在說明性方法650的概觀中,在步驟665,客戶端105通過在客 戶端和諸如對等計(jì)算設(shè)備或網(wǎng)關(guān)的另 一個(gè)設(shè)備之間的網(wǎng)絡(luò)連接經(jīng)由 至少第一協(xié)議建立會話。這樣,網(wǎng)絡(luò)堆棧310a-310b在客戶端105 處被建立或被使用,網(wǎng)絡(luò)堆棧310a-310b具有笫一部分605a-605b 和第二部分610a-610b。在步驟660,檢測網(wǎng)絡(luò)連接的中斷,該網(wǎng)絡(luò) 連接的中斷使得網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b解除或 被中斷成不能使用或不能繼續(xù)使用。在步驟665,本發(fā)明在中斷期間 保持網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b和保持與第二部分 610a-610b的網(wǎng)絡(luò)層關(guān)聯(lián)的會話。
在中斷期間,在步驟670,與網(wǎng)絡(luò)堆棧310a-310b的第二部分 610a-610b關(guān)聯(lián)的任何網(wǎng)絡(luò)分組可以被排隊(duì)。在步驟675,網(wǎng)絡(luò)堆棧 310a-310b的第一部分605a-605b被重新建立,或否則從網(wǎng)絡(luò)中斷進(jìn) 行接收。雖然網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b被重新建
立,但本發(fā)明保持第二部分610a-610b和它的會話,在步驟680,允 許通過鏈接或重新關(guān)聯(lián)網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b 與第一部分605a-605b,來繼續(xù)進(jìn)行會話.網(wǎng)絡(luò)連接和/或會話可以 在步驟680自動(dòng)重新鑒權(quán)。在步驟685,說明性方法可以傳送任何排 隊(duì)的網(wǎng)絡(luò)分組并繼續(xù)透明地進(jìn)行會話,就好像沒有發(fā)生網(wǎng)絡(luò)中斷那 樣。
在說明性方法655的實(shí)施例中,第一計(jì)算設(shè)備102a可以通過適 當(dāng)?shù)难b置和/或機(jī)構(gòu)和使用任何類型和/或形式的基于連接的協(xié)議來 建立與諸如對等計(jì)算設(shè)備102b或網(wǎng)關(guān)340那樣的笫二設(shè)備的網(wǎng)絡(luò)連 接。例如,網(wǎng)絡(luò)連接可以經(jīng)由在TCP/IP網(wǎng)絡(luò)上的TCP連接或通過在 IPX/SPX網(wǎng)絡(luò)上的SPXP連接被建立.在一些實(shí)施例中,網(wǎng)絡(luò)連接可 以由在客戶端處的任何應(yīng)用338a-338n,諸如圖5A所示的任何應(yīng)用 發(fā)起。例如,遠(yuǎn)程顯示客戶端,諸如Citrix Systems公司的ICA客 戶端或微軟公司的遠(yuǎn)程顯示客戶端,可以發(fā)起或建立網(wǎng)絡(luò)連接。在 其它實(shí)施例中,說明性步驟665的網(wǎng)絡(luò)連接可以經(jīng)由代理326、濾波 器322或遠(yuǎn)程接入客戶端120的任何其它部分被發(fā)起和/或被建立. 在一個(gè)實(shí)施例中,網(wǎng)絡(luò)連接的建立形成網(wǎng)絡(luò)堆棧310a-310b的第一 部分605a-605b。在其它實(shí)施例中,網(wǎng)絡(luò)堆棧310a-310b的第一部分 605a-605b,或它的部分,在客戶端105啟動(dòng)后經(jīng)由到網(wǎng)絡(luò)104的連 接被建立.
在一些實(shí)施例中,網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-"0b 通過經(jīng)由在網(wǎng)絡(luò)連接上的任何類型和/或形式的協(xié)議,諸如ICA或RDP 的遠(yuǎn)程顯示協(xié)議建立一個(gè)或多個(gè)會話,諸如SSL會話,而被形成. 會話可以經(jīng)由客戶端的應(yīng)用338a-338b或遠(yuǎn)程接入客戶端102被建 立。在一個(gè)實(shí)施例中,會話可以對應(yīng)于與對等計(jì)算設(shè)備102b或網(wǎng)關(guān) 340的隧道或網(wǎng)關(guān)會話。在另一個(gè)實(shí)施例中,會話可以是任何類型的 交互會話,諸如,例如經(jīng)由信令協(xié)議SIP建立的媒體會話。例如, 網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b可包括VoIP通信會話, 諸如由圖2B的說明性方法260建立的會話。另外,可以有與網(wǎng)絡(luò)堆 棧310a-310b的第二部分610a-610b關(guān)聯(lián)的多個(gè)會話,例如,SSL或 SSL VPN會話可以形成一個(gè)會話,而第二個(gè)會話,諸如經(jīng)由在UDP上 的RTP的媒體會話,可以形成第二個(gè)會話。另外,在網(wǎng)絡(luò)堆棧310a-310b的任何網(wǎng)絡(luò)層上,在客戶端105處的一個(gè)或多個(gè)應(yīng)用 338a-338n可以建立與對等計(jì)算設(shè)備102b的應(yīng)用級別會話.在一個(gè) 實(shí)施例中,遠(yuǎn)程接入客戶端120的代理326負(fù)責(zé)建立和保持網(wǎng)絡(luò)堆 棧310a-310b的笫二部分610a-610b和一個(gè)或多個(gè)相關(guān)的會話,
在本發(fā)明的說明性方法650的步驟660,檢測網(wǎng)絡(luò)連接的中斷。 在一個(gè)實(shí)施例中,網(wǎng)絡(luò)中斷可能是由于移動(dòng)客戶端在網(wǎng)絡(luò)與網(wǎng)絡(luò)分 段之間的漫游造成的,這在一些實(shí)施例中使得客戶端105得到新的 網(wǎng)絡(luò)IP地址和/或主機(jī)名稱。在一些實(shí)施例中,這種中斷將斷開網(wǎng) 絡(luò)堆棧310a-310b的第一部分605a-605b,諸如,例如使得TCP或 SPX連接斷開. 一方面,該中斷使得網(wǎng)絡(luò)堆棧310a-310b的第一部分 605a-605b,或它的任何部分被解除,或否則需要重新建立、重新連 接、重新配置、或重新構(gòu)建.例如,在一些實(shí)施例中,網(wǎng)絡(luò)堆棧的 IP層在TCP層重新建立時(shí)可以保持完整。在一個(gè)實(shí)施例中,任何TCP 關(guān)聯(lián)的驅(qū)動(dòng)器可能需要被重新啟動(dòng)。在其它實(shí)施例中,即使在網(wǎng)絡(luò) 連接中斷時(shí)TCP/IP層是完整的,僅僅需要建立新的TCP連接。在其 它實(shí)施例中,TCP/IP層是完整的但需要為新的網(wǎng)絡(luò)或網(wǎng)絡(luò)分段重新 配置它自己,諸如改變客戶端105的IP地址.本領(lǐng)域技術(shù)人員將認(rèn) 識和理解,網(wǎng)絡(luò)連接被中斷和沖擊或影響網(wǎng)絡(luò)堆棧的第一部分的各 種方式。
在一些實(shí)施例中,代理326,或遠(yuǎn)程接入客戶端120的任何其它 部分可以通過任何適當(dāng)?shù)难b置和/或機(jī)構(gòu)檢測網(wǎng)絡(luò)中斷.在一個(gè)實(shí)施 例中,代理326可以通過在呼叫或?qū)W(wǎng)絡(luò)堆棧310a-310b的第一部 分605a-605b執(zhí)行API調(diào)用時(shí)接收錯(cuò)誤消息或故陣而確定網(wǎng)絡(luò)中 斷。例如,對于第二部分610a-610b由代理326保存的SSL會話依 賴于或取決于網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b的TCP連 接。當(dāng)代理326經(jīng)由SSL會話進(jìn)行協(xié)商時(shí),代理326可以接收表示 與TCP連接的問題的錯(cuò)誤或故陣消息.在其它實(shí)施例中,代理326 可以接收來自網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b的、表示 網(wǎng)絡(luò)中斷的任何網(wǎng)絡(luò)層的亊件或消息。本領(lǐng)域技術(shù)人員將認(rèn)識和理 解,可以檢測網(wǎng)絡(luò)中斷的各種方式。
在說明性步驟665,在一些實(shí)施例中,在檢測到網(wǎng)絡(luò)中斷時(shí),本 發(fā)明的代理或遠(yuǎn)程接入客戶端120的任何其它部分在中斷期間保持
網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b。例如,雖然由代理326 保持的基于SSL會話取決于根本的TCP連接,但代理326通過對TCP 連接的中斷保持SSL會話打開或激活。由于可以有與網(wǎng)絡(luò)堆棧 310a-310b的第二部分610a-610b的一個(gè)或多個(gè)層關(guān)聯(lián)的多個(gè)會話, 在一些實(shí)施例中,代理326保持多個(gè)會話的一個(gè)或多個(gè)或全部會話 打開或激活,雖然網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b中斷,
在說明性方法650的步猓670,本發(fā)明的遠(yuǎn)程接入客戶端120, 在一些實(shí)施例中,在網(wǎng)絡(luò)中斷期間將與網(wǎng)絡(luò)堆棧310a-310b的笫二 部分610a-610b關(guān)聯(lián)的任何協(xié)議的一個(gè)或多個(gè)網(wǎng)絡(luò)分組進(jìn)行排隊(duì). 遠(yuǎn)程接入客戶端120可以使用任何類型和/或形式的排隊(duì)機(jī)構(gòu),諸如 在圖5A上顯示的任何隊(duì)列540a-540n,在其它實(shí)施例中,遠(yuǎn)程接入 客戶端120在中斷期間可以丟棄網(wǎng)絡(luò)分組,諸如與有損協(xié)議關(guān)聯(lián)的 任何分組,諸如用于話音通信的在UDP上的RTP.在某些情形下,可 能希望丟棄諸如UDP分組那樣的分組,以便減小諸如在話音通信中 的等待時(shí)間和質(zhì)量問題。在另外的實(shí)施例中,遠(yuǎn)程接入客戶端120 可以將一些網(wǎng)絡(luò)分組排隊(duì)和丟棄其它網(wǎng)絡(luò)分組。在附加的實(shí)施例 中,遠(yuǎn)程接入客戶端120可以將網(wǎng)絡(luò)分組排隊(duì)和在預(yù)定的時(shí)間間隔 后丟棄一些或所有的網(wǎng)絡(luò)分組,遠(yuǎn)程接入客戶端120可以使用策略 520來確定哪些網(wǎng)絡(luò)分組排隊(duì)和/或丟棄。例如,第一應(yīng)用338a的網(wǎng) 絡(luò)分組可以進(jìn)行排列,而第二應(yīng)用338b的網(wǎng)絡(luò)分組被丟棄,在其它 實(shí)施例中,遠(yuǎn)程接入客戶端120可以使用任何網(wǎng)絡(luò)統(tǒng)計(jì)資料或任何 網(wǎng)絡(luò)業(yè)務(wù)檢查技術(shù),例如本領(lǐng)域技術(shù)人員已知的狀態(tài)檢查,來確定
在中斷期間是否排隊(duì)和/或丟棄網(wǎng)絡(luò)分組,
在說明性方法650的步驟675,重新建立網(wǎng)絡(luò)堆棧310a-310b的 第一部分605a-605b,而網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b 被保持,以及保持網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b的任 何想要的會話。網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b可以通 過任何適當(dāng)?shù)难b置和/或機(jī)構(gòu)被重新建立。例如,客戶端105可以通 過諸如登錄到用于漫游的移動(dòng)客戶端105的新網(wǎng)絡(luò)而重新建立到網(wǎng) 絡(luò)的TCP/IP連接。在其它實(shí)施例中,遠(yuǎn)程接入客戶端120,諸如經(jīng) 由代理326或?yàn)V波器322,重新建立網(wǎng)絡(luò)堆棧310a-310b的第一部分 605a-605b。例如,代理326可以發(fā)起和建立新的TCP連接。在重新
建立第一部分605a-605b時(shí),網(wǎng)絡(luò)堆棧310a-310b的第二部分 610a-610b與第一部分605a-605b鏈接、與其重新關(guān)聯(lián)、或開始使用 或繼續(xù)使用其來重新建立網(wǎng)絡(luò)堆棧310a-310b.在一些實(shí)施例中,代 理326通過任何網(wǎng)絡(luò)層的亊件被告知以第一部分605a-605b已被 重新建立,和在其它實(shí)施例中,可以以任何預(yù)定的頻率輪詢,以便 確定笫一部分605a-605b被重新建立,例如,代理326可以檢驗(yàn)TCP 連接是否激活或是否可被重新連接。
在一些實(shí)施例中,在步驟680,遠(yuǎn)程接入客戶端120,諸如代理 326,可以自動(dòng)重新鑒權(quán)客戶端105,或客戶端105的用戶,用于網(wǎng) 絡(luò)連接,諸如對于網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b的TCP 連接。例如,遠(yuǎn)程接入客戶端120可以使用客戶端105的用戶的任 何網(wǎng)絡(luò)關(guān)聯(lián)的證書來自動(dòng)重新鑒權(quán)到網(wǎng)絡(luò)104的客戶端105,另外, 遠(yuǎn)程接入客戶端120可以自動(dòng)重新鑒權(quán)客戶端105或客戶端105的 用戶,用于與網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b關(guān)聯(lián)的任 何會話。例如,在代理326與網(wǎng)關(guān)340或?qū)Φ扔?jì)算設(shè)備102c之間的 SSL會話可以被重新鑒權(quán)。
在另一個(gè)例子中,應(yīng)用338a可以接入主機(jī)服務(wù)、web服務(wù)器、 或使用鑒權(quán)證書以便接入的應(yīng)用服務(wù)器.代理326可以通過使用與 應(yīng)用關(guān)聯(lián)的鑒權(quán)證書來自動(dòng)重新鑒權(quán)對于相應(yīng)的服務(wù)或服務(wù)器的應(yīng) 用338a。在一些實(shí)施例中,遠(yuǎn)程接入客戶端120可以在多個(gè)級別上 重新鑒權(quán)客戶端和/或客戶端105的用戶,諸如用于網(wǎng)絡(luò)接入和/或 TCP連接、SSL或SSL VPN會話、和/或任何應(yīng)用級別會話,諸如媒 體互動(dòng)用戶會話,例如VoIP電話會話。而且,在步驟685之前的任 何時(shí)間、在步驟685期間,例如在傳送排隊(duì)的網(wǎng)絡(luò)分組之后但在繼 續(xù)進(jìn)行其它通信之前、和在步驟865之后,可響應(yīng)于對于來自對等 計(jì)算設(shè)備,諸如服務(wù)器或網(wǎng)關(guān)340,的鑒權(quán)的請求,可以重新鑒權(quán)遠(yuǎn) 程接入客戶端120。
在說明性方法650的步驟685,本發(fā)明的遠(yuǎn)程接入客戶端120繼 續(xù)使用網(wǎng)絡(luò)堆棧的第二部分610a-610b的一個(gè)或多個(gè)會話。如果任 何網(wǎng)絡(luò)堆棧已被排列或在步驟670保持排隊(duì),則遠(yuǎn)程接入客戶端120 傳送排隊(duì)的網(wǎng)絡(luò)分組并繼續(xù)傳送客戶端105的任何網(wǎng)絡(luò)分組,諸如 通過客戶端105的一個(gè)或多個(gè)應(yīng)用338a-338n生成的或發(fā)送到其的
網(wǎng)絡(luò)分組。這樣,本發(fā)明的網(wǎng)絡(luò)中斷保護(hù)技術(shù)對漫游的移動(dòng)計(jì)算解 決方案提供無縫的和透明的解決方案,并用于一般地提供可靠的和 持久的網(wǎng)絡(luò)連接和接入.
在VoIP通信的例子中,本發(fā)明的說明性方法650將減小由于網(wǎng) 絡(luò)中斷造成的電話呼叫失敗的次數(shù)和改進(jìn)VoIP的使用和體驗(yàn)。VoIP 用戶不需要由于在網(wǎng)絡(luò)可得到性方面的臨時(shí)網(wǎng)絡(luò)中斷而重新連接電 話呼叫,因?yàn)楸景l(fā)明的遠(yuǎn)程接入客戶端120將自動(dòng)保持會話并重新 連接到網(wǎng)絡(luò),另外,本發(fā)明的遠(yuǎn)程接入客戶端120將自動(dòng)重新鑒權(quán) 連接和會話,用于在網(wǎng)絡(luò)中斷后提供安全性.而且,本發(fā)明的為了 保護(hù)技術(shù)對于以下項(xiàng)目是有用的1)在網(wǎng)絡(luò)中斷過程中繼續(xù)自動(dòng)進(jìn) 行亊務(wù)、命令、或操作,2)在網(wǎng)絡(luò)中斷過程中保持會話關(guān)聯(lián)的上下 文和緩沖存儲器,和3)自動(dòng)處理由于網(wǎng)絡(luò)中的改變造成的客戶端的 網(wǎng)絡(luò)地址的改變.
通過提供可靠的和持久的連接,本發(fā)明還避免斷開作為在第一計(jì) 算設(shè)備102a與計(jì)算設(shè)備102b,諸如圖1C所示的客戶端105a和105b 之間作為一部分功能的亊務(wù)、命令或操作.例如,使用Windows Explorer的文件復(fù)制操作沒有被設(shè)計(jì)成在網(wǎng)絡(luò)連接中斷之后繼續(xù)工 作。在客戶端105處的用戶可以使用Windows Explorer的文件復(fù)制 特征,把文件從客戶端105復(fù)制到服務(wù)器102c。因?yàn)槲募某叽纾?這個(gè)操作可能花費(fèi)相當(dāng)大的時(shí)間間隔完成.如果在文件復(fù)制到服務(wù) 器的操作的中間期間,在客戶端105與服務(wù)器之間的網(wǎng)絡(luò)連接有斷 開,則文件復(fù)制失敗. 一旦網(wǎng)絡(luò)連接被重新建立,用戶就需要啟動(dòng) 來自Windows Explorer的另 一個(gè)文件復(fù)制操作,把文件從客戶端105 復(fù)制到服務(wù)器。在本發(fā)明下,用戶不需要啟動(dòng)另一個(gè)文件復(fù)制搮作, 網(wǎng)絡(luò)連接按照本發(fā)明的網(wǎng)絡(luò)中斷保護(hù)技術(shù)被重新建立,如圖6B所 示'這樣,將不把網(wǎng)絡(luò)連接的斷開通知Windows Explorer的文件復(fù) 制,所以不會失敗。遠(yuǎn)程接入客戶端120會重新建立任何連接和發(fā) 送任何排隊(duì)的數(shù)據(jù),這樣,操作可以繼續(xù)進(jìn)行而不失敗.遠(yuǎn)程接入 客戶端120保持因?yàn)榫W(wǎng)絡(luò)連接的斷開沒有被傳送到服務(wù)器的、與文 件復(fù)制操作關(guān)聯(lián)的數(shù)據(jù)隊(duì)列。 一旦網(wǎng)絡(luò)連接被重新建立,遠(yuǎn)程接入 客戶端120就可以發(fā)送排隊(duì)的數(shù)據(jù),然后繼續(xù)傳送與在預(yù)期的過程 中文件復(fù)制操作關(guān)聯(lián)的數(shù)據(jù).
雖然本發(fā)明的這個(gè)方面是對于文件復(fù)制操作描述的,但本領(lǐng)域技
術(shù)人員將認(rèn)識到,在笫一計(jì)算設(shè)備102a與第二計(jì)算設(shè)備102b之間 執(zhí)行的任何操作、亊務(wù)、命令、功能等等可被保持和繼續(xù)進(jìn)行,而 不因?yàn)榫W(wǎng)絡(luò)連接中斷而失敗,而且不用客戶端105或客戶端105的 用戶認(rèn)識到存在中斷或有中斷的通知,另外,亊務(wù)或操作可以對于 應(yīng)用338、網(wǎng)關(guān)340、第二計(jì)算設(shè)備102c和網(wǎng)絡(luò)堆棧310a-310b的 第二部分610a-610b的任何部分被透明地保持和繼續(xù)進(jìn)行,
通過給客戶端105提供與對等計(jì)算設(shè)備102b或網(wǎng)關(guān)340的可靠 的和持久的連接,本發(fā)明通過在網(wǎng)絡(luò)連接斷開時(shí)保持用戶會話而避 免在對等體處打開與應(yīng)用338的新的用戶會話的過程,諸如在服務(wù) 器處的主機(jī)服務(wù)。對于在對等計(jì)算設(shè)備之間的每個(gè)用戶會話,每個(gè) 計(jì)算設(shè)備可以保持會話特定的上下文和緩沖存儲器,以及其它用戶 會話的那個(gè)實(shí)例關(guān)聯(lián)的應(yīng)用特定的機(jī)構(gòu)。對于建立的每個(gè)新的用戶 會話,這些會話特定的上下文和緩沖存儲器需要被恢復(fù)或重新建 立,以便反映新的用戶會話。例如,在客戶端105處的用戶可以具 有與具有web服務(wù)器或web應(yīng)用的服務(wù)器102c的http會話。服務(wù) 器102c可以保持對于提供與客戶端105的http會話的這個(gè)實(shí)例特 定的上下文。上下文可被存儲在服務(wù)器的存儲器、服務(wù)器的文件、 數(shù)據(jù)庫或與提供服務(wù)器102c的功能關(guān)聯(lián)的其它部件中。并且,客戶 端105可以具有對于http會話的實(shí)例特定的本地上下文,諸如用于 跟蹤對于web服務(wù)器的未完成請求的機(jī)構(gòu)。這個(gè)上下文可被存儲在 客戶端105的存儲器、客戶端105的文件、或與客戶端105接口的 其它軟件部件中。如果在客戶端105與服務(wù)器102c之間的連接不是 持久的,則需要在服務(wù)器102c和客戶端105處用新會話特定的上下 文來建立新的用戶會話。本發(fā)明保持會話,這樣,不需要重新建立 新的會話,以及新的特定會話上下文.
本發(fā)明在網(wǎng)絡(luò)級連接斷開時(shí)保持用戶會話和不用通知客戶端的 用戶會話被斷開。在本發(fā)明的這方面的操作時(shí),客戶端105建立 到對等計(jì)算設(shè)備的連接.經(jīng)由該連接,建立在客戶端105與服務(wù)器 之間的會話。遠(yuǎn)程接入客戶端120可以存儲和保存任何會話關(guān)聯(lián)的 消息,諸如鑒權(quán)證書,和對于建立的會話的客戶端105和主服務(wù)器 102c上下文。在檢測到網(wǎng)絡(luò)連接的中斷時(shí),遠(yuǎn)程接入客戶端120可
以重新建立網(wǎng)絡(luò)堆棧310a-310b的第一部分605a-605b,而同時(shí)保持 網(wǎng)絡(luò)堆棧的第二部分610a-610b.網(wǎng)絡(luò)連接中斷可以引起由在客戶端 105與服務(wù)器102c之間的會話所使用的基礎(chǔ)TCP/IP連接的斷開.然 而,由于網(wǎng)絡(luò)堆棧310a-310b的第二部分610a-610b被保持,會話 可以在網(wǎng)絡(luò)連接被重新建立后被重新建立和/或繼續(xù)進(jìn)行,而不用通 知客戶端105的用戶會話被斷開,因此,通過使用本發(fā)明的網(wǎng)絡(luò) 中斷保護(hù)技術(shù),由網(wǎng)絡(luò)連接中斷造成的會話斷開有效地對于用戶是 隱蔽的。
而且,通過提供可靠的和持久的連接,本發(fā)明還使得客戶端105 能夠經(jīng)過不同的網(wǎng)絡(luò)拓樸,而不用在客戶端105處重新啟動(dòng)會話或 應(yīng)用338。例如,客戶端105可以是具有無線網(wǎng)連接的筆記本電腦。 當(dāng)客戶端105從第一無線網(wǎng)移動(dòng)到第二無線網(wǎng)時(shí),客戶端的網(wǎng)絡(luò)連 接可能與第一無線網(wǎng)臨時(shí)斷開,因?yàn)樵诮⒘伺c第二無線網(wǎng)的網(wǎng)絡(luò) 連接,第二無線網(wǎng)可以分配新的網(wǎng)絡(luò)標(biāo)識符給客戶端105,諸如主機(jī) 名稱或互聯(lián)網(wǎng)協(xié)議地址.這個(gè)新的網(wǎng)絡(luò)標(biāo)識符可以不同于由第一無 線網(wǎng)分配給客戶端105的網(wǎng)絡(luò)標(biāo)識符.在另一個(gè)例子中,客戶端105 可以物理地通過以太網(wǎng)電纜連接到網(wǎng)絡(luò)上的端口 .物理連接可被拔 去,客戶端105移動(dòng)到另一個(gè)位置,以將插入到網(wǎng)絡(luò)的不同的端口。 這造成網(wǎng)絡(luò)連接的中斷,并有可能造成分配的網(wǎng)絡(luò)標(biāo)識符的改變. 不利用本發(fā)明,在對等計(jì)算設(shè)備之間的任何會話由于網(wǎng)絡(luò)拓樸的改 變、網(wǎng)絡(luò)連接的中斷,和/或分配的網(wǎng)絡(luò)標(biāo)識符的改變,可能需要重 新啟動(dòng)。通過這里描述的方法和系統(tǒng),本發(fā)明的遠(yuǎn)程接入客戶端120 保持用于客戶端的網(wǎng)絡(luò)連接和自動(dòng)地重新建立客戶端105的網(wǎng)絡(luò)連 接,包括處理網(wǎng)絡(luò)拓樸和網(wǎng)絡(luò)標(biāo)識符的改變??蛻舳?05,和在客戶 端105處的任何應(yīng)用或會話,可以繼續(xù)工作,就好像沒有網(wǎng)絡(luò)連接 中斷或網(wǎng)絡(luò)標(biāo)識符改變那樣。而且,在客戶端105處的用戶可能沒 有認(rèn)識到,有任何斷開或改變,以及客戶端105沒有接收到這樣的 斷開的任何通知.
另一方面,本發(fā)明的任何技術(shù),諸如圖2B、 3B、 3C、 4、 5B和 6B的說明性方法,可以以一個(gè)或多個(gè)互相組合被實(shí)施。在一個(gè)實(shí)施 例中,對等路由技術(shù)可以用虛假確認(rèn)和/或MTU調(diào)節(jié)技術(shù)來實(shí)施.這 提供客戶端通信實(shí)時(shí)數(shù)據(jù),諸如VoIP,以經(jīng)由更加優(yōu)化和直接的路
由連接到對等體和經(jīng)由安全SSL/TCP/IP連接上的UDP傳送實(shí)時(shí)數(shù) 據(jù),而同時(shí)避免由于TCP的任何可靠性機(jī)構(gòu)造成的任何等待時(shí)間和 減小由于加密開銷造成的分段。另外,這個(gè)實(shí)施例還可以與客戶端 端應(yīng)用知道的優(yōu)先化技術(shù)和/或網(wǎng)絡(luò)中斷保護(hù)技術(shù)相組合.這樣,安 全實(shí)時(shí)數(shù)據(jù)通信可以從客戶端以比客戶端的其它應(yīng)用更高的優(yōu)先權(quán) 被傳送,以便改進(jìn)諸如VoIP的實(shí)時(shí)體驗(yàn)的質(zhì)量.網(wǎng)絡(luò)中斷技術(shù)允許 移動(dòng)VoIP電話,諸如筆記本電腦的軟電話、在網(wǎng)絡(luò)接入點(diǎn)之間漫游、 和自動(dòng)繼續(xù)進(jìn)行會話。
本發(fā)明的技術(shù)是對于網(wǎng)絡(luò)通信最優(yōu)化的互相補(bǔ)充,諸如,例如通 過SSL VPN網(wǎng)關(guān)的VoIP通信。這樣,l)對等路由技術(shù),2)虛假確 認(rèn)技術(shù),3)有效負(fù)栽移位技術(shù),4)MTU調(diào)節(jié)技術(shù),5)客戶端端應(yīng)用知 道的技術(shù),和6)網(wǎng)絡(luò)中斷保護(hù)技術(shù)中的每一項(xiàng)可以通過本發(fā)明的一 1、孰夕1、" r四汰不V取優(yōu)Ui艱頭應(yīng)1> 可卞路田" 夂個(gè),2乂風(fēng)1^確 認(rèn)技術(shù),3)有效負(fù)栽移位技術(shù),4)MTU調(diào)節(jié)技術(shù),5)客戶端端應(yīng)用知 道的技術(shù),和/或6)網(wǎng)絡(luò)中斷保護(hù)技術(shù)。
在本發(fā)明的另一個(gè)說明性例子中,在線會議、合作、和/或桌面 共享業(yè)務(wù),諸如GoToMeeting. com, WebEx. co邁或LiveMeeting. com
的主機(jī)業(yè)務(wù)在本發(fā)明的一個(gè)或多個(gè)實(shí)施例中可使用本發(fā)明的技術(shù). 主機(jī)業(yè)務(wù)可以使用網(wǎng)關(guān)340和說明性方法260的技術(shù),來實(shí)行在會 議主持者的第一計(jì)算設(shè)備與會議參加者的第二計(jì)算設(shè)備之間的對等 連接。會議主持者與會議參加者的計(jì)算設(shè)備可以經(jīng)由主機(jī)業(yè)務(wù)下栽 遠(yuǎn)程接入客戶端120,或它的任何部分。 一旦會議主持者與會議參加 者建立對等連接,則對等計(jì)算設(shè)備就可以使用本發(fā)明任何的最優(yōu)化 技術(shù)使得它們的通信最優(yōu)化,諸如MTU調(diào)節(jié)技術(shù)、客戶端側(cè)應(yīng)用知 道的技術(shù)、或網(wǎng)絡(luò)中斷保護(hù)技術(shù)。本發(fā)明的最優(yōu)化技術(shù)連同對等路 由一起,將改進(jìn)在線會議、合作、或桌面共享的性能、效率和用戶 體驗(yàn)。
在再一個(gè)方面和參照圖2A,例如,本發(fā)明的遠(yuǎn)程接入客戶端120 可以把客戶端105的動(dòng)態(tài)主配置協(xié)議(DHCP) IP地址和公共可見的 IP地址分發(fā)到電信設(shè)備210a-210b,諸如基于硬件或軟件的VoIP電 話.本發(fā)明的網(wǎng)關(guān)340易于發(fā)現(xiàn)諸如圖2A所示的客戶端105b那樣 的客戶端的公共IP地址.這樣,本發(fā)明的技術(shù)使得通過協(xié)議傳送它
們的IP地址的協(xié)議能夠繼續(xù)起作用.
許多改變和修改方案可以由本領(lǐng)域技術(shù)人員作出,而不背離本發(fā) 明的精神和范圍.所以,必須清楚地理解,所說明的實(shí)施例僅僅是 作為例子被顯示的,不應(yīng)當(dāng)看作為限制本發(fā)明,本發(fā)明是由以下的 權(quán)利要求規(guī)定的.這些權(quán)利要求被讀出為包括它們在文字上闡述的 內(nèi)容,并且也包括沒有實(shí)質(zhì)的不同的、那些等價(jià)的單元,雖然與在 上面的說明中顯示和描述的其它方面是不同的,
權(quán)利要求
1.一種用于建立在第一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備與第二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備之間的對等通信會話的方法,第一網(wǎng)絡(luò)是與第二網(wǎng)絡(luò)不連接的,并且不能路由到第二網(wǎng)絡(luò),該方法包括以下步驟(a)由第一計(jì)算設(shè)備建立與第三計(jì)算設(shè)備的第一隧道會話,和由第二計(jì)算設(shè)備建立與第三計(jì)算設(shè)備的第二隧道會話;(b)由第一計(jì)算設(shè)備經(jīng)由第三計(jì)算設(shè)備發(fā)起到第二計(jì)算設(shè)備的通信會話;(c)由服務(wù)器接收用來建立該通信會話的信號;(d)由服務(wù)器把第一網(wǎng)絡(luò)地址傳送到第一計(jì)算設(shè)備,該第一網(wǎng)絡(luò)地址包括與第二隧道會話關(guān)聯(lián)的第二計(jì)算設(shè)備的網(wǎng)絡(luò)地址;(e)由第一計(jì)算設(shè)備通過使用第一網(wǎng)絡(luò)地址來傳送發(fā)起與第二計(jì)算設(shè)備的連接的請求;(f)由第三計(jì)算設(shè)備截取該請求,并為第一計(jì)算設(shè)備提供用于第二計(jì)算設(shè)備的第二網(wǎng)絡(luò)地址,第二網(wǎng)絡(luò)地址包括與第二計(jì)算設(shè)備關(guān)聯(lián)的公共網(wǎng)地址;以及(g)由第三計(jì)算設(shè)備通過使用第二網(wǎng)絡(luò)地址把請求傳送到第二計(jì)算設(shè)備,以便允許來自第一計(jì)算設(shè)備的連接。
2. 權(quán)利要求l的方法,其中第一隧道會話或第二隧道會話之一的 至少一部分包括安全套接字層或虛擬專用網(wǎng)絡(luò)之一。
3. 權(quán)利要求l的方法,其中第三計(jì)算設(shè)備包括遠(yuǎn)程接入網(wǎng)關(guān)。
4. 權(quán)利要求l的方法,其中第二計(jì)算設(shè)備位于與第二網(wǎng)絡(luò)地址關(guān) 聯(lián)的防火墻的后面。
5. 權(quán)利要求l的方法,包括通過把帶外信號經(jīng)由第一隧道會話傳 送到第 一計(jì)算設(shè)備而由第三計(jì)算設(shè)備把第二網(wǎng)絡(luò)地址提供給笫 一計(jì)算設(shè)備。
6. 權(quán)利要求l的方法,包括由笫二計(jì)算設(shè)備為第一計(jì)算設(shè)備提供 在防火墻中的轉(zhuǎn)發(fā)口,以便使用第二網(wǎng)絡(luò)地址與第二計(jì)算設(shè)備通 信。
7. 權(quán)利要求l的方法,包括由第三計(jì)算設(shè)備把密鑰傳送到第一計(jì) 算設(shè)備和第二計(jì)算設(shè)備.
8. 權(quán)利要求7的方法,包括由第一計(jì)算設(shè)備把密鑰傳送到第二計(jì)算設(shè)備,
9. 權(quán)利要求8的方法,包括由笫一計(jì)算設(shè)備在把數(shù)據(jù)發(fā)送到第二計(jì)算設(shè)備之前檢驗(yàn)從第二計(jì)算設(shè)備接收的密鑰與第一計(jì)算設(shè)備的密 鑰相匹配,
10. 權(quán)利要求7的方法,包括由第二計(jì)算設(shè)備把密鑰傳送到第一 計(jì)算設(shè)備。
11. 權(quán)利要求10的方法,包括由第二計(jì)算設(shè)備在把數(shù)據(jù)發(fā)送到第 二計(jì)算設(shè)備之前檢驗(yàn)從第一計(jì)算設(shè)備接收的密鑰與第二計(jì)算設(shè)備的 密鑰相匹配.
12. 權(quán)利要求l的方法,把第一電信設(shè)備與第一計(jì)算設(shè)備相關(guān)聯(lián), 和把第二電信設(shè)備與第二計(jì)算設(shè)備相關(guān)聯(lián).
13. 權(quán)利要求12的方法,其中第一電信設(shè)備或第二電信設(shè)備之一 包括軟件部件或硬件部件之一。
14. 權(quán)利要求12的方法,包括經(jīng)由連接建立在笫一電信設(shè)備與第 二電信設(shè)備之間的電信會話。
15. 權(quán)利要求15的方法,包括在第一電信設(shè)備和第二電信設(shè)備之 間通過電信會話進(jìn)行通信,而不用經(jīng)過第一計(jì)算設(shè)備。
16. 權(quán)利要求l的方法,包括經(jīng)由在第一計(jì)算設(shè)備和第二計(jì)算設(shè) 備之間的連接,來傳送遠(yuǎn)程顯示協(xié)議。
17. 權(quán)利要求16的方法,其中遠(yuǎn)程桌面協(xié)議包括獨(dú)立計(jì)算結(jié)構(gòu)協(xié) 議或遠(yuǎn)程桌面協(xié)議之一 。
18. 權(quán)利要求l的方法,包括經(jīng)由連接與第二計(jì)算設(shè)備共享第一 計(jì)算設(shè)備的屏幕視圖.
19. 在網(wǎng)關(guān)中, 一種用于建立在第一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備與第 二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備之間的對等通信會話的方法,第 一 網(wǎng)絡(luò)是 與第二網(wǎng)絡(luò)不連接的,并且不能路由到笫二網(wǎng)絡(luò),該方法包括以下 步驟(a) 在第一網(wǎng)絡(luò)上建立與第一計(jì)算設(shè)備的第一隧道會話;(b) 在第二網(wǎng)絡(luò)上建立與第二計(jì)算設(shè)備的第二隧道會話;(c) 接收由第一計(jì)算設(shè)備發(fā)起與第二計(jì)算設(shè)備的通信會話的請求;(d) 把用于聯(lián)系第二計(jì)算設(shè)備的笫 一 網(wǎng)絡(luò)地址提供給第 一計(jì)算設(shè)備,第一網(wǎng)絡(luò)地址包括與第二隧道會話關(guān)聯(lián)的第二計(jì)算設(shè)備的網(wǎng)絡(luò)地址;(e) 通過使用笫一網(wǎng)絡(luò)地址,來接收由笫一計(jì)算設(shè)備發(fā)起與笫二 計(jì)算設(shè)備的連接的請求;(f) 截取發(fā)起連接的請求,并為笫一計(jì)算設(shè)備提供用于第二計(jì)算 設(shè)備的第二網(wǎng)絡(luò)地址,笫二網(wǎng)絡(luò)地址包括與笫二計(jì)算設(shè)備關(guān)聯(lián)的公 共網(wǎng)地址;以及(g) 通過使用第二網(wǎng)絡(luò)地址把請求傳送到第二計(jì)算設(shè)備,以便允 許從第 一計(jì)算設(shè)備到笫二計(jì)算設(shè)備的連接,
20. 權(quán)利要求19的方法,其中第一隧道會話或第二隧道會話之一 的至少一部分包括安全套接字層或虛擬專用網(wǎng)絡(luò)之一。
21. 權(quán)利要求19的方法,其中第二計(jì)算設(shè)備位于與第二網(wǎng)絡(luò)地址 關(guān)聯(lián)的防火墻的后面。
22. 權(quán)利要求19的方法,包括通過把帶外信號經(jīng)由笫一隧道會話 傳送到第 一計(jì)算設(shè)備而把第二網(wǎng)絡(luò)地址提供給笫 一計(jì)算設(shè)備.
23. 權(quán)利要求19的方法,包括把密鑰傳送到第一計(jì)算設(shè)備.
24. 權(quán)利要求19的方法,包括把密鑰傳送到第二計(jì)算設(shè)備.
25. —種用于經(jīng)由第三計(jì)算設(shè)備建立在笫一網(wǎng)絡(luò)上的第一計(jì)算設(shè) 備與第二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備之間的對等通信會話的系統(tǒng),第一網(wǎng)絡(luò)是與第二網(wǎng)絡(luò)不連接的,并且不能路由到第二網(wǎng)絡(luò),該系統(tǒng)包 括在第一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備; 在第二網(wǎng)絡(luò)上的第二計(jì)算設(shè)備;第三計(jì)算設(shè)備,建立與第一計(jì)算設(shè)備的第一隧道會話,和與第二 計(jì)算設(shè)備的第二隧道會話;經(jīng)由第三計(jì)算設(shè)備可接入的服務(wù)器;其中服務(wù)器經(jīng)由第三計(jì)算設(shè)備把第 一 網(wǎng)絡(luò)地址傳送到第 一計(jì)算設(shè) 備,該第一網(wǎng)絡(luò)地址包括與第二隧道會話關(guān)聯(lián)的第二計(jì)算設(shè)備的網(wǎng) 絡(luò)地址;第 一計(jì)算設(shè)備通過使用第 一 網(wǎng)絡(luò)地址經(jīng)由第三計(jì)算設(shè)備傳送發(fā) 起與第二計(jì)算設(shè)備的連接的請求; 第三計(jì)算設(shè)備截取笫 一請求,并為第 一計(jì)算設(shè)備提供用于第二計(jì) 算設(shè)備的第二網(wǎng)絡(luò)地址,第二網(wǎng)絡(luò)地址包括與第二計(jì)算設(shè)備關(guān)聯(lián)的》公共網(wǎng)地址;以及第三計(jì)算設(shè)備通過使用第二網(wǎng)絡(luò)地址傳送第二請求到第二計(jì)算 設(shè)備,允許來自第一計(jì)算設(shè)備的連接,
26. 權(quán)利要求25的系統(tǒng),其中第一隧道會話或第二隧道會話之一 的至少一部分包括安全套接字層或虛擬專用網(wǎng)絡(luò)之一。
27. 權(quán)利要求25的系統(tǒng),其中第三計(jì)算設(shè)備包括遠(yuǎn)程接入網(wǎng)關(guān)。
28. 權(quán)利要求25的系統(tǒng),其中第二計(jì)算設(shè)備位于與第二網(wǎng)絡(luò)地址 關(guān)聯(lián)的防火墻的后面.
29. 權(quán)利要求25的系統(tǒng),其中第三計(jì)算設(shè)備通過經(jīng)由第一隧道會 話傳送帶外信號來把第二網(wǎng)絡(luò)地址提供給笫一計(jì)算設(shè)備。
30. 權(quán)利要求25的系統(tǒng),其中第二計(jì)算設(shè)備為第一計(jì)算設(shè)備提供 在防火墻中的轉(zhuǎn)發(fā)口,以便使用笫二網(wǎng)絡(luò)地址與第二計(jì)算設(shè)備通 信.
31. 權(quán)利要求25的系統(tǒng),其中第三計(jì)算設(shè)備把密鑰傳送到笫一計(jì) 算設(shè)備和第二計(jì)算設(shè)備.
32. 權(quán)利要求31的系統(tǒng),其中第一計(jì)算設(shè)備把密鑰傳送到第二計(jì) 算設(shè)備.
33. 權(quán)利要求32的系統(tǒng),其中第一計(jì)算設(shè)備在把數(shù)據(jù)發(fā)送到第二 計(jì)算設(shè)備之前檢驗(yàn)從第二計(jì)算設(shè)備接收的密鑰與第 一計(jì)算設(shè)備的密 鑰相匹配。
34. 權(quán)利要求31的系統(tǒng),其中第二計(jì)算設(shè)備把密鑰傳送到第一計(jì) 算設(shè)備。
35. 權(quán)利要求34的系統(tǒng),其中第二計(jì)算設(shè)備在把數(shù)據(jù)發(fā)送到第二 計(jì)算設(shè)備之前檢驗(yàn)從笫一計(jì)算設(shè)備接收的密鑰與第二計(jì)算設(shè)備的密 鑰相匹配.
36. 權(quán)利要求25的系統(tǒng),包括與第一計(jì)算設(shè)備關(guān)聯(lián)的第一電信設(shè) 備,和與第二計(jì)算設(shè)備關(guān)聯(lián)的第二電信設(shè)備。
37. 權(quán)利要求36的系統(tǒng),其中第一電信設(shè)備或第二電信設(shè)備之一 包括軟件部件或硬件部件之一。
38. 權(quán)利要求37的系統(tǒng),其中第一電信設(shè)備經(jīng)由連接建立與第二 電信設(shè)備的電信會話.
39. 權(quán)利要求38的系統(tǒng),其中第一電信設(shè)備通過電信會話與第二 電信設(shè)備進(jìn)行通信,而不用經(jīng)過第三計(jì)算設(shè)備.
40. 權(quán)利要求25的系統(tǒng),第一計(jì)算設(shè)備和第二計(jì)算設(shè)備經(jīng)由連接 來傳送遠(yuǎn)程顯示協(xié)議.
41. 權(quán)利要求25的系統(tǒng),其中遠(yuǎn)程桌面協(xié)議包括獨(dú)立計(jì)算結(jié)構(gòu)協(xié) 議或遠(yuǎn)程桌面協(xié)議之一.
42. 權(quán)利要求25的系統(tǒng),包括第一計(jì)算設(shè)備經(jīng)由連接與第二計(jì)算 設(shè)備共享屏幕視圖.
43. —種用于建立在第一網(wǎng)絡(luò)上的第一計(jì)算設(shè)備與第二網(wǎng)絡(luò)上的 第二計(jì)算設(shè)備之間的對等通信會話的網(wǎng)關(guān),第一網(wǎng)絡(luò)是與第二網(wǎng)絡(luò)不連接的,并且不能路由到第二網(wǎng)絡(luò),該網(wǎng)關(guān)包括用于在第一網(wǎng)絡(luò)上建立與第一計(jì)算設(shè)備的第一隧道會話的裝置;用于在第二網(wǎng)絡(luò)上建立與第二計(jì)算設(shè)備的第二隨道會話的裝置;用于接收由第一計(jì)算設(shè)備發(fā)起與第二計(jì)算設(shè)備的通信會話的請求的裝置;用于把用于聯(lián)系第二計(jì)算設(shè)備的第一網(wǎng)絡(luò)地址提供給第一計(jì)算 設(shè)備的裝置,第一網(wǎng)絡(luò)地址包括與第二隧道會話關(guān)聯(lián)的第二計(jì)算設(shè)備的網(wǎng)絡(luò)地址;用于通過使用第 一網(wǎng)絡(luò)地址,來接收由第 一計(jì)算設(shè)備發(fā)起與第二 計(jì)算設(shè)備的連接的請求的裝置;用于截取發(fā)起連接的請求,并為第一計(jì)算設(shè)備提供用于第二計(jì)算 設(shè)備的第二網(wǎng)絡(luò)地址的裝置,第二網(wǎng)絡(luò)地址包括與第二計(jì)算設(shè)備關(guān) 聯(lián)的公共網(wǎng)地址;以及用于通過使用第二網(wǎng)絡(luò)地址把請求傳送到第二計(jì)算設(shè)備,以允許 從第一計(jì)算設(shè)備到第二計(jì)算設(shè)備的連接的裝置。
44. 權(quán)利要求43的系統(tǒng),其中第一隧道會話或第二隧道會話之一 的至少一部分包括安全套接字層或虛擬專用網(wǎng)絡(luò)之一。
45. 權(quán)利要求43的系統(tǒng),其中第二計(jì)算設(shè)備位于與第二網(wǎng)絡(luò)地址 關(guān)聯(lián)的防火墻的后面.
46. 權(quán)利要求43的系統(tǒng),包括用于通過把帶外信號經(jīng)由笫一隧道 會話傳送到第 一計(jì)算設(shè)備來把第二網(wǎng)絡(luò)地址提供給第 一計(jì)算設(shè)備的 裝置.
47. 權(quán)利要求43的系統(tǒng),包括用于把密鑰傳送到笫一計(jì)算設(shè)備的J£> 。
48. 權(quán)利要求43的系統(tǒng),包括把密鑰傳送到第二計(jì)算設(shè)備的裝置。
49. 一種經(jīng)由無損協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的分組 的方法,該方法包括以下步驟(a) 經(jīng)由無損協(xié)議建立在第一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的連接;(b) 由第一計(jì)算設(shè)備檢測無損協(xié)議分組,無損協(xié)議分組包括具有 按照有損協(xié)議被構(gòu)建的一個(gè)或多個(gè)分組的有效負(fù)栽;(c) 由第一計(jì)算設(shè)備把無損協(xié)議分組的接收的虛假確認(rèn)傳送到第 一計(jì)算設(shè)備或第二計(jì)算設(shè)備之一;以及(d) 由第一計(jì)算設(shè)備把無損協(xié)議分組傳送到第二計(jì)算設(shè)備.
50. 權(quán)利要求49的方法,包括由第一計(jì)算設(shè)備使用密鑰來加密一 個(gè)或多個(gè)分組。
51,權(quán)利要求50的方法,包括經(jīng)由在第一計(jì)算設(shè)備與第二計(jì)算設(shè) 備之間的帶外傳輸安全層會話來提供加密密鑰到第一計(jì)算設(shè)備。
52. 權(quán)利要求49的方法,包括逐個(gè)分組地加密一個(gè)或多個(gè)分組。
53. 權(quán)利要求49的方法,還包括在步驟(d)之前執(zhí)行步取(c)。
54. 權(quán)利要求49的方法,其中第二計(jì)算設(shè)備是網(wǎng)關(guān).
55. 權(quán)利要求49的方法,包括響應(yīng)于由第一計(jì)算設(shè)備或第二計(jì)算 設(shè)備之一接收到無損協(xié)議分組的接收的虛假確認(rèn),阻止第一計(jì)算設(shè) 備或第二計(jì)算設(shè)備之一的網(wǎng)絡(luò)堆棧執(zhí)行與提供無損協(xié)議的無損特性 關(guān)聯(lián)的操作.
56. 權(quán)利要求49的方法,其中無損協(xié)議包括傳輸控制協(xié)議.
57. 權(quán)利要求56的方法,包括阻止第一計(jì)算設(shè)備或第二計(jì)算設(shè)備 之一的網(wǎng)絡(luò)堆棧執(zhí)行與無損協(xié)議有關(guān)的一個(gè)或多個(gè)以下的算法重 發(fā)、排序、流控制算法、naple的算法、和滑動(dòng)窗口算法,
58. 權(quán)利要求49的方法,其中有損協(xié)議包括用戶數(shù)據(jù)報(bào)協(xié)議。
59. 權(quán)利要求49的方法,包括由第一計(jì)算設(shè)備經(jīng)由安全套接字層 或傳輸安全層隧道之一把無損協(xié)議分組傳送到第二計(jì)算設(shè)備。
60. 權(quán)利要求49的方法,其中一個(gè)或多個(gè)分組包括實(shí)時(shí)協(xié)議.
61. 權(quán)利要求49的方法,包括由第一計(jì)算設(shè)備把實(shí)時(shí)話音、音頻 或數(shù)據(jù)之一經(jīng)由一個(gè)或多個(gè)分組傳送到第二計(jì)算設(shè)備。
62. —種用于經(jīng)由無損協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的 分組的系統(tǒng),該系統(tǒng)包括用于經(jīng)由無損協(xié)議建立在笫一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的 連接的裝置;用于由第 一計(jì)算設(shè)備檢測無損協(xié)議分組的裝置,無損協(xié)議分組包 括具有按照有損協(xié)議被構(gòu)建的一個(gè)或多個(gè)分組的有效負(fù)栽;用于由第一計(jì)算設(shè)備把無損協(xié)議分組的接收的虛假確認(rèn)傳送到第一計(jì)算設(shè)備或第二計(jì)算設(shè)備之一的裝置;以及用于由第 一計(jì)算設(shè)備把無損協(xié)議分組傳送到第二計(jì)算設(shè)備的裝置。
63. 權(quán)利要求62的系統(tǒng),包括用于由第一計(jì)算設(shè)備使用密鑰來加 密一個(gè)或多個(gè)分組的裝置。
64. 權(quán)利要求63的系統(tǒng),包括用于經(jīng)由在第一計(jì)算設(shè)備與第二計(jì) 算設(shè)備之間的帶外傳輸安全層會話來提供加密密鑰到第一計(jì)算設(shè)備 的裝置。
65. 權(quán)利要求63的系統(tǒng),包括用于逐個(gè)分組地加密一個(gè)或多個(gè)分 組的裝置。
66. 權(quán)利要求62的系統(tǒng),還包括用于在傳送無損協(xié)議分組之前傳 送無損協(xié)議分組的接收的虛假確認(rèn)的裝置。
67. 權(quán)利要求62的系統(tǒng),其中第二計(jì)算設(shè)備是網(wǎng)關(guān)。
68. 權(quán)利要求62的系統(tǒng),包括用于響應(yīng)于由第一計(jì)算設(shè)備或第二 計(jì)算設(shè)備之一接收到無損協(xié)議分組的接收的虛假確認(rèn),以阻止第一 計(jì)算設(shè)備或第二計(jì)算設(shè)備之一的網(wǎng)絡(luò)堆棧執(zhí)行與提供無損協(xié)議的無 損特性關(guān)聯(lián)的操作的裝置。
69. 權(quán)利要求62的系統(tǒng),其中無損協(xié)議包括傳輸控制協(xié)議,
70. 權(quán)利要求69的系統(tǒng),包括用于阻止第一計(jì)算設(shè)備或第二計(jì)算 設(shè)備之一的網(wǎng)絡(luò)堆棧執(zhí)行與無損協(xié)議有關(guān)的一個(gè)或多個(gè)以下的算法重發(fā)、排序、和流控制算法的裝置,
71. 權(quán)利要求62的系統(tǒng),其中有損協(xié)議包括用戶數(shù)據(jù)報(bào)協(xié)議.
72. 權(quán)利要求62的系統(tǒng),包括用于由第一計(jì)算設(shè)備經(jīng)由安全套接 字層或傳輸安全層隧道之一把無損協(xié)議分組傳送到第二計(jì)算設(shè)備的 裝置,
73. 權(quán)利要求62的系統(tǒng),其中一個(gè)或多個(gè)分組包括實(shí)時(shí)協(xié)議.
74. 權(quán)利要求62的系統(tǒng),包括用于由第一計(jì)算設(shè)備把實(shí)時(shí)話音、 音頻或數(shù)據(jù)之一經(jīng)由一個(gè)或多個(gè)分組傳送到第二計(jì)算設(shè)備的裝置。
75. —種通過使用在TCP連接上不可靠的傳輸協(xié)議發(fā)送來自應(yīng)用 的分組的方法,包括在第 一設(shè)備處接收要使用不可靠的傳輸協(xié)議發(fā)送的笫一分組; 創(chuàng)建第一TCP分組,該第一TCP分組包括接收的第 一分組的第 一有效負(fù)栽和與在第 一設(shè)備與第二設(shè)備之間建立的TCP連接關(guān)聯(lián)的信息的笫一TCP首部;由第 一設(shè)備把第一TCP分組發(fā)送到第二設(shè)備; 在第一設(shè)備處接收要使用不可靠的傳輸協(xié)議發(fā)送的第二分組; 創(chuàng)建第二TCP分組,該第二TCP分組包括接收的第二分組的笫二有效負(fù)載和第一TCP首部信息;以及由第一設(shè)備在接收來自第二設(shè)備的第一有效負(fù)栽的接收的確認(rèn)之前把第二TCP分組發(fā)送到第二設(shè)備。
76. 權(quán)利要求75的方法,包括建立與一個(gè)端口號的TCP連接,該 端口號與不可靠的傳輸協(xié)議相關(guān)聯(lián)。
77. 權(quán)利要求75的方法,包括由第一設(shè)備動(dòng)態(tài)地確定包括不可靠 的傳輸協(xié)議的第一TCP分組與第二TCP分組。
78. 權(quán)利要求75的方法,其中不可靠的傳輸協(xié)議是UDP。
79. 權(quán)利要求75的方法,還包括在笫一設(shè)備上通過使用分組捕獲機(jī)構(gòu)截取第一TCP分組與第二 TCP分組來接收第一TCP分組與第二TCP分組。
80. 權(quán)利要求75的方法,包括由第一設(shè)備建立與VPN網(wǎng)關(guān)設(shè)備的 TCP連接。
81. 權(quán)利要求75的方法,包括經(jīng)由TCP連接建立在笫一設(shè)備與第 二設(shè)備之間的對等通信.
82,權(quán)利要求75的方法,包括由第一設(shè)備加密第一與第二TCP分 組,和由第二設(shè)備解密該加密的笫一與第二TCP分組.
83. —種通過使用在TCP連接上的不可靠的傳輸協(xié)議發(fā)送來自應(yīng) 用的分組的方法,包括在第二設(shè)備處截取在笫一設(shè)備處創(chuàng)建的和在笫二設(shè)備處接收的 第一TCP分組,笫一TCP分組包括由應(yīng)用通過使用不可靠的傳輸協(xié)議 生成的第一分組的第一有效負(fù)栽和與在第一設(shè)備與第二設(shè)備之間建 立的TCP連接關(guān)聯(lián)的信息的第一TCP首部,截取在笫一TCP分組被提供 給第二設(shè)備的TCP堆棧之前發(fā)生;響應(yīng)于信息的TCP首部來識別第一有效負(fù)栽是由應(yīng)用通過使用不 可靠的傳輸協(xié)議而生成的分組;從第一TCP分組剝離信息的TCP首部;以及通過使用不可靠的傳輸協(xié)議把第一有效負(fù)栽轉(zhuǎn)發(fā)到應(yīng)用。
84. 權(quán)利要求83的方法,其中不可靠的協(xié)議是UDP.
85. 權(quán)利要求83的方法,其中識別的步驟包括識別TCP首部信息, TCP首部信息包括與不可靠的傳輸協(xié)議關(guān)聯(lián)的端口號.
86. 權(quán)利要求83的方法,還包括由第二設(shè)備通過使用分組捕獲驅(qū)動(dòng)器截取第一TCP分組.
87. 權(quán)利要求83的方法,其中第一設(shè)備是客戶端設(shè)備并且第二設(shè) 備是VPN網(wǎng)關(guān)。
88. 權(quán)利要求87的方法,還包括在把第一有效負(fù)栽轉(zhuǎn)發(fā)到應(yīng)用之前在第二設(shè)備上執(zhí)行網(wǎng)絡(luò)地址 轉(zhuǎn)換(NAT ).
89. —種用于通過使用在TCP連接上的不可靠的傳輸協(xié)議發(fā)送來 自應(yīng)用的分組的系統(tǒng),該系統(tǒng)包括第一設(shè)備,第一設(shè)備包括生成第一和第二分組的應(yīng)用,第一和第二分組打算通過使用不可 靠的傳輸協(xié)議被發(fā)送;過濾器進(jìn)程,過濾器進(jìn)程截取來自應(yīng)用的第一和第二分組,并把 截取的分組轉(zhuǎn)發(fā)到隧道進(jìn)程.隧道進(jìn)程,隧道進(jìn)程請求打開在第一設(shè)備與第二設(shè)備之間的TCP 連接,打開TCP連接的請求向第一和第二設(shè)備表示,TCP連接將傳輸打算用不可靠的傳輸協(xié)議發(fā)送的分組,隧道進(jìn)程把笫一和第二分組作為在第 一和笫二TCP分組中的有效負(fù)栽轉(zhuǎn)發(fā)到第二設(shè)備,隧道進(jìn)程在發(fā)送第一TCP分組之后并在接收對于第一TCP分組的確認(rèn)之前發(fā)送第二TCP分組;以及與第一設(shè)備進(jìn)行通信的第二設(shè)備,第二設(shè)備包括 第二隧道進(jìn)程,該第二隨道進(jìn)程打開由第一設(shè)備請求的TCP連接,并識別和把TCP連接的源地址轉(zhuǎn)發(fā)到第二過濾器進(jìn)程;以及 第二過濾器進(jìn)程,該笫二過濾器進(jìn)程截取在第二設(shè)備處用首部中的TCP連接源地址接收的、來自應(yīng)用的分組,第二過濾器進(jìn)程從接收的分組剝離TCP首部,把被剝離的分組轉(zhuǎn)發(fā)到打算的目的地,并繞過在第二設(shè)備上的TCP/ IP堆棧.
90. 權(quán)利要求89的系統(tǒng),其中在第一設(shè)備上的第一過濾器進(jìn)程包 括分組捕獲驅(qū)動(dòng)器.
91. 權(quán)利要求89的系統(tǒng),其中在第二設(shè)備上的第二過濾器進(jìn)程包 括分組捕獲驅(qū)動(dòng)器.
92. 權(quán)利要求89的系統(tǒng),其中第一設(shè)備是客戶端設(shè)備并且第二設(shè) 備是VPN網(wǎng)關(guān)設(shè)備。
93. 權(quán)利要求89的系統(tǒng),還包括 第三設(shè)備,剝離的分組被發(fā)送到該第三設(shè)備。
94. 權(quán)利要求93的系統(tǒng),其中第二設(shè)備還包括網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)表,用來在把剝離的分組發(fā)送到第三設(shè)備之 前執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換。
95. 權(quán)利要求89的系統(tǒng),其中不可靠的數(shù)據(jù)協(xié)議是UDP。
96. —種用于調(diào)節(jié)安全網(wǎng)絡(luò)通信的最大傳輸單元以減小網(wǎng)絡(luò)分段 的方法,該方法包括以下步驟(a) 建立在第 一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的會話,第 一計(jì)算 設(shè)備具有第一網(wǎng)絡(luò)堆棧;(b) 由第 一計(jì)算設(shè)備檢測具有加密的有效負(fù)栽的網(wǎng)絡(luò)分組;(c) 由第一計(jì)算設(shè)備確定對于第一網(wǎng)絡(luò)堆棧的最大傳輸單元參數(shù) 的設(shè)置,以將最大傳輸單元尺寸減小至少與有效負(fù)栽的加密部分關(guān) 聯(lián)的一個(gè)尺寸;以及(d) 把第一網(wǎng)絡(luò)堆棧的最大傳輸單元(MTU)參數(shù)改變到所確定的設(shè)置。
97. 權(quán)利要求96的方法,包括經(jīng)由安全套接字層或傳輸層安全隧 道之一把網(wǎng)絡(luò)分組傳送到笫二計(jì)算設(shè)備。
98. 權(quán)利要求96的方法,其中有效負(fù)栽包括實(shí)時(shí)協(xié)議.
99. 權(quán)利要求96的方法,還包括經(jīng)由第一網(wǎng)絡(luò)堆棧的網(wǎng)絡(luò)驅(qū)動(dòng)器 接口技術(shù)規(guī)范水平機(jī)構(gòu)來改變最大傳輸單元參數(shù)。
100. 權(quán)利要求96的方法,還包括對每個(gè)在第一計(jì)算設(shè)備與笫二 計(jì)算設(shè)備之間的會話動(dòng)態(tài)地確定最大傳輸單元參數(shù)的設(shè)置.
101. 權(quán)利要求96的方法,包括經(jīng)由網(wǎng)關(guān)建立在第一計(jì)算設(shè)備與 第二計(jì)算設(shè)備之間的會話。
102. 權(quán)利要求96的方法,包括由第一計(jì)算設(shè)備把實(shí)時(shí)話音、音 頻或數(shù)據(jù)之一經(jīng)由網(wǎng)絡(luò)分組的有效負(fù)栽傳送到第二計(jì)算設(shè)備.
103. 權(quán)利要求96的方法,包括在傳送網(wǎng)絡(luò)分組之前把網(wǎng)絡(luò)分組 的接收的虛假確認(rèn)傳送到第一計(jì)算設(shè)備或笫二計(jì)算設(shè)備之一。
104. 權(quán)利要求96的方法,還包括經(jīng)由第一計(jì)算設(shè)備的代理建立 在第 一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的會話。
105. 權(quán)利要求104的方法,包括由代理經(jīng)由IOCTL應(yīng)用編程接口 與第一網(wǎng)絡(luò)堆棧通信,以便把最大傳輸單元參數(shù)改變到所確定的設(shè) 置。
106. —種用于調(diào)節(jié)安全網(wǎng)絡(luò)通信的最大傳輸單元以減小網(wǎng)絡(luò)分 段的系統(tǒng),該系統(tǒng)包括用于建立在第 一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的會話的裝置,第一計(jì)算設(shè)備具有第 一 網(wǎng)絡(luò)堆棧;用于由第一計(jì)算設(shè)備檢測具有加密的有效負(fù)栽的網(wǎng)絡(luò)分組的裝置;用于由笫一計(jì)算設(shè)備確定對于第一網(wǎng)絡(luò)堆棧的最大傳輸單元參 數(shù)的設(shè)置,以將最大傳輸單元尺寸減小至少與有效負(fù)栽的加密部分 關(guān)聯(lián)的一個(gè)尺寸的裝置;以及用于把第一網(wǎng)絡(luò)堆棧的最大傳輸單元(MTU)參數(shù)改變到所確定的設(shè)置的裝置.
107. 權(quán)利要求106的系統(tǒng),包括用于經(jīng)由安全套接字層或傳輸層 安全隧道之一把網(wǎng)絡(luò)分組傳送到第二計(jì)算設(shè)備的裝置.
108. 權(quán)利要求106的系統(tǒng),其中有效負(fù)栽包括實(shí)時(shí)協(xié)議.
109. 權(quán)利要求106的系統(tǒng),其中有效負(fù)栽包括實(shí)時(shí)話音、音頻或 數(shù)據(jù)之一的表示.
110. 權(quán)利要求106的系統(tǒng),還包括用于經(jīng)由第一網(wǎng)絡(luò)堆棧的網(wǎng)絡(luò) 驅(qū)動(dòng)器接口技術(shù)規(guī)范水平機(jī)構(gòu)來改變第一計(jì)算設(shè)備的最大傳輸單元參數(shù)的裝置。
111. 權(quán)利要求106的系統(tǒng),還包括用于對每個(gè)在第一計(jì)算設(shè)備與 第二計(jì)算設(shè)備之間的會話動(dòng)態(tài)地確定最大傳輸單元參數(shù)的設(shè)置的裝置。
112. 權(quán)利要求106的系統(tǒng),包括用于經(jīng)由網(wǎng)關(guān)建立在第一計(jì)算設(shè) 備與第二計(jì)算設(shè)備之間的會話的裝置。
113. 權(quán)利要求106的系統(tǒng),包括用于由第一計(jì)算設(shè)備把實(shí)時(shí)話 音、音頻或數(shù)據(jù)之一經(jīng)由網(wǎng)絡(luò)分組的有效負(fù)栽傳送到第二計(jì)算設(shè)備 的裝置。
114. 權(quán)利要求106的系統(tǒng),包括用于在傳送網(wǎng)絡(luò)分組之前把網(wǎng)絡(luò) 分組的接收的虛假確認(rèn)傳送到第 一計(jì)算設(shè)備或第二計(jì)算設(shè)備之一 的 裝置。
115. 權(quán)利要求106的系統(tǒng),其中網(wǎng)絡(luò)分組包括無損協(xié)議分組。
116. 權(quán)利要求115的系統(tǒng),其中無損協(xié)議分組包括傳輸控制協(xié)議。
117. 權(quán)利要求106的系統(tǒng),其中有效負(fù)栽包括有損協(xié)議分組.
118. 權(quán)利要求117的系統(tǒng),其中有損協(xié)議分組包括用戶數(shù)據(jù)報(bào)協(xié)議。
119. 權(quán)利要求106的系統(tǒng),包括第一計(jì)算設(shè)備的代理,用于建立 在第 一計(jì)算設(shè)備與第二計(jì)算設(shè)備之間的會話。
120. 權(quán)利要求119的系統(tǒng),其中代理經(jīng)由IOCTL應(yīng)用編程接口與 第一網(wǎng)絡(luò)堆棧通信,以便把最大傳輸單元參數(shù)改變到所確定的設(shè) 置。
121. —種為客戶端優(yōu)先化與客戶端的應(yīng)用關(guān)聯(lián)的網(wǎng)絡(luò)通信的方 法,該方法包括以下步驟(a)由客戶端截取與客戶端的一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè) 網(wǎng)絡(luò)分組; (b) 由客戶端存儲該一個(gè)或多個(gè)網(wǎng)絡(luò)分組到一個(gè)隊(duì)列;(c) 由客戶端確定與客戶端的笫一應(yīng)用關(guān)聯(lián)的排隊(duì)的一個(gè)或多個(gè) 網(wǎng)絡(luò)分組;(d) 由客戶端表示所確定的一個(gè)或多個(gè)網(wǎng)絡(luò)分組的優(yōu)先權(quán),以便 把確定的一個(gè)或多個(gè)網(wǎng)絡(luò)分組放置在與客戶端的第二應(yīng)用關(guān)聯(lián)的、 隊(duì)列中的至少一個(gè)網(wǎng)絡(luò)分組之前;以及(e) 提供優(yōu)先化的一個(gè)或多個(gè)網(wǎng)絡(luò)分組以便經(jīng)由客戶端的網(wǎng)絡(luò)堆 棧通信.
122. 權(quán)利要求121的方法,其中由客戶端確定的步猓還包括確定 第一應(yīng)用的排隊(duì)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組包括實(shí)時(shí)數(shù)據(jù)。
123. 權(quán)利要求122的方法,其中實(shí)時(shí)數(shù)據(jù)包括以下的一項(xiàng)實(shí)時(shí) 協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、和話音或音頻之一的表示,
124. 權(quán)利要求121的方法,包括由客戶端阻止第二應(yīng)用的至少一 個(gè)網(wǎng)絡(luò)分組在第 一應(yīng)用的一個(gè)或多個(gè)網(wǎng)絡(luò)分組之前經(jīng)由網(wǎng)絡(luò)堆棧被 傳送。
125. 權(quán)利要求121的方法,包括由客戶端把與第二應(yīng)用關(guān)聯(lián)的網(wǎng) 絡(luò)分組保存在隊(duì)列中,并當(dāng)在保存的網(wǎng)絡(luò)分組之前優(yōu)先化的、與第 一應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組被傳送時(shí)釋放保存的網(wǎng)絡(luò)分組.
126. 權(quán)利要求121的方法,包括由客戶端對于客戶端上的一個(gè)或 多個(gè)應(yīng)用透明地截取一個(gè)或多個(gè)網(wǎng)絡(luò)分組。
127. 權(quán)利要求121的方法,包括在前臺運(yùn)行第一應(yīng)用,以及在后 臺運(yùn)行第二應(yīng)用。
128. 權(quán)利要求121的方法,包括把比與第二應(yīng)用關(guān)聯(lián)的優(yōu)先權(quán)更 高的優(yōu)先權(quán)與第一應(yīng)用相關(guān)聯(lián),
129. 權(quán)利要求128的方法,還包括由用戶規(guī)定的第一應(yīng)用或第二 應(yīng)用之一的優(yōu)先權(quán)。
130. 權(quán)利要求121的方法,包括由客戶端接收來自計(jì)算設(shè)備的一 個(gè)或多個(gè)網(wǎng)絡(luò)分組.
131. 權(quán)利要求121的方法,包括由該一個(gè)或多應(yīng)用提供一個(gè)或多 個(gè)網(wǎng)絡(luò)分組,用于從客戶端到計(jì)算設(shè)備傳送。
132. —種客戶端,用于對與客戶端的應(yīng)用關(guān)聯(lián)的客戶端網(wǎng)絡(luò)通 信進(jìn)行優(yōu)先化,該客戶端包括 用于截取與客戶端的一個(gè)或多個(gè)應(yīng)用關(guān)聯(lián)的客戶端的一個(gè)或多個(gè)網(wǎng)絡(luò)分組的機(jī)構(gòu);網(wǎng)絡(luò)驅(qū)動(dòng)器,用于存儲一個(gè)或多個(gè)網(wǎng)絡(luò)分組到一個(gè)隊(duì)列,并經(jīng)由 客戶端的網(wǎng)絡(luò)堆棧傳送該一個(gè)或多個(gè)網(wǎng)絡(luò)分組;以及代理,用于確定與客戶端的第一應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分 組,并向網(wǎng)絡(luò)驅(qū)動(dòng)器表示該一個(gè)或多個(gè)網(wǎng)絡(luò)分組的優(yōu)先權(quán),以把所 確定的一個(gè)或多個(gè)網(wǎng)絡(luò)分組放置在與客戶端的第二應(yīng)用關(guān)聯(lián)的、隊(duì) 列中的至少一個(gè)網(wǎng)絡(luò)分組的前面.
133. 權(quán)利要求132的客戶端,其中代理確定第一應(yīng)用的一個(gè)或多 個(gè)網(wǎng)絡(luò)分組包括實(shí)時(shí)數(shù)據(jù).
134. 權(quán)利要求132的客戶端,其中實(shí)時(shí)數(shù)據(jù)包括以下的一項(xiàng)實(shí) 時(shí)協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、和話音或音頻之一的表示.
135. 權(quán)利要求132的客戶端,其中代理或網(wǎng)絡(luò)驅(qū)動(dòng)器之一阻止第 二應(yīng)用的至少一個(gè)網(wǎng)絡(luò)分組在第一應(yīng)用的一個(gè)或多個(gè)網(wǎng)絡(luò)分組之前 經(jīng)由網(wǎng)絡(luò)堆棧被傳送。
136. 權(quán)利要求132的客戶端,其中網(wǎng)絡(luò)驅(qū)動(dòng)器把與第二應(yīng)用關(guān)聯(lián) 的網(wǎng)絡(luò)分組保存在隊(duì)列中,并當(dāng)在保存的網(wǎng)絡(luò)分組之前優(yōu)先化的、 與第一應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組被傳送后釋放所保存的網(wǎng)絡(luò) 分組。
137. 權(quán)利要求132的客戶端,其中機(jī)構(gòu)對于客戶端上的一個(gè)或多 個(gè)應(yīng)用透明地截取一個(gè)或多個(gè)網(wǎng)絡(luò)分組。
138. 權(quán)利要求132的客戶端,其中第一應(yīng)用在前臺運(yùn)行,以及第 二應(yīng)用在后臺運(yùn)行。
139. 權(quán)利要求132的客戶端,其中第一應(yīng)用具有比客戶端的第二應(yīng)用更高的優(yōu)先權(quán)。
140. 權(quán)利要求132的客戶端,包括用于由用戶規(guī)定優(yōu)先權(quán)的配置 機(jī)構(gòu)。
141. 權(quán)利要求132的客戶端,其中客戶端接收來自計(jì)算設(shè)備的一 個(gè)或多個(gè)網(wǎng)絡(luò)分組,
142. 權(quán)利要求132的客戶端,其中該一個(gè)或多個(gè)應(yīng)用提供一個(gè)或 多個(gè)網(wǎng)絡(luò)分組以便從客戶端到計(jì)算設(shè)備的傳送.
143. 權(quán)利要求132的客戶端,其中網(wǎng)絡(luò)驅(qū)動(dòng)器包括網(wǎng)絡(luò)驅(qū)動(dòng)器接口技術(shù)規(guī)范(NDIS)驅(qū)動(dòng)器
144. 權(quán)利要求132的客戶端,其中網(wǎng)絡(luò)驅(qū)動(dòng)器在客戶端的操作泉統(tǒng)的內(nèi)核模式下工作.
145. 權(quán)利要求132的客戶端,其中代理在客戶端的搮作系統(tǒng)的用戶模式下工作。
146. 權(quán)利要求132的客戶端,其中代理或網(wǎng)絡(luò)驅(qū)動(dòng)器之一包括用 于截取客戶端的 一個(gè)或多個(gè)網(wǎng)絡(luò)分組的機(jī)構(gòu)。
147. —種用于保護(hù)經(jīng)由第一協(xié)議建立的會話免受網(wǎng)絡(luò)中斷的方 法,該方法包括以下步驟(a) 經(jīng)由客戶端的代理建立在客戶端與設(shè)備之間的網(wǎng)絡(luò)連接上經(jīng) 由第一協(xié)議的會話的步驟,網(wǎng)絡(luò)連接與網(wǎng)絡(luò)堆棧相關(guān)聯(lián),網(wǎng)絡(luò)堆棧 的第一部分包括在第一協(xié)議的層下面的網(wǎng)絡(luò)堆棧的一個(gè)或多個(gè)層,b 并且網(wǎng)絡(luò)堆棧的第二部分包括用于笫一協(xié)議的層和在第一協(xié)議上面 的網(wǎng)絡(luò)堆棧的一個(gè)或多個(gè)層;(b) 檢測造成網(wǎng)絡(luò)堆棧的笫一部分被解除的、在網(wǎng)絡(luò)連接中的中斷;(c) 在中斷期間由代理保持會話和網(wǎng)絡(luò)堆棧的第二部分;以及(d) 重新建立網(wǎng)絡(luò)堆棧的第二部分和網(wǎng)絡(luò)連接,同時(shí)保持會話和 網(wǎng)絡(luò)堆棧的第二部分.
148. 權(quán)利要求147的方法,還包括以下步驟(e) 用網(wǎng)絡(luò)堆棧的保持的笫二部分和網(wǎng)絡(luò)堆棧的重新建立的第一 部分繼續(xù)進(jìn)行會話。
149. 權(quán)利要求147的方法,還包括以下步驟 (e)由網(wǎng)絡(luò)堆棧的第二部分丟棄在中斷期間接收的任何網(wǎng)絡(luò)分組。
150. 權(quán)利要求147的方法,其中設(shè)備包括遠(yuǎn)程接入網(wǎng)關(guān)或計(jì)算設(shè) 備之一。
151. 權(quán)利要求147的方法,還包括經(jīng)由以下的協(xié)議之一的第一協(xié) 議建立會話安全套接字層(SSL)協(xié)議、傳輸層安全(TLS)協(xié)議、 和隧道協(xié)議.
152. 權(quán)利要求147的方法,包括由代理經(jīng)由在客戶端與設(shè)備之間 的會話傳送實(shí)時(shí)數(shù)據(jù)。
153. 權(quán)利要求152的方法,其中實(shí)時(shí)數(shù)據(jù)包括實(shí)時(shí)協(xié)議.
154. 權(quán)利要求152的方法,其中實(shí)時(shí)數(shù)據(jù)包括話音或音頻之一的 表示,
155. 權(quán)利要求147的方法,包括代理在客戶端的操作系統(tǒng)的用戶 模式下操作。
156. 權(quán)利要求147的方法,其中網(wǎng)絡(luò)的第一部分包括傳輸控制協(xié) 議或互聯(lián)網(wǎng)協(xié)議之一,
157. 權(quán)利要求147的方法,其中網(wǎng)絡(luò)堆棧的第二部分包括互聯(lián)網(wǎng) 協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、或通過互聯(lián)網(wǎng)的話音協(xié)議之一.
158. 權(quán)利要求147的方法,包括客戶端經(jīng)由遠(yuǎn)程顯示協(xié)議與設(shè)備 通信。
159. 權(quán)利要求158的方法,其中遠(yuǎn)程顯示協(xié)議包括獨(dú)立計(jì)算結(jié)構(gòu) 協(xié)議或遠(yuǎn)程桌面協(xié)議之一.
160. 權(quán)利要求147的方法,包括對于經(jīng)由網(wǎng)絡(luò)連接通信的客戶端 的應(yīng)用透明地執(zhí)行步驟(b)、 (c)和(d)之一。
161. 權(quán)利要求147的方法,包括由代理對于客戶端的應(yīng)用透明地 截取與應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組,
162. 權(quán)利要求147的方法,包括由與堆棧的第二部分關(guān)聯(lián)的網(wǎng)絡(luò) 驅(qū)動(dòng)器對于客戶端上的應(yīng)用透明地截取與應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng) 絡(luò)分組,
163. —種用于保護(hù)經(jīng)由第一協(xié)議建立的會話免受網(wǎng)絡(luò)中斷的系 統(tǒng),該系統(tǒng)包括客戶端的代理,經(jīng)由第一協(xié)議通過網(wǎng)絡(luò)連接建立在客戶端與設(shè)備 之間的會話;網(wǎng)絡(luò)堆棧,具有第一部分和第二部分,網(wǎng)絡(luò)堆棧的第一部分包括 在第一協(xié)議的層下面的網(wǎng)絡(luò)堆棧的一個(gè)或多個(gè)層,并且網(wǎng)絡(luò)堆棧的 第二部分包括用于第一協(xié)議的層和在第一協(xié)議上面的網(wǎng)絡(luò)堆棧的一個(gè)或多個(gè)層;以及檢測器,用于檢測造成網(wǎng)絡(luò)堆棧的第一部分被解除的、在網(wǎng)絡(luò)連 接中的中斷;其中在由檢測器檢測中斷時(shí),代理在中斷期間保持會話和網(wǎng)絡(luò)堆棧的第二部分;客戶端重新建立網(wǎng)絡(luò)堆棧的笫 一部分和網(wǎng)絡(luò)連接,同時(shí)代理保持 會話和網(wǎng)絡(luò)堆棧的第二部分。
164. 權(quán)利要求163的系統(tǒng),其中代理用網(wǎng)絡(luò)堆棧的保持的第二部 分和網(wǎng)絡(luò)堆棧的重建的第一部分繼續(xù)進(jìn)行會話.
165. 權(quán)利要求163的系統(tǒng),其中網(wǎng)絡(luò)堆棧的第一或第二部分之一 丟棄在中斷期間接收的任何網(wǎng)絡(luò)分組。
166. 權(quán)利要求163的系統(tǒng),其中設(shè)備包括遠(yuǎn)程接入網(wǎng)關(guān)或計(jì)算設(shè) 備之一。
167. 權(quán)利要求163的系統(tǒng),其中第一協(xié)議包括以下的協(xié)議之一 安全套接字層(SSL)協(xié)議、傳輸層安全(TLS)協(xié)議、和隧道協(xié)議。
168. 權(quán)利要求163的系統(tǒng),其中代理經(jīng)由在客戶端與設(shè)備之間的 會話傳送實(shí)時(shí)數(shù)據(jù).
169. 權(quán)利要求168的系統(tǒng),其中實(shí)時(shí)數(shù)據(jù)包括實(shí)時(shí)協(xié)議之一。
170. 權(quán)利要求168的系統(tǒng),其中實(shí)時(shí)數(shù)據(jù)包括話音或音頻之一的 表示。
171. 權(quán)利要求163的系統(tǒng),其中代理在客戶端的操作系統(tǒng)的用戶 模式下操作.
172. 權(quán)利要求163的系統(tǒng),其中網(wǎng)絡(luò)堆棧的笫一部分包括傳輸控 制協(xié)議或互聯(lián)網(wǎng)協(xié)議之一 。
173. 權(quán)利要求163的系統(tǒng),其中網(wǎng)絡(luò)堆棧的第二部分包括互聯(lián)網(wǎng) 協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、或通過互聯(lián)網(wǎng)的話音協(xié)議之一。
174. 權(quán)利要求163的系統(tǒng),其中第一協(xié)議包括遠(yuǎn)程顯示協(xié)議。
175. 權(quán)利要求174的系統(tǒng),其中遠(yuǎn)程顯示協(xié)議包括獨(dú)立計(jì)算結(jié)構(gòu) 協(xié)議或遠(yuǎn)程桌面協(xié)議之一。
176. 權(quán)利要求163的系統(tǒng),其中代理對于客戶端的應(yīng)用透明地截 取與該應(yīng)用關(guān)聯(lián)的一個(gè)或多個(gè)網(wǎng)絡(luò)分組.
177. 權(quán)利要求163的系統(tǒng),包括與網(wǎng)絡(luò)堆棧的第二部分關(guān)聯(lián)的網(wǎng) 絡(luò)驅(qū)動(dòng)器,網(wǎng)絡(luò)驅(qū)動(dòng)器對于客戶端的應(yīng)用透明地截取與該應(yīng)用關(guān)聯(lián) 的一個(gè)或多個(gè)網(wǎng)絡(luò)分組,并經(jīng)由會話把該一個(gè)或多個(gè)分組提供給代 理.
178. 權(quán)利要求177的系統(tǒng),其中網(wǎng)絡(luò)驅(qū)動(dòng)器包括網(wǎng)絡(luò)驅(qū)動(dòng)器接口技術(shù)規(guī)范(NDIS)驅(qū)動(dòng)器.
179.權(quán)刮要求177的系統(tǒng),其中網(wǎng)絡(luò)驅(qū)動(dòng)器在客戶端的操作系統(tǒng) 的內(nèi)核模式下操作。
全文摘要
本發(fā)明總的針對用于提供對等通信和遠(yuǎn)程接入連接性的遠(yuǎn)程接入結(jié)構(gòu)。在一個(gè)實(shí)施例中,本發(fā)明的遠(yuǎn)程接入結(jié)構(gòu)提供用于經(jīng)由諸如網(wǎng)關(guān)的第三計(jì)算設(shè)備建立對等計(jì)算設(shè)備之間的直接通信的方法。另外,本發(fā)明提供以下的使得對等通信最優(yōu)化的技術(shù)1)網(wǎng)絡(luò)分組的接收的虛假確認(rèn)允許經(jīng)由無損分組協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的分組,2)網(wǎng)絡(luò)分組的有效負(fù)載移位允許經(jīng)由無損分組協(xié)議傳送對于經(jīng)由有損協(xié)議傳輸被構(gòu)建的分組,3)考慮由于加密造成的開銷,通過調(diào)節(jié)最大傳輸單元(MTU)參數(shù)而減小分組分段,4)客戶端網(wǎng)絡(luò)通信的應(yīng)用知道的優(yōu)先化,以及5)網(wǎng)絡(luò)中斷保護(hù),用于可靠的和持久的網(wǎng)絡(luò)連接性與接入。
文檔編號H04L29/08GK101199187SQ200580030928
公開日2008年6月11日 申請日期2005年7月22日 優(yōu)先權(quán)日2004年7月23日
發(fā)明者E·布呂格曼, G·P·勞, R·羅德里格茲 申請人:茨特里克斯系統(tǒng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
鄂托克旗| 苍山县| 西吉县| 洪江市| 惠州市| 漳浦县| 秦皇岛市| 常熟市| 象山县| 石嘴山市| 唐山市| 平陆县| 明水县| 梅河口市| 婺源县| 新建县| 乌兰察布市| 磐安县| 平遥县| 肥东县| 弥勒县| 沂水县| 通江县| 汶上县| 札达县| 承德县| 兴义市| 宣武区| 额敏县| 惠州市| 平湖市| 化德县| 疏附县| 重庆市| 东安县| 舟曲县| 滦南县| 朔州市| 兴城市| 彰武县| 日喀则市|