本申請要求2015年6月16日提交的且標題為“用于優(yōu)化隧道流量的方法和裝置(METHODS AND APPARATUS FOR OPTIMIZING TUNNELED TRAFFIC)”的美國專利申請序列No.14/740,297的優(yōu)先權(quán),要求2014年7月23日提交的且標題為“用于優(yōu)化隧道流量的方法和裝置(Methods and Apparatus for Optimizing Tunneled Traffic)”的美國臨時專利申請序列No.62/028,287以及2014年6月26日提交的且標題為“用于優(yōu)化隧道流量的方法和裝置(Methods and Apparatus for Optimizing Tunneled Traffic)”的申請?zhí)枮?2/017,366的優(yōu)先權(quán),本申請被授予且由此要求上述申請中的每個申請的優(yōu)先權(quán)的資格;上述申請中的每個申請的公開內(nèi)容以引證方式將它們的全部內(nèi)容并入本文,并且作為其一部分。
技術(shù)領(lǐng)域
本公開的方面大體上涉及數(shù)據(jù)通信的領(lǐng)域,并且特別地涉及通過高延遲媒體的數(shù)據(jù)通信。
背景技術(shù):
通用分組無線業(yè)務(wù)(GPRS)支持蜂窩網(wǎng)絡(luò)中的數(shù)據(jù)通信。在第三代(3G)和長期演進(LTE)蜂窩網(wǎng)絡(luò)中,使用GPRS隧道協(xié)議(GTP)交換數(shù)據(jù)通信。在很多類型的蜂窩網(wǎng)絡(luò)中,在接入點(基站)與核心網(wǎng)絡(luò)實體之間的接口上,包括在通用移動電信系統(tǒng)(UMTS)中的IuB接口、3G網(wǎng)絡(luò)中的IuH接口和LTE網(wǎng)絡(luò)中的SI接口上,使用GTP協(xié)議的用戶數(shù)據(jù)隧道部分(GTP-U)。在3G網(wǎng)絡(luò)中,GTP-U被應(yīng)用于所有數(shù)據(jù)流量,而沒有應(yīng)用于在GTP-U隧道外攜帶的語音流量。在LTE網(wǎng)絡(luò)中,根據(jù)所使用基于LTE的語音(VoLTE)模型,GTP-U可以被應(yīng)用于語音流量(即,可以在GTP隧道內(nèi)部攜帶語音流量)。
接入點和核心網(wǎng)絡(luò)實體之間的接口可以通過各種類型的鏈路跨越很大的距離。當衛(wèi)星鏈路或其它高延遲鏈路被用于接入點和核心網(wǎng)絡(luò)實體之間的回程接口(像IuB、IuH和SI接口)時,接入點和核心網(wǎng)絡(luò)實體之間的流量遭受高延遲。遺憾的是,使流量遭受高延遲常常導致性能降低。為了減輕或防止性能降低和較差的用戶體驗,可以應(yīng)用傳輸控制協(xié)議(TCP)加速方法、超文本傳送協(xié)議(HTTP)加速方法和/或各種緩存方法。
衛(wèi)星帶寬是具有顯著的使用成本的有限的資源。因此,通過衛(wèi)星鏈路回程的蜂窩流量應(yīng)該以有效的方式被回程,以使運營成本最小化?;贗P的語音(VoIP)流量常常通過具有相對高開銷的小的分組來表征?!鞍船F(xiàn)狀”通過衛(wèi)星鏈路傳輸?shù)腣oIP流量可能導致顯著低效地利用衛(wèi)星資源。于是,可期望識別和處理語音流量(例如,使延時、抖動、分組損耗和/或開銷最小化),以防止語音質(zhì)量降低和/或?qū)崿F(xiàn)衛(wèi)星資源的更有效利用。
雖然有用于TCP加速、HTTP加速、緩存和VoIP處理的已知技術(shù),但是當用隧道信息封裝流量時,這些技術(shù)會不太有效。顯著的挑戰(zhàn)存在于將加速和緩存方法應(yīng)用于用隧道信息封裝的流量中。
在Chatterjee等人的美國專利No.6,947,440和Yabo等人的美國專利No.8,837,349中描述了用于加速、緩存和VoIP處理的已知技術(shù)的實施例。
技術(shù)實現(xiàn)要素:
以下呈現(xiàn)簡化的概述,以便提供本公開的一些方面的基本理解。該概述不是本公開的詳細的綜述。其既不旨在確認本公開的關(guān)鍵或必要要素,也不旨在標明本公開的范圍。以下概述僅以簡化的形式呈現(xiàn)本公開的一些方面,作為下面的描述的序言。
根據(jù)本公開的方面,衛(wèi)星通信系統(tǒng)可以被配置為根據(jù)協(xié)議在第一衛(wèi)星調(diào)制解調(diào)器和第二衛(wèi)星調(diào)制解調(diào)器之間建立多個不同的隧道。第一衛(wèi)星調(diào)制解調(diào)器可以經(jīng)由根據(jù)不同的協(xié)議建立的隧道接收分組,基于來自包含在分組中的一個或多個報頭的信息確定對應(yīng)于隧道的端點標識符,識別多個不同隧道中對應(yīng)于隧道的一個,生成對應(yīng)的分組,該對應(yīng)的分組省略來自一個或多個報頭的信息的至少一部分并且包括包含在分組的有效載荷中的至少一部分數(shù)據(jù)和包括對應(yīng)于多個不同的隧道中所識別的一個的隧道索引的信息塊,并且經(jīng)由多個不同的隧道中所識別的一個將對應(yīng)的分組傳輸?shù)降诙l(wèi)星調(diào)制解調(diào)器。
在一些實施例中,隧道(例如,根據(jù)GTP-U生成的隧道)可以在衛(wèi)星鏈路上延伸。在一些實施例中,衛(wèi)星通信系統(tǒng)可以包括發(fā)送站和接收站。發(fā)送站(例如,與此相關(guān)聯(lián)的衛(wèi)星調(diào)制解調(diào)器)可以被配置為(例如,通過LAN接口)接收包括(例如,根據(jù)GTP-U)用隧道信息封裝的數(shù)據(jù)的分組,根據(jù)與分組相關(guān)聯(lián)的協(xié)議和/或應(yīng)用程序執(zhí)行一個或多個方法,以產(chǎn)生對應(yīng)的分組,并且將對應(yīng)的分組(例如,通過衛(wèi)星鏈路)傳輸?shù)浇邮照?例如,與此相關(guān)聯(lián)的衛(wèi)星調(diào)制解調(diào)器)。接收站可以被配置為(例如,通過衛(wèi)星鏈路)接收由發(fā)送站傳輸?shù)姆纸M,根據(jù)分組執(zhí)行一個或多個方法,以產(chǎn)生對應(yīng)的分組,并且向其下一個目的地(例如,通過LAN接口)傳輸其產(chǎn)生的分組。在一些實施例中,站可以被配置為建立與封裝包含在由發(fā)送站接收的分組中的數(shù)據(jù)的隧道信息對應(yīng)的隧道。在這樣的實施例中,發(fā)送站可以被配置為經(jīng)由站之間建立的隧道傳輸,并且接收站可以被配置為經(jīng)由站之間建立的隧道進行接收(例如,由發(fā)送站產(chǎn)生的對應(yīng)的分組)。在一些實施例中,由接收站產(chǎn)生的分組可以對應(yīng)于在站之間建立的隧道,和/或包括用封裝由發(fā)送站接收的分組中包含的數(shù)據(jù)的隧道信息封裝的數(shù)據(jù)。
在一些實施例中,可以經(jīng)由隧道(例如,GTP隧道)接收數(shù)據(jù),數(shù)據(jù)可以被分類,并且根據(jù)其分類處理數(shù)據(jù)。在一些實施例中,數(shù)據(jù)可以被分類為TCP類、基于TCP的HTTP類、域名系統(tǒng)(DNS)類、基于語音的互聯(lián)網(wǎng)協(xié)議(VoIP)類,或抖動和/或延時敏感流量類中的一個或多個。
在一些實施例中,報頭壓縮可以被應(yīng)用于經(jīng)由隧道接收的數(shù)據(jù)的至少一部分。例如,可以壓縮與隧道相關(guān)聯(lián)的IP、UDP或GTP報頭中的一個或多個。
在一些實施例中,可以加速經(jīng)由隧道接收的TCP流量(例如,用于通過衛(wèi)星鏈路傳輸)。例如,在衛(wèi)星鏈路的每側(cè)處,TCP連接可以與正向隧道和返回隧道相關(guān)聯(lián)。在一些實施例中,可以在發(fā)送站處通過生成對應(yīng)于經(jīng)由與TCP連接相關(guān)聯(lián)的正向隧道接收的段的確認(例如,欺騙的確認),且經(jīng)由與TCP連接相關(guān)聯(lián)的返回隧道將確認發(fā)送給段的發(fā)起者來加速TCP流量。額外地或可替換地,可以在接收站處通過與對應(yīng)的TCP連接相關(guān)聯(lián)地記錄與經(jīng)由與TCP連接相關(guān)聯(lián)的正向隧道(例如,從其目的地)接收的段的確認相關(guān)聯(lián)的一個或多個值,并且(例如,當沒有必要通過衛(wèi)星鏈路發(fā)送確認時)代替將確認轉(zhuǎn)發(fā)到發(fā)送站的是丟棄確認,來加速TCP流量。
在一些實施例中,經(jīng)由隧道接收的HTTP流量可以被加速(例如,以改善用戶瀏覽體驗)。例如,可以利用一個或多個預取或緩存技術(shù)加速HTTP流量。而且,由于常常經(jīng)由一個或多個TCP連接傳遞HTTP流量為基礎(chǔ)的數(shù)據(jù),所以TCP流量的加速還可以加速HTTP流量。
在一些實施例中,可以識別和消除在經(jīng)由隧道接收的流量中包含的冗余信息。
在一些實施例中,可以為專門的處理識別經(jīng)由隧道接收的UDP流量(例如,SIP信令流量、RTP流量、DNS流量、非RTP實時流量、其它非實時流量等)。
附圖說明
因此,已經(jīng)概括地描述了本公開,現(xiàn)在將參考附圖,沒有必要按比例繪制附圖,并且在附圖中:
圖1示出根據(jù)本公開的方面的通信系統(tǒng):
圖2示出根據(jù)本公開的方面的示例發(fā)送站的框圖;
圖3示出根據(jù)本公開的方面的發(fā)送站和接收站;
圖4示出根據(jù)本公開的方面的GTP報頭格式;
圖5示出根據(jù)本公開的方面的HTTP會話的示例;以及
圖6示出根據(jù)本公開的方面的DNS會話的示例。
具體實施方式
參考圖1,通信系統(tǒng)100可以包括至少一個用戶設(shè)備(例如,UE)(110)、至少一個接入點(例如,eNodeB)(120)和至少一個核心網(wǎng)絡(luò)設(shè)備(例如,演進的分組核心(EPC))(160)。至少一個接入點(120)和至少一個核心網(wǎng)絡(luò)設(shè)備(160)可以被配置為至少使用對應(yīng)于GPRS隧道協(xié)議(GTP)的一個或多個隧道(190)彼此通信。在一些實施例中,所述一個或多個隧道(190)可以對應(yīng)于GTP的數(shù)據(jù)用戶部分(GTP-U)。雖然在上面的示例中使用的術(shù)語可以源自特定的蜂窩通信技術(shù)(例如,第三代合作伙伴計劃(3GPP)、長期演進(LTE)等),但是系統(tǒng)100可以表示各種其它類型的蜂窩通信網(wǎng)絡(luò),以及其它類型的無線通信網(wǎng)絡(luò)。
在一些實施例中,至少一個接入點(120)和至少一個核心網(wǎng)絡(luò)設(shè)備(160)可以地理上分離,并且可以在一個或多個高延遲鏈路上攜帶由至少一個接入點(120)和至少一個核心網(wǎng)絡(luò)設(shè)備(160)使用的一個或多個GTP隧道(190)。在圖1中所示的示例中,這樣的高延遲鏈路由衛(wèi)星鏈路表示。衛(wèi)星鏈路可以至少包括第一衛(wèi)星調(diào)制解調(diào)器(130)和第二衛(wèi)星調(diào)制解調(diào)器(150),其中第一衛(wèi)星調(diào)制解調(diào)器(130)和第二衛(wèi)星調(diào)制解調(diào)器(150)可以被配置為至少例如使用適當?shù)膫鬏敽徒邮昭b置(例如,分別對應(yīng)于第一衛(wèi)星調(diào)制解調(diào)器(130)和第二衛(wèi)星調(diào)制解調(diào)器(150)的135和155),經(jīng)由衛(wèi)星(140)彼此通信。第一衛(wèi)星調(diào)制解調(diào)器(130)可以被配置為耦接到(170)至少一個接入點(120),并且可以被稱為面向用戶的站。第二衛(wèi)星調(diào)制解調(diào)器(150)可以被配置為耦接到(180)至少一個核心網(wǎng)絡(luò)設(shè)備(160),并且可以被稱為面向web的站(例如,因為可以耦接到第二衛(wèi)星調(diào)制解調(diào)器(150)的至少一個核心網(wǎng)絡(luò)設(shè)備(160)可以被配置為使得能夠訪問web服務(wù)器、SIP服務(wù)器、DNS服務(wù)器、數(shù)據(jù)中心、企業(yè)內(nèi)聯(lián)網(wǎng)服務(wù)器和/或任何其它類型的網(wǎng)絡(luò)或服務(wù)器)。
在一些實施例中,系統(tǒng)100可以包括多個接入點。在這樣的實施例中,每個接入點可以耦接到被配置為與耦接到至少一個核心網(wǎng)絡(luò)設(shè)備(160)的一個或多個衛(wèi)星調(diào)制解調(diào)器通信的衛(wèi)星調(diào)制解調(diào)器。在一些實施例中,耦接到接入點的每個衛(wèi)星調(diào)制解調(diào)器可以與甚小孔徑終端(VSAT)相關(guān)聯(lián),并且可以由耦接到至少一個核心網(wǎng)絡(luò)設(shè)備(160)的衛(wèi)星通信中心站來替換耦接到至少一個核心網(wǎng)絡(luò)設(shè)備(160)的衛(wèi)星調(diào)制解調(diào)器,或耦接到至少一個核心網(wǎng)絡(luò)設(shè)備(160)的衛(wèi)星調(diào)制解調(diào)器可以對應(yīng)于耦接到至少一個核心網(wǎng)絡(luò)設(shè)備(160)的衛(wèi)星通信中心站(satellite communication hub)。
由于GTP隧道可以是單向的,所以系統(tǒng)100中的每個GTP隧道可以與發(fā)送站和接收站相關(guān)聯(lián)。圖3示出耦接到發(fā)送站(200)的第一網(wǎng)絡(luò)設(shè)備(350)(例如,接入點或核心網(wǎng)絡(luò)設(shè)備)和耦接到接收站(300)的第二網(wǎng)絡(luò)設(shè)備(360)(例如,核心網(wǎng)絡(luò)設(shè)備或接入點)。第一網(wǎng)絡(luò)設(shè)備(350)可以被配置為經(jīng)由至少一個GTP隧道(390)將信息發(fā)送到第二網(wǎng)絡(luò)設(shè)備(360)。發(fā)送站(200)可以被配置為從第一網(wǎng)絡(luò)設(shè)備(350)接收包括根據(jù)GTP-U(310)封裝的數(shù)據(jù)的分組,根據(jù)與分組相關(guān)聯(lián)的協(xié)議和/或應(yīng)用程序執(zhí)行一個或多個方法以產(chǎn)生對應(yīng)的分組,并且例如通過高延遲鏈路(例如,經(jīng)由衛(wèi)星)將對應(yīng)的分組傳輸?shù)浇邮照?300)。在一些實施例中,發(fā)送站(200)可以被配置為經(jīng)由在發(fā)送站(200)和接收站(300)之間建立的內(nèi)部隧道(320)傳輸對應(yīng)的分組,并且接收站(300)可以被配置為經(jīng)由在發(fā)送站(200)和接收站(300)之間建立的內(nèi)部隧道(320)接收對應(yīng)的分組,內(nèi)部隧道(320)可以對應(yīng)于至少一個GTP隧道(390)。接收站(300)可以被配置為通過高延遲鏈路(例如,經(jīng)由衛(wèi)星)接收由發(fā)送站(200)產(chǎn)生的分組,根據(jù)所接收的分組執(zhí)行一個或多個方法以產(chǎn)生對應(yīng)的分組,并且使用GTP-U(330)將其產(chǎn)生的分組傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備(360)。在一些實施例中,由接收站(300)產(chǎn)生的分組可以對應(yīng)于經(jīng)由其分組被發(fā)送站(200)發(fā)送以及被接收站(300)接收的內(nèi)部隧道(320)。在一些實施例中,第一衛(wèi)星調(diào)制解調(diào)器(130)和/或第二衛(wèi)星調(diào)制解調(diào)器(150)可以包括發(fā)送站(200)和接收站(300)兩者,用于至少傳輸和接收使用GTP-U封裝的流量的目的。
在一些實施例中,可以對內(nèi)部隧道(320)進行加密。例如,由發(fā)送站(200)接收的分組可以包括未加密的數(shù)據(jù),并且發(fā)送站(200)可以被配置為如先前所描述般的產(chǎn)生對應(yīng)的分組,并且在將分組傳輸?shù)浇邮照?300)之前,根據(jù)加密方案對分組(或包含在其中的數(shù)據(jù))進行加密。接收站(300)可以被配置為接收由發(fā)送站(200)產(chǎn)生的分組,根據(jù)加密方案對分組(或包含在其中的數(shù)據(jù))進行解密,如先前描述的產(chǎn)生對應(yīng)的分組(該對應(yīng)的分組可以包括解密的分組(或包含在其中的數(shù)據(jù))),并且將其產(chǎn)生的分組傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備(360)。
在一些實施例中,第一網(wǎng)絡(luò)設(shè)備(350)可以被配置為經(jīng)由多個不同的GTP隧道將信息發(fā)送到第二網(wǎng)絡(luò)設(shè)備(360),并且發(fā)送站(200)可以被配置為通過多個不同的內(nèi)部隧道,傳輸與多個GTP隧道相關(guān)聯(lián)的分組,和/或接收站(300)可以被配置為通過多個不同的內(nèi)部隧道,接收與多個GTP隧道相關(guān)聯(lián)的分組。多個內(nèi)部隧道的每個內(nèi)部隧道可以與多個不同的GTP隧道中的對應(yīng)的GTP隧道相關(guān)聯(lián)。在這樣的實施例中,發(fā)送站(200)可以被配置為用與內(nèi)部隧道相關(guān)聯(lián)的加密密鑰,對經(jīng)由內(nèi)部隧道傳輸?shù)姆纸M(或包含在其中的數(shù)據(jù))進行加密,和/或接收站(300)可以被配置為用與內(nèi)部隧道相關(guān)聯(lián)的加密密鑰,對經(jīng)由內(nèi)部隧道接收的分組(或包含在其中的數(shù)據(jù))進行解密(例如,可以使用與用于對經(jīng)由其它內(nèi)部隧道傳輸和接收的數(shù)據(jù)進行加密和解密的加密密鑰不同的加密密鑰,對經(jīng)由多個不同的內(nèi)部隧道中的每個內(nèi)部隧道傳輸和接收的數(shù)據(jù)進行加密和解密)。
在一些實施例中,由發(fā)送站(200)接收的分組(或包含在其中的數(shù)據(jù))可以是加密的,并且發(fā)送站(200)可以被配置為對分組(或包含在其中的數(shù)據(jù))解密,并且根據(jù)不同的加密方案(例如,算法、密鑰等),例如,與內(nèi)部隧道(320)相關(guān)聯(lián)的加密方案,對其產(chǎn)生的對應(yīng)的分組(或包含在其中的數(shù)據(jù))進行加密。額外地或可替換地,接收站(300)可以被配置為根據(jù)與由發(fā)送站(200)對經(jīng)由內(nèi)部隧道(320)傳遞的分組(或包含在其中的數(shù)據(jù))進行加密所利用的加密方案和/或可以對由發(fā)送站(200)接收的分組(或包含在其中的數(shù)據(jù))進行加密的加密方案不同的加密方案,對其產(chǎn)生的對應(yīng)的分組進行加密。
圖2示出示例發(fā)送站200(例如,圖3的發(fā)送站200)的框圖。發(fā)送站200可以包括GTP模塊(210)、一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S玫奶幚砟K(例如,220到280),以及衛(wèi)星接口模塊(290)。GTP模塊(210)可以包括隧道數(shù)據(jù)庫(215)。接收站(例如,諸如圖3的接收站300)可以類似于圖2中所示的發(fā)送站200,其中模塊之間的流被顛倒。例如,在接收站(例如,300)中,流可以是從衛(wèi)星接口模塊到一個或多個處理模塊,從一個或多個處理模塊到GTP模塊,以及從GTP模塊到GTP-U接口)。如先前所描述的,衛(wèi)星調(diào)制解調(diào)器(例如,第一衛(wèi)星調(diào)制解調(diào)器(130)和第二衛(wèi)星調(diào)制解調(diào)器(150)中的任一個)可以至少包括發(fā)送站(例如,200)和接收站(300)。在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為至少包括:可以共用于發(fā)送站(200)和接收站(300)兩者的單個(統(tǒng)一)GTP模塊(210)和單個(統(tǒng)一)隧道數(shù)據(jù)庫(215),其中至少GTP模塊(210)可以經(jīng)配置既作為對應(yīng)的發(fā)送站模塊又作為對應(yīng)的接收站模塊。在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為具有可以共用于發(fā)送站(200)和接收站(300)兩者的統(tǒng)一的應(yīng)用程序?qū)S煤?或協(xié)議專用的模塊(例如,220到280)和/或統(tǒng)一的衛(wèi)星接口模塊(290),其中統(tǒng)一的模塊(unified module)中的每個可以經(jīng)配置既作為對應(yīng)的發(fā)送站模塊又作為對應(yīng)的接收站模塊。因而,在本文中根據(jù)上下文對圖2中所示的模塊的引用可以是指發(fā)送站(200)或接收站(300),除非另外特別指示。
GTP模塊(210)可以被配置為使用隧道數(shù)據(jù)庫(215),用于至少儲存與GTP模塊(210)可以被配置為檢測的一個或多個GTP隧道對應(yīng)的信息的目的。GTP模塊(210)可以被配置為對于一個或多個GTP隧道中的每個,將對應(yīng)于各個GTP隧道的隧道端點標識符(TEID)儲存在隧道數(shù)據(jù)庫(215)中。在一些實施例中,例如,發(fā)送站(200)可以被配置為耦接到多個網(wǎng)絡(luò)設(shè)備(例如,接入點或核心網(wǎng)絡(luò)設(shè)備),其中多個網(wǎng)絡(luò)設(shè)備中的兩個或更多可以對它們的各個GTP隧道使用相同的TEID值。在這樣的實施例中,發(fā)送站(200)的GTP模塊(210)不能僅基于TEID值唯一識別GTP隧道。因此,在這樣的實施例中,用于至少唯一識別一個或多個GTP隧道中的每個的目的,GTP模塊(210)可以被配置為對一個或多個GTP隧道中的至少一個GTP隧道,將可以對應(yīng)于至少一個GTP隧道的額外的信息要素(包含例如,源互聯(lián)網(wǎng)協(xié)議(IP)地址、目的地IP地址、虛擬局域網(wǎng)(VLAN)標識符和/或源UDP端口號)儲存在隧道數(shù)據(jù)庫(215)中。
在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為(例如,從可以耦接到發(fā)送站(200)的第一網(wǎng)絡(luò)設(shè)備(350))接收一個或多個分組,并且確定出可以在GTP隧道(例如,390)中攜帶一個或多個分組中的至少一個。在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為通過確定可以根據(jù)用戶數(shù)據(jù)報協(xié)議(UDP)接收至少一個分組以及至少一個分組可以與目的地UDP端口號2152相關(guān)聯(lián),來確定出可以在GTP隧道(390)中攜帶(例如,一個或多個接收的分組中的)至少一個分組。當確定可以在GTP隧道中攜帶至少一個分組時,發(fā)送站(200)的GTP模塊(210)進一步可以被配置為至少解析對應(yīng)于至少一個分組的(或包含在至少一個分組中的)GTP報頭,并且從對應(yīng)于至少一個分組的GTP報頭中提取至少隧道端點標識符(TEID)。
根據(jù)GTP-U,為了在分別具有對應(yīng)的源IP地址和目的地IP地址(且使用目的地UDP端口號2152)的源GTP端點和目的地GTP端點(例如,接入點和/或核心網(wǎng)絡(luò)設(shè)備)之間建立GTP隧道,可以在GTP端點之間交換回送請求和回送響應(yīng)消息(回送分組)。這些回送分組可以包含無效的隧道端點標識符(例如,它們的TEID可以被設(shè)置為0)。在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為確定所接收的分組是否包含有效的(例如,非零)TEID,并且當確定所接收的分組包含無效的TEID時,確定出所接收的分組可不與任何GTP隧道相關(guān)聯(lián),或可不在任何GTP隧道中攜帶所接收的分組。當確定分組可不與任何GTP隧道相關(guān)聯(lián),或不在任何GTP隧道中攜帶分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為將所接收的分組至少轉(zhuǎn)發(fā)到衛(wèi)星接口模塊(290),同時至少繞過(217)應(yīng)用程序?qū)S玫奶幚砟K(例如,220到280)。因此,發(fā)送站(200)可以被配置為將GTP隧道建立消息(例如,回送分組)至少透明地傳輸?shù)綄?yīng)的接收站(例如,300)。
當從對應(yīng)于至少一個分組的GTP報頭提取TEID時,發(fā)送站(200)的GTP模塊(210)可以進一步被配置為確定至少一個分組是否可以是一個或多個分組中的可以與對應(yīng)于所提取的TEID的GTP隧道相關(guān)聯(lián)的第一分組。發(fā)送站(200)的GTP模塊(210)可被配置為通過從隧道數(shù)據(jù)庫(215)搜索包括對應(yīng)于至少一個分組的TEID值的記錄,來確定(一個或多個所接收的分組中的)至少一個分組是否可以是與GTP隧道相關(guān)聯(lián)的第一分組,其中如果在隧道數(shù)據(jù)庫(215)中沒有發(fā)現(xiàn)包含TEID值的記錄,則至少一個分組可以被確定為是與GTP隧道相關(guān)聯(lián)的第一分組。當確定至少一個分組是與GTP隧道相關(guān)聯(lián)的第一分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為將對應(yīng)于GTP隧道的新的記錄添加到隧道數(shù)據(jù)庫(215),其中新的記錄可以至少包含對應(yīng)于至少一個分組的TEID值。
如先前所提到的,在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為從至少一個分組中提取對應(yīng)于至少一個分組的額外的信息要素,例如,源IP地址、目的地IP地址、虛擬局域網(wǎng)(VLAN)標識符和/或源UDP端口號。在這樣的實施例中,發(fā)送站(200)的GTP模塊(210)還可以被配置為通過從隧道數(shù)據(jù)庫(215)搜索包括TEID值和對應(yīng)于至少一個分組的額外的信息要素中的任一個的值的記錄,來確定(一個或多個所接收的分組中的)至少一個分組是否可以是與GTP隧道相關(guān)聯(lián)的第一分組,其中如果在隧道數(shù)據(jù)庫(215)中不能發(fā)現(xiàn)包含TEID值和額外的信息要素中的任一個的值的記錄,則至少一個分組可以被確定為是與GTP隧道相關(guān)聯(lián)的第一分組。當確定至少一個分組是可以與GTP隧道相關(guān)聯(lián)的第一分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為將對應(yīng)于GTP隧道的新的記錄添加到隧道數(shù)據(jù)庫(215),其中新的記錄可以至少包含TEID值和對應(yīng)于至少一個分組的額外的信息要素中的任一個的值。
此外,當確定(一個或多個所接收的分組中)的至少一個分組可以是與GTP隧道(390)相關(guān)聯(lián)的第一分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為在(例如,第一衛(wèi)星調(diào)制解調(diào)器的)發(fā)送站(200)和(例如,第二衛(wèi)星調(diào)制解調(diào)器的)接收站(300)(的GTP模塊)之間建立內(nèi)部隧道(320),其中內(nèi)部隧道(320)可以對應(yīng)于與至少一個分組對應(yīng)的GTP隧道(390)。在一些實施例中,其中例如系統(tǒng)100可以包括多個接收站(衛(wèi)星調(diào)制解調(diào)器),發(fā)送站(200)的GTP模塊(210)可以被配置為(例如,根據(jù)與至少一個分組相關(guān)聯(lián)的目的地IP地址)確定對應(yīng)于至少一個分組的接收站(衛(wèi)星調(diào)制解調(diào)器),并且與所確定的接收站(300)建立內(nèi)部隧道(320)。在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為通過在連接(例如,第一衛(wèi)星調(diào)制解調(diào)器的)發(fā)送站(200)和(例如,第二衛(wèi)星調(diào)制解調(diào)器的)接收站(300)的鏈路(例如,高延遲鏈路)上發(fā)送會話建立消息,與接收站(300)(的GTP模塊)建立內(nèi)部隧道(320),其中會話建立消息可以包含對應(yīng)于GTP隧道(390)的至少TEID值。當接收GTP會話建立消息時,接收站(300)的GTP模塊可以被配置為將在所接收的GTP會話建立消息中提供的一個或多個會話參數(shù)儲存在隧道數(shù)據(jù)庫(例如,類似于發(fā)送站(200)的隧道數(shù)據(jù)庫(215)或與可以被包括在相同的衛(wèi)星調(diào)制解調(diào)器中的發(fā)送站(200)的隧道數(shù)據(jù)庫(215)統(tǒng)一起來)中。
在一些實施例中,例如,除了對應(yīng)于GTP隧道(390)的TEID值之外,發(fā)送站(200)的GTP模塊(210)可以被配置為將對應(yīng)于(與GTP隧道(390)相關(guān)聯(lián)的至少一個分組)的額外的信息要素包含在會話建立消息中。例如,額外的信息要素可以包含GTP版本指示符(例如,如其可以被包含在至少一個分組的GTP報頭中)、內(nèi)部TEID索引、源IP地址、目的地IP地址、虛擬局域網(wǎng)(VLAN)標識符和/或源UDP端口號。在一些實施例中,在已經(jīng)建立內(nèi)部隧道(320)之后,包含在GTP會話建立消息中的內(nèi)部TEID索引可以由發(fā)送站(200)和/或由接收站(300)使用,例如以引用內(nèi)部隧道(320)或用于減少開銷(報頭大小)??勺⒁獾氖?,信息要素諸如TEID、GTP版本、內(nèi)部TEID索引、源IP地址、目的地IP地址、VLAN標識符和/或源UDP端口可以是恒定的,只要對應(yīng)的GTP隧道(390)可以是開放的,因此,將它們包含在GTP會話建立消息中可以允許對可以經(jīng)由GTP隧道(390)進行傳輸和/或由發(fā)送站(200)和/或接收站(300)進行處理的任何后續(xù)分組進行報頭壓縮。
在一些實施例中,其中可以對內(nèi)部隧道(320)進行加密,會話建立消息可以包含對應(yīng)于被用于對通過內(nèi)部隧道(320)發(fā)送的分組(或包含在其中的數(shù)據(jù))進行加密的加密密鑰的信息。在一些實施例中,可以使用另一個協(xié)議(例如,而不是在會話建立消息中),例如使用發(fā)送站(200)和/或接收站(300)被配置為支持的密鑰交換算法,交換這樣的信息。
在一些實施例中,例如,其中可以與發(fā)送站(200)和/或接收站(300)中的任一個相關(guān)聯(lián)的各種資源(例如,儲存容量、處理能力等)可以是有限的,發(fā)送站(200)和/或接收站(300)可以被配置為支持內(nèi)部隧道(320)的拆除過程。在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為將會話關(guān)閉消息發(fā)送到接收站(300)(的GTP模塊),用于至少拆除內(nèi)部隧道(320)的目的,其中會話關(guān)閉消息可以包括對應(yīng)于將被拆除的內(nèi)部隧道(320)的至少內(nèi)部TEID索引。例如,當確定在預定義的一段時間內(nèi)未接收到與對應(yīng)的GTP隧道(390)相關(guān)聯(lián)的分組,或接收與對應(yīng)的GTP隧道(390)相關(guān)聯(lián)的包括結(jié)束標記的分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為將會話關(guān)閉消息發(fā)送到接收站(300)(的GTP模塊)。當拆除內(nèi)部隧道(例如,320)時,發(fā)送站(200)和/或接收站(300)可以被配置為進一步拆除與對應(yīng)的GTP隧道(390)相關(guān)聯(lián)的會話,包含例如傳輸控制協(xié)議(TCP)連接(例如,通過使用TCP復位)、使用會話初始化協(xié)議(SIP)建立的會話和/或?qū)崟r傳送協(xié)議(RTP)會話。當拆除內(nèi)部隧道(例如,320)時,發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的GTP模塊可以被配置為自隧道數(shù)據(jù)庫(215)刪除對應(yīng)于各個GTP隧道(390)的記錄。
如先前所描述的,發(fā)送站(200)的GTP模塊(210)可以被配置為(例如,從可以耦接到發(fā)送站(200)的第一網(wǎng)絡(luò)設(shè)備(350))接收一個或多個分組,確定一個或多個分組中的至少一個可以在GTP隧道(例如,390)中攜帶,解析對應(yīng)于(或包含在)至少一個分組的GTP報頭,并且從GTP報頭至少提取隧道端點標識符(TEID)。至少基于所提取的TEID(以及在一些實施例中還基于額外的信息要素,如先前所描述的),發(fā)送站(200)的GTP模塊(210)進一步可以被配置為例如或通過與各個接收站(300)建立新的內(nèi)部隧道(例如,如果至少一個分組可以是與對應(yīng)的GTP隧道(例如,390)相關(guān)聯(lián)的一個或多個分組中的第一分組),或通過與已經(jīng)建立的內(nèi)部隧道的關(guān)聯(lián)(例如,如果至少一個分組可不是與對應(yīng)的GTP隧道相關(guān)聯(lián)的第一分組),將至少一個分組與內(nèi)部隧道(例如,320)和/或與內(nèi)部TEID索引相關(guān)聯(lián)。
根據(jù)本公開的方面,當解析對應(yīng)于至少一個分組的GTP報頭時,發(fā)送站(200)的GTP模塊(210)進一步可以被配置為(例如,基于GTP報頭)確定可以與至少一個分組相關(guān)聯(lián)的分組類型,并且如果分組類型與流量分組類型(例如,T-PDU)相關(guān)聯(lián),則解析對應(yīng)于至少一個分組(或包含在至少一個分組中)的協(xié)議數(shù)據(jù)單元(PDU)。當解析對應(yīng)于至少一個分組的PDU時,發(fā)送站(200)的GTP模塊(210)可以被配置為確定可以與至少一個分組相關(guān)聯(lián)的應(yīng)用程序和/或協(xié)議中的任一個,并且例如根據(jù)所確定的應(yīng)用程序和/或協(xié)議,將至少一個分組分類到對應(yīng)于發(fā)送站(200)的協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K(例如,220到280)中的一個的類,包含例如TCP類、基于TCP的HTTP類、域名系統(tǒng)(DNS)類、基于互聯(lián)網(wǎng)協(xié)議的語音(VoIP)類和/或抖動敏感流量類和/或延時敏感流量類。在一些實施例中,基于例如協(xié)議類型(例如,UDP、流控制傳輸協(xié)議(SCTP)或互聯(lián)網(wǎng)控制消息協(xié)議(ICMP))、源IP地址、目的地IP地址、源端口號、目的地端口號、差分服務(wù)代碼點(DSCP)、服務(wù)類型(TOS)標示或VLAN標簽,發(fā)送站(200)的GTP模塊(210)可以被配置為將至少一個分組分類為抖動和/或延時敏感流量類。
當對至少一個分組進行分類時,發(fā)送站(200)的GTP模塊(210)可以被配置為通過從至少一個分組至少移除IP報頭、UDP報頭和/或GTP報頭,并且添加包括對應(yīng)于至少一個分組與其相關(guān)聯(lián)的內(nèi)部隧道(320)的至少內(nèi)部TEID索引的信息塊,從至少一個分組生成對應(yīng)的分組。在一些實施例中,所添加的信息塊還可以包括可以從所移除的報頭中的任一個中提取的額外的信息項,例如,額外的信息項可以包括與對應(yīng)的GTP隧道(390)相關(guān)聯(lián)的分組之間的不同的值。當生成對應(yīng)的分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為例如根據(jù)先前與至少一個分組相關(guān)聯(lián)的類,將對應(yīng)的分組轉(zhuǎn)發(fā)到協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K(例如,220到280)中的任一個,用于至少(例如,根據(jù)相應(yīng)的應(yīng)用程序和/或協(xié)議)進一步處理對應(yīng)的分組的目的。當通過協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K(例如,220到280)中的任一個完成對應(yīng)的分組的任何處理時,發(fā)送站(200)可以被配置為(例如,根據(jù)所述處理)生成分組,并且將分組轉(zhuǎn)發(fā)到發(fā)送站(200)的衛(wèi)星接口模塊(290),用于(例如,通過衛(wèi)星鏈路)傳輸?shù)较鄳?yīng)的接收站(300)。
接收站(300)可以被配置為(例如,經(jīng)由接收站(300)的衛(wèi)星接口)接收由發(fā)送站(200)傳輸?shù)姆纸M,例如,基于包含在分組中且對應(yīng)于內(nèi)部隧道(320)的內(nèi)部TEID索引,將分組與內(nèi)部隧道(320)相關(guān)聯(lián),(例如,根據(jù)與分組相關(guān)聯(lián)的協(xié)議和/或應(yīng)用程序)生成對應(yīng)的分組,(例如,在接收站的GTP模塊處)至少根據(jù)對應(yīng)的分組,例如通過(例如,根據(jù)對應(yīng)于內(nèi)部隧道(320)的GTP隧道(390))重構(gòu)IP報頭、UDP報頭和/或GTP報頭,生成用于傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備(360)的分組,并且使用GTP-U(330)將所述分組傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備(360)。在一些實施例中,由接收站(300)傳輸?shù)降诙W(wǎng)絡(luò)設(shè)備(360)的分組可以類似于由發(fā)送站(200)從第一網(wǎng)絡(luò)設(shè)備(350)接收的至少一個分組(例如,可以存在的任何差異不會影響第一網(wǎng)絡(luò)設(shè)備(350)和第二網(wǎng)絡(luò)設(shè)備(360)之間的GTP隧道(390))。
在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為將GTP隧道報頭壓縮應(yīng)用于與GTP隧道(例如,390)相關(guān)聯(lián)的所接收的分組。將被壓縮的報頭可以包含IP報頭、UDP報頭和/或與GTP隧道(390)相關(guān)聯(lián)的GTP報頭。可以獨立于可以應(yīng)用于經(jīng)由GTP隧道接收的分組的任何額外的報頭壓縮而應(yīng)用GTP隧道報頭壓縮(例如,與GTP隧道相關(guān)聯(lián)的報頭的壓縮),任何額外的報頭壓縮例如與特定協(xié)議和/或應(yīng)用程序相關(guān)聯(lián)的壓縮(例如,TCP報頭壓縮、RTP報頭壓縮等)。
如先前所描述的,當生成對應(yīng)于至少一個所接收的分組的分組時,發(fā)送站(200)的GTP模塊可以被配置為移除IP報頭、UDP報頭和/或GTP報頭,并且添加包括對應(yīng)于與至少一個分組相關(guān)聯(lián)的內(nèi)部隧道的至少內(nèi)部TEID索引的信息塊。所添加的信息塊還可以包括對應(yīng)的分組可以是的GTP隧道報頭壓縮的指示。當生成對應(yīng)的分組時,對應(yīng)的接收站(300)的GTP模塊可以被配置為確定分組是GTP隧道報頭壓縮的,并且重構(gòu)IP報頭、UDP報頭和/或GTP報頭。例如,對于與相應(yīng)的GTP隧道(例如,390)相關(guān)聯(lián)的每個分組,發(fā)送站(200)的GTP模塊和/或接收站(300)的GTP模塊可以是如此配置的,用于至少避免(例如,通過衛(wèi)星鏈路)傳輸IP報頭、UDP報頭和/或GTP報頭的目的。至少用于允許接收站(300)重構(gòu)IP報頭、UDP報頭和/或GTP報頭的目的,發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的對應(yīng)的GTP模塊可以被配置為在建立相應(yīng)的內(nèi)部隧道(例如,320)時,交換對應(yīng)于與相應(yīng)的GTP隧道(例如,390)相關(guān)聯(lián)的至少一個分組的IP報頭、UDP報頭和/或GTP報頭的信息要素,其中這樣的交換可不包含在內(nèi)部隧道(320)的存在期間內(nèi)值會變化的信息要素。在一些實施例中,發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的對應(yīng)GTP模塊可以被配置為根據(jù)可以由發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的對應(yīng)的GTP模塊使用的協(xié)議,交換在內(nèi)部隧道(320)的存在期間中可以不恒定的信息要素。
在一些實施例中,發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的GTP模塊可以被配置為交換與IP報頭(例如,源IP地址、目的地IP地址等)和/或與UDP報頭相關(guān)聯(lián)的信息要素,作為建立內(nèi)部隧道(320)的一部分。除與分組片段相關(guān)聯(lián)的IP報頭信息要素和/或與DSCP相關(guān)聯(lián)的IP報頭信息要素之外,接收站(300)的GTP模塊可以被配置為例如根據(jù)所述交換,重構(gòu)或本地生成與IP報頭和/或UDP報頭相關(guān)聯(lián)的信息要素。在一些實施例中,對于TCP連接和RTP會話,例如,當連接初始化(TCP)或會話建立(RTP)時,發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的GTP模塊可以被配置為每個連接或會話分別交換可以與DSCP相關(guān)聯(lián)的IP報頭信息要素一次。
圖4示出GTP報頭的示例格式。在一些實施例中,發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的GTP模塊可以被配置為交換與GTP報頭相關(guān)聯(lián)的GTP版本和TEID信息要素,例如作為建立內(nèi)部隧道(320)的一部分。接收站(300)的GTP模塊可以被配置為重構(gòu)或本地生成協(xié)議類型(PT)字段、消息類型字段(例如,僅流量PDU分組可以遭受報頭壓縮)、長度字段和/或序列號字段。發(fā)送站(200)的GTP模塊(210)和/或接收站(300)的GTP模塊可以被配置為分別(例如,通過衛(wèi)星鏈路)傳輸和/或接收序列號指示符字段(S)。發(fā)送站(200)的GTP模塊(210)可以被配置為不壓縮GTP報頭(例如,照接收的原樣傳輸它),和/或如果設(shè)置了下一個擴展指示符字段(E)和/或N-PDU指示符字段(PN)(例如,因此將可以由來自發(fā)送站(200)的這些指示符指示的對應(yīng)字段傳輸?shù)浇邮照?300)),則接收站(300)的GTP模塊可以被配置為接收未壓縮的GTP報頭。
在一些實施例中,GTP隧道報頭壓縮可以被應(yīng)用于以下分組:可不與對應(yīng)于一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S媚K(例如,220到280)的一個或多個類中的任一個相關(guān)聯(lián)的分組,例如,可以應(yīng)用于可以不與任何流或連接相關(guān)聯(lián)的分組(例如,沒有落入到一個或多個類中的任一個的ICMP分組、UDP分組等)。發(fā)送站(200)的GTP模塊(210)可以被配置為確定(例如,一個或多個接收的分組中的)至少一個分組可以不與一個或多個所述類中的任一個相關(guān)聯(lián),例如通過將GTP隧道報頭壓縮(例如,如先前所描述的)應(yīng)用于至少一個分組,生成對應(yīng)于至少一個分組的分組,其中對應(yīng)的分組可以包括包括了(例如,對應(yīng)于與至少一個分組相關(guān)聯(lián)的內(nèi)部隧道的)內(nèi)部TEID索引的信息塊、對應(yīng)的分組可以是GTP隧道報頭壓縮的指示,和/或?qū)?yīng)的分組可不與一個或多個所述類中的任一個相關(guān)聯(lián)的指示,并且將對應(yīng)的分組轉(zhuǎn)發(fā)到發(fā)送站(200)的衛(wèi)星接口模塊(290),同時繞過(217)發(fā)送站(200)的協(xié)議專用/應(yīng)用程序?qū)S玫哪K(例如,220到280)。接收站(300)可以被配置為確定經(jīng)由(例如,接收站(300)的)衛(wèi)星接口模塊接收的分組可不與對應(yīng)于接收站(300)的一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K的一個或多個類中的任一個相關(guān)聯(lián),并且將所接收的分組轉(zhuǎn)發(fā)到接收站(300)的GTP模塊,同時繞過(例如,接收站(300)的)所有協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K。GTP模塊可以被配置為確定所接收的分組可以是GTP隧道報頭壓縮的,并且重構(gòu)報頭,如先前所描述的。
在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為例如使用衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)和接收站(300),對封裝在一個或多個GTP隧道內(nèi)部的TCP流量進行加速。
TCP流量的加速可以包含確認的欺騙。例如,第一衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為(例如,從耦接到第一衛(wèi)星調(diào)制解調(diào)器的第一網(wǎng)絡(luò)設(shè)備)接收封裝在第一GTP隧道內(nèi)部的TCP段,并且將用于TCP片的確認傳輸(例如,到第一網(wǎng)絡(luò)設(shè)備),其中第一衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為在可以例如由第一衛(wèi)星調(diào)制解調(diào)器的接收站(300)從TCP段的目的地(例如,從可以耦接到第二衛(wèi)星調(diào)制解調(diào)器的第二網(wǎng)絡(luò)設(shè)備)(例如,通過衛(wèi)星鏈路)接收用于TCP段的對應(yīng)的確認之前,傳輸用于TCP段的確認。由于GTP隧道是單向的,所以用于TCP段的確認可需要在不同于第一GTP隧道(390)的第二GTP隧道上進行發(fā)送。
在一些實施例中,第一衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為(例如,從可以耦接到第一衛(wèi)星調(diào)制解調(diào)器的第一網(wǎng)絡(luò)設(shè)備(350))接收可以被封裝在第一GTP隧道(例如,390)中的TCP SYN段。第一衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為將對應(yīng)于TCP SYN段的TCP連接(會話)與第一GTP隧道相關(guān)聯(lián),其中第一GTP隧道可以是在第一衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的正向GTP隧道,將所述關(guān)聯(lián)儲存在存儲器中(例如,在GTP模塊的隧道數(shù)據(jù)庫中),并且(例如,使用對應(yīng)于第一GTP隧道(例如,390)的第一內(nèi)部隧道(例如,320))將TCP SYN段傳輸?shù)降诙l(wèi)星調(diào)制解調(diào)器。在一些實施例中,如果(例如,在接收TCP SYN段時)尚不存在對應(yīng)于第一GTP隧道的第一內(nèi)部隧道,則第一衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為(例如,與第二衛(wèi)星調(diào)制解調(diào)器的接收站(300))建立對應(yīng)于第一GTP隧道的第一內(nèi)部隧道(例如,如先前所描述的),并且在已經(jīng)建立第一內(nèi)部隧道之后,將TCP SYN段傳輸?shù)降诙l(wèi)星調(diào)制解調(diào)器。第二衛(wèi)星調(diào)制解調(diào)器的接收站(300)可以被配置為(例如,從第一衛(wèi)星調(diào)制解調(diào)器)接收至少TCP SYN段,將對應(yīng)于TCP SYN段的TCP連接(會話)與第一GTP隧道相關(guān)聯(lián),其中第一GTP隧道可以是在第二衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的返回GTP隧道,將所述關(guān)聯(lián)儲存在存儲器中(例如,在GTP模塊的隧道數(shù)據(jù)庫中),并且將TCP SYN段傳輸(例如,到可以耦接到第二衛(wèi)星調(diào)制解調(diào)器的第二網(wǎng)絡(luò)設(shè)備(360))。
第二衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為(例如,從第二網(wǎng)絡(luò)設(shè)備(360))接收可以被封裝在第二GTP隧道中的TCP SYN-ACK,其中TCP SYN-ACK可以對應(yīng)于TCP SYN段。第二衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為將對應(yīng)于TCP SYN-ACK的TCP連接(會話)與第二GTP隧道相關(guān)聯(lián),其中第二GTP隧道可以是在第二衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的正向GTP隧道,將所述關(guān)聯(lián)儲存在存儲器中(例如,在GTP模塊的隧道數(shù)據(jù)庫中),并且(例如,使用對應(yīng)于第二GTP隧道的第二內(nèi)部隧道)將TCP SYN ACK傳輸?shù)降谝恍l(wèi)星調(diào)制解調(diào)器。在一些實施例中,如果(例如,在接收TCP SYN-ACK時)尚不存在對應(yīng)于第二GTP隧道的第二內(nèi)部隧道,則第二衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)可以被配置為(例如,與第一衛(wèi)星調(diào)制解調(diào)器的接收站(300))建立對應(yīng)于第二GTP隧道的第二內(nèi)部隧道,并且在已經(jīng)建立第二內(nèi)部隧道之后,將TCP SYN-ACK傳輸?shù)降谝恍l(wèi)星調(diào)制解調(diào)器。第一衛(wèi)星調(diào)制解調(diào)器的接收站(300)可以被配置為(例如,從第二衛(wèi)星調(diào)制解調(diào)器)接收TCP SYN-ACK,將對應(yīng)于TCP SYN-ACK的TCP連接(會話)與第二GTP隧道相關(guān)聯(lián),其中第二GTP隧道可以是在第一衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的返回GTP隧道,將所述關(guān)聯(lián)儲存在存儲器中(例如,在GTP模塊的隧道數(shù)據(jù)庫中),并且將TCP SYN-ACK傳輸(例如,到第一網(wǎng)絡(luò)設(shè)備(350))。
在一些實施例中,第一衛(wèi)星調(diào)制解調(diào)器和/或第二衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)和/或接收站(300)可以被配置為在轉(zhuǎn)發(fā)TCP SYN段和/或TCP SYN-ACK之前,(例如,通過使用包括在發(fā)送站(200)或接收站(300)中的TCP模塊)修改TCP SYN段和/或TCP SYN-ACK。在這樣的實施例中,修改TCP SYN段和/或TCP SYN-ACK中的任一個可以包括:添加可以被用于為相應(yīng)的TCP連接設(shè)置最大消息大小(MSS)的TCP可選字段,以及如果相同的TCP可選字段可能已經(jīng)存在于TCP SYN段中和/或在TCP SYN-ACK中,則修改相同的TCP可選字段中的至少一者(例如,用于至少為相應(yīng)的TCP連接設(shè)置MSS值的目的)。當修改和/或添加用于為相應(yīng)的TCP連接設(shè)置MSS的TCP可選字段時,發(fā)送站(200)和/或接收站(300)可以被配置為確定可以對應(yīng)于GTP隧道(該GTP隧道對應(yīng)于相應(yīng)的TCP連接)的IP分組的最大傳輸單元(MTU)的大小(例如,單位為八位字節(jié)/字節(jié)),通過從所確定的MTU大小扣除預期的報頭的大小(例如,IP報頭、UDP報頭和/或與GTP-U相關(guān)聯(lián)的GTP報頭的大小,和/或IP報頭和/或與封裝在GTP隧道中的TCP段相關(guān)聯(lián)的TCP報頭的大小)來計算MSS,并且為相應(yīng)的TCP連接將MSS設(shè)置為小于或等于所計算的MSS的值。在一些實施例中,如上所述的為相應(yīng)的TCP連接設(shè)置MSS可以防止(例如,在可以被封裝在對應(yīng)于相應(yīng)的TCP連接的GTP隧道中的多個分組之間的)TCP段的分片,因此,可能使得有發(fā)送站(200)和/或接收站(300)的更簡單的實施例。
一旦已經(jīng)建立(例如,在第一網(wǎng)絡(luò)設(shè)備(350)和第二網(wǎng)絡(luò)設(shè)備(360)之間的)例如端到端的TCP連接,第一衛(wèi)星調(diào)制解調(diào)器和/或第二衛(wèi)星調(diào)制解調(diào)器可以已使TCP連接分別與正向GTP隧道和反向GTP隧道相關(guān)聯(lián)。在端到端TCP連接建立之后,第一衛(wèi)星調(diào)制解調(diào)器和/或第二衛(wèi)星調(diào)制解調(diào)器可以被配置為(例如,從耦接的網(wǎng)絡(luò)設(shè)備)接收對應(yīng)于TCP連接的至少一個TCP段,其中至少一個TCP段可以被封裝在相應(yīng)的衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的正向GTP隧道中,生成用于至少一個TCP段的確認(例如,欺騙的確認),并且將封裝在相應(yīng)的衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的返回GTP隧道中的(欺騙的)確認傳輸(例如,到耦接的網(wǎng)絡(luò)設(shè)備)。此外,第一衛(wèi)星調(diào)制解調(diào)器和/或第二衛(wèi)星調(diào)制解調(diào)器可以被配置為通過衛(wèi)星鏈路(例如,分別從第二衛(wèi)星調(diào)制解調(diào)器和/或第一衛(wèi)星調(diào)制解調(diào)器)接收包括至少一個TCP段(或包含在其中的數(shù)據(jù))的至少一個分組,并且將包含所接收的有效載荷(例如,至少一個TCP段(或包含在其中的數(shù)據(jù)))的分組傳輸?shù)今罱拥较鄳?yīng)的衛(wèi)星調(diào)制解調(diào)器的網(wǎng)絡(luò)設(shè)備,其中分組可以被封裝在相應(yīng)的衛(wèi)星調(diào)制解調(diào)器處用于(例如與至少一個TCP段相關(guān)聯(lián)的)TCP連接的返回隧道中。第一衛(wèi)星調(diào)制解調(diào)器和/或第二衛(wèi)星調(diào)制解調(diào)器還可以被配置為在相應(yīng)的衛(wèi)星調(diào)制解調(diào)器處用于TCP連接的正向GTP隧道中接收用于傳輸?shù)腡CP段的確認,與相應(yīng)的TCP連接相關(guān)聯(lián)地記錄對應(yīng)于所接收的確認的一個或多個值(例如,用于至少管理(TCP)傳輸窗口和/或應(yīng)用流控制的目的),確定丟棄所接收的確認(例如,根據(jù)TCP加速策略),并且丟棄所接收的確認而不將其轉(zhuǎn)發(fā)到相應(yīng)的衛(wèi)星調(diào)制解調(diào)器的衛(wèi)星接口。
在一些實施例中,發(fā)送站(200)的GTP模塊(210)可以被配置為接收包括封裝在第一GTP隧道中的TCP段的分組,將第一分組與對應(yīng)于第一GTP隧道的第一內(nèi)部隧道相關(guān)聯(lián),將第一分組分類為TCP類,(例如,通過應(yīng)用如先前所描述的GTP隧道報頭壓縮)生成對應(yīng)的分組,其中對應(yīng)的分組可以與對應(yīng)于第一內(nèi)部隧道的內(nèi)部TEID索引相關(guān)聯(lián),并且(例如,根據(jù)相關(guān)聯(lián)的分組被分類為的TCP類)將對應(yīng)的分組轉(zhuǎn)發(fā)到發(fā)送站(200)的TCP模塊(220)。在一些實施例中,對應(yīng)的分組可以包括包含在相關(guān)聯(lián)的分組中的至少TCP段。發(fā)送站(200)的TCP模塊(220)可以被配置為接收對應(yīng)的分組,基于對應(yīng)的分組,通過用對應(yīng)于被配置為支持TCP/IP報頭壓縮的協(xié)議的較小的報頭替換對應(yīng)于(例如,可以被包含在對應(yīng)的分組中的)TCP段的IP報頭和/或TCP報頭生成分組,并且將分組轉(zhuǎn)發(fā)到發(fā)送站(200)的衛(wèi)星接口模塊(290)(例如,用于傳輸?shù)较鄳?yīng)的接收站(300))。
在一些實施例中,發(fā)送站(200)的TCP模塊(220)可以被配置為生成用于包含在分組中的TCP段的確認(例如,欺騙的確認),其中(欺騙的)確認可以包含:(欺騙的)確認可以與(例如,對應(yīng)于用于與TCP段相關(guān)聯(lián)的TCP連接的返回(第二)GTP隧道的第二內(nèi)部隧道)相關(guān)聯(lián)的內(nèi)部隧道的指示(例如,內(nèi)部TEID索引),并且(例如,經(jīng)由如先前所描述的發(fā)送站的GTP模塊(210))發(fā)送(欺騙的)確認。在一些實施例中,例如,當(例如,在第一網(wǎng)絡(luò)設(shè)備(350)和第二網(wǎng)絡(luò)設(shè)備(360)之間)建立TCP連接時,發(fā)送站的TCP模塊(220)和/或?qū)?yīng)的接收站(300)的TCP模塊還可以被配置為指示(例如,使用GTP報頭的序列號字段(圖4))在與對應(yīng)于TCP連接的GTP隧道(例如,對應(yīng)于TCP連接的正向GTP隧道和/或返回GTP隧道)內(nèi)部編號(number)與TCP連接相關(guān)聯(lián)的TCP段的請求。發(fā)送站的TCP模塊(220)還可以被配置為確定:TCP段可以與在請求編號一個或多個對應(yīng)的GTP隧道內(nèi)的TCP分組的情況下建立的TCP連接相關(guān)聯(lián),并且生成包括序列號指示(例如,在對應(yīng)的GTP隧道內(nèi)部應(yīng)用編號的指示)的用于TCP段的確認(例如,欺騙的確認)。在這樣的實施例中,發(fā)送站(200)的GTP模塊(210)還可以被配置為(例如,通過確定分組可以包含序列號指示)確定將被封裝在GTP隧道中的分組必須與GTP報頭中的序列號字段一起進行傳輸,并且(例如,當將分組封裝在GTP隧道中或?qū)⒎纸M與(例如,在GTP報頭中的)存在的序列號字段一起進行傳輸時)增加與對應(yīng)的GTP隧道相關(guān)聯(lián)的序列號。在這樣的實施例中,生成用于TCP段的確認(例如,欺騙的確認)可以包括使與對應(yīng)于TCP連接的返回GTP隧道(例如,第二GTP隧道)相關(guān)聯(lián)的序列號遞增一。
此外,接收站(300)的TCP模塊可以被配置為(例如,經(jīng)由接收站(300)的衛(wèi)星接口模塊)接收至少分組,其中分組可以包括TCP段的有效載荷、對應(yīng)于被配置為支持TCP/IP報頭壓縮的協(xié)議的(小的)報頭和對應(yīng)于GTP隧道(390)和/或內(nèi)部隧道(320)的內(nèi)部TEID索引。接收站(300)的TCP模塊還可以被配置為通過(例如,根據(jù)包含在接收的分組中的(小的)報頭)重構(gòu)IP報頭和/或TCP報頭,生成對應(yīng)的分組,并且將對應(yīng)的分組轉(zhuǎn)發(fā)到接收站(300)的GTP模塊。在一些實施例中,接收站(300)的TCP模塊還可以被配置為確定TCP段是否與在請求編號(多個)對應(yīng)的GTP隧道內(nèi)部的TCP分組的情況下建立的TCP連接相關(guān)聯(lián),并且生成對應(yīng)的分組以包含序列號指示。接收站(300)的GTP模塊可以被配置為接收對應(yīng)的分組,(例如,根據(jù)內(nèi)部TEID索引)將對應(yīng)的分組與相應(yīng)的內(nèi)部隧道(320)相關(guān)聯(lián),生成將對應(yīng)的分組封裝在對應(yīng)于內(nèi)部TEID索引的GTP隧道中的分組,其中封裝對應(yīng)的分組可以包含重構(gòu)IP報頭、UDP報頭和/或?qū)?yīng)于第一GTP隧道的GDP報頭,并且將分組傳輸(例如,到耦接的網(wǎng)絡(luò)設(shè)備)。在一些實施例中,接收站(300)的GTP模塊還可以被配置為確定對應(yīng)的分組是否包含序列號指示,并且如果對應(yīng)的分組包含序列號指示,則生成具有在GTP報頭中的序列號字段的對應(yīng)的分組,并且使與對應(yīng)于分組的GTP隧道(例如,第一GTP隧道)相關(guān)聯(lián)的序列號增加一。
在一些實施例中,接收站(300)的TCP模塊可以被配置為處理與GTP隧道相關(guān)聯(lián)的TCP分組(例如,經(jīng)由GTP隧道在對應(yīng)的發(fā)送站(200)處接收的TCP分組)和可以與任何GTP隧道無關(guān)聯(lián)的TCP分組(例如,由在衛(wèi)星鏈路的另一側(cè)處的衛(wèi)星調(diào)制解調(diào)器接收的未封裝的TCP分組)。在這樣的實施例中,當接收分組時,接收站(300)的TCP模塊還可以被配置為確定分組是否包含對應(yīng)于GTP隧道和/或內(nèi)部隧道的內(nèi)部TEID索引,如果分組包含內(nèi)部TEID索引,則將對應(yīng)的分組轉(zhuǎn)發(fā)到接收站(300)的GTP模塊,并且如果分組不包含內(nèi)部TEID索引,則將對應(yīng)的分組傳輸(例如,到耦接的網(wǎng)絡(luò)設(shè)備)。
在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為例如使用衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)和/或接收站(300),對封裝在一個或多個GTP隧道內(nèi)部的HTTP流量進行加速。
封裝在一個或多個GTP隧道內(nèi)部的HTTP流量的加速可以包括預取技術(shù)。例如,預取技術(shù)可以包含預期需要一個或多個對象,并且在用戶應(yīng)用程序發(fā)出一個或多個對象的請求之前,從宿主有一個或多個對象的一個或多個服務(wù)器獲得一個或多個對象。此外,由于常常通過TCP攜帶HTTP流量,所以TCP的加速(例如,如先前所描述的)還可以對HTTP流量進行加速。
參考圖5,用戶網(wǎng)絡(luò)設(shè)備(510)可以(例如,使用一個或多個GTP隧道(520))耦接到面向用戶的站(530),其中面向用戶的站(530)可以是第一衛(wèi)星調(diào)制解調(diào)器(例如,圖1的衛(wèi)星調(diào)制解調(diào)器130)。面向用戶的站(530)可以被配置為例如通過高延遲鏈路(例如,衛(wèi)星鏈路)與面向web的站(550)通信,其中面向web的站(550)可以是第二衛(wèi)星調(diào)制解調(diào)器(例如,圖1的衛(wèi)星調(diào)制解調(diào)器150)。面向web的站(550)可以(例如,使用一個或多個GTP隧道(560))耦接到一個或多個服務(wù)器(570)。在一些實施例中,面向用戶的站(530)和/或面向web的站(550)可以被配置為執(zhí)行先前所描述的方法中的任一個,包含但不限于使用一個或多個對應(yīng)的內(nèi)部隧道(540)通過衛(wèi)星鏈路延伸一個或多個GTP隧道(520、560),將GTP隧道報頭壓縮應(yīng)用于可以經(jīng)由一個或多個GTP隧道(520、560)接收的分組,并且對可以被封裝在一個或多個GTP隧道(520、560)中的TCP流量進行加速。在一些實施例中,面向用戶的站(530)和/或面向web的站(550)可以被配置為例如通過使用預取技術(shù),對封裝在一個或多個GTP隧道(520、560)內(nèi)部的HTTP流量進行加速。
面向用戶的站(530)可以被配置為(例如,從用戶網(wǎng)絡(luò)設(shè)備(510))接收對第一數(shù)據(jù)對象的第一請求(580),其中第一請求(例如,GET)可以被包含在對應(yīng)于超文本傳送協(xié)議(HTTP)并且被封裝在與用戶網(wǎng)絡(luò)設(shè)備(510)相關(guān)聯(lián)的一個或多個GTP隧道(520)的第一GTP隧道中的一個或多個分組中,并且一個或多個GTP隧道(520)的第一GTP隧道可以與第一TEID(例如,TEID X)相關(guān)聯(lián)。面向用戶的站(530)的GTP模塊可以被配置為將一個或多個分組與HTTP流量類(例如,如先前所描述的)相關(guān)聯(lián),并且將一個或多個分組轉(zhuǎn)發(fā)到面向用戶的站(530)的HTTP模塊(例如,圖2中的230)。面向用戶的站(530)的HTTP模塊可以被配置為將對應(yīng)于第一請求的預取會話與一個或多個GTP隧道(520)的第一GTP隧道相關(guān)聯(lián),其中一個或多個GTP隧道(520)的第一GTP隧道可以是用于在面向用戶的站(530)處的預取會話的正向GTP隧道。面向用戶的站(530)的HTTP模塊還可以被配置為將所述關(guān)聯(lián)儲存在存儲器中,并且(例如,使用對應(yīng)于一個或多個GTP隧道(520)的第一GTP隧道的第一內(nèi)部隧道(540))將第一請求(581)傳輸?shù)矫嫦騱eb的站(550)。面向web的站(550)可以被配置為(例如,從面向用戶的站(530)和/或通過第一內(nèi)部隧道(540))接收至少第一請求(581),將對應(yīng)于第一請求(581)的預取會話與和一個或多個服務(wù)器(570)相關(guān)聯(lián)的一個或多個GTP隧道(560)的第一GTP隧道相關(guān)聯(lián),其中一個或多個GTP隧道(560)的第一GTP隧道可以是用于在面向web的站(550)處的預取會話的返回GTP隧道。面向web的站(550)還可以被配置為將所述關(guān)聯(lián)儲存在存儲器中,并且例如通過一個或多個GTP隧道(560)的第一GTP隧道,將第一請求(582)傳輸?shù)今罱拥矫嫦騱eb的站(550)的(例如,一個或多個web服務(wù)器(570)的)web服務(wù)器。
面向web的站(550)可以被配置為(例如,從web服務(wù)器)接收對應(yīng)于第一請求(582)的第一響應(yīng)(583),第一響應(yīng)(583)包括對應(yīng)于超文本傳送協(xié)議(HTTP)并且被封裝在與一個或多個服務(wù)器(570)相關(guān)聯(lián)的一個或多個GTP隧道(560)的第二GTP隧道中的一個或多個分組,其中一個或多個GTP隧道(560)的第二GTP隧道與第二TEID(例如,TEID Y)相關(guān)聯(lián)。在一些實施例中,第一響應(yīng)(583)可以包括200OK響應(yīng)。在一些實施例中,第一響應(yīng)(583)可以包括響應(yīng)于第一請求(582),由web服務(wù)器發(fā)送的另一種類型的響應(yīng)(或確認)。在一些實施例中,第一響應(yīng)(583)可以包含對應(yīng)于第一請求(例如,580、581和582)的第一數(shù)據(jù)對象。
面向web的站(550)的HTTP模塊可以被配置為將對應(yīng)于第一請求的預取會話與和一個或多個服務(wù)器(570)相關(guān)聯(lián)的一個或多個GTP隧道(560)的第二GTP隧道相關(guān)聯(lián),其中一個或多個GTP隧道(560)的第二GTP隧道可以是在面向web的站(550)處用于預取會話的正向GTP隧道。在一些實施例中,例如,由于先前接收對應(yīng)于成為HTTP協(xié)議的基礎(chǔ)的TCP協(xié)議的確認(其中該確認可以例如對應(yīng)于包括第一請求(581)的TCP段),所以在接收第一響應(yīng)(583)之前,面向web的站(550)可以已經(jīng)將預期會話與第二GTP隧道相關(guān)聯(lián)。面向web的站(550)的HTTP模塊還可以被配置為將所述關(guān)聯(lián)儲存在(例如,與面向web的站(550)的HTTP模塊相關(guān)聯(lián)的)存儲器中,并且(例如,使用對應(yīng)于一個或多個GTP隧道(560)的第二GTP隧道的第二內(nèi)部隧道(540))將第一響應(yīng)(584)傳輸?shù)矫嫦蛴脩舻恼?530)。面向用戶的站(530)可以被配置為(例如,從面向web的站(550)和/或通過第二內(nèi)部隧道(540))接收至少第一響應(yīng)(584),并且將對應(yīng)于第一請求(581)的預期會話與和用戶網(wǎng)絡(luò)設(shè)備(510)相關(guān)聯(lián)的一個或多個GTP隧道(520)的第二GTP隧道相關(guān)聯(lián),其中一個或多個GTP隧道(520)的第二GTP隧道可以是用于在面向用戶的站(530)處的預取會話的返回GTP隧道。面向用戶的站(530)還可以被配置為將所述關(guān)聯(lián)儲存在存儲器中,并且例如通過一個或多個GTP隧道(520)的第二GTP隧道,將第一響應(yīng)(585)傳輸?shù)接脩粼O(shè)備(510)。
在第一請求(580)和第一響應(yīng)(583)交換之后,如上所述,面向用戶的站(530)和/或面向web的站(550)可已經(jīng)將對應(yīng)于第一請求和/或第一響應(yīng)的預取會話與在相應(yīng)的站(530、550)中的每個處的對應(yīng)的第一GTP隧道和第二GTP隧道(TEID X和TEID Y)相關(guān)聯(lián)。因此,在所述關(guān)聯(lián)之后,面向用戶的站(530)和/或面向web的站(550)可以使用預取會話,用于至少加速與對應(yīng)于第一請求(580)的第一數(shù)據(jù)對象相關(guān)聯(lián)的一個或多個后續(xù)對象的檢索的目的。在一些實施例中,當面向用戶的站(530)(例如,從用戶網(wǎng)絡(luò)設(shè)備(510))接收對可不與主動的預取會話相關(guān)聯(lián)的數(shù)據(jù)對象的請求時,可以重復在相應(yīng)的站(530、550)中的每個處將預取會話與對應(yīng)的第一GTP隧道和第二GTP隧道(例如,TEID X和TEID Y)相關(guān)聯(lián)的上述方法。
在一些實施例中,當從web服務(wù)器接收第一數(shù)據(jù)對象和/或?qū)⒌谝粩?shù)據(jù)對象(例如,584)發(fā)送到面向用戶的站(530)時,面向web的站(550)的HTTP模塊可以被配置為解析第一數(shù)據(jù)對象,并且確定第一數(shù)據(jù)對象是否包括到與第一數(shù)據(jù)對象相關(guān)聯(lián)的一個或多個額外的數(shù)據(jù)對象的鏈接。當確定第一數(shù)據(jù)對象包括到一個或多個額外的數(shù)據(jù)對象的一個或多個鏈接時,面向web的站(550)的HTTP模塊還可以被配置為將對一個或多個額外的數(shù)據(jù)對象的一個或多個額外的請求(例如,586)發(fā)送到web服務(wù)器(570),其中面向web的站(550)可以被配置為發(fā)送被封裝在與一個或多個服務(wù)器(570)相關(guān)聯(lián)的一個或多個GTP隧道(560)的第一GTP隧道(例如,使用TEID X)中的一個或多個額外的請求(例如,586)。面向web的站(550)的HTTP模塊還可以被配置為接收一個或多個額外的數(shù)據(jù)對象(例如,587)的至少一個數(shù)據(jù)對象,其中一個或多個額外的數(shù)據(jù)對象的至少一個數(shù)據(jù)對象可以被封裝在一個或多個GTP隧道(560)的第二GTP隧道(例如,TEID Y)中,并且使用對應(yīng)于一個或多個GTP隧道(560)的第二GTP隧道的第二內(nèi)部隧道(540),將一個或多個額外的數(shù)據(jù)對象(例如,588)的至少一個數(shù)據(jù)對象傳輸?shù)矫嫦蛴脩舻恼?530)。
當通過第二內(nèi)部隧道(540)接收額外的數(shù)據(jù)對象(例如,588)的至少一個數(shù)據(jù)對象時,面向用戶的站(530)的HTTP模塊可以被配置為將額外的數(shù)據(jù)對象的至少一個數(shù)據(jù)對象與對應(yīng)于第一請求(580)的預取會話相關(guān)聯(lián),并且將所接收的額外的數(shù)據(jù)對象的至少一個數(shù)據(jù)對象儲存在面向用戶的站(530)的存儲器中。面向用戶的站(530)的HTTP模塊還可以被配置為(例如,從用戶網(wǎng)絡(luò)設(shè)備(510)且通過可與用戶網(wǎng)絡(luò)設(shè)備(510)相關(guān)聯(lián)的一個或多個GTP隧道(520)的第一GTP隧道(例如,TEID X))接收對可以與第一對象相關(guān)聯(lián)的一個或多個額外的數(shù)據(jù)對象的一個或多個額外的請求(例如,590),將一個或多個請求與對應(yīng)于第一請求(580)的預取會話相關(guān)聯(lián),確定所請求的一個或多個額外的數(shù)據(jù)對象的至少一個數(shù)據(jù)對象儲存在面向用戶的站(530)的存儲器中,并且例如通過一個或多個GTP隧道(520)的第二GTP隧道(例如,TEID Y),將額外的數(shù)據(jù)對象(例如,591)的至少一個數(shù)據(jù)對象傳輸?shù)接脩艟W(wǎng)絡(luò)設(shè)備(510)。例如,由于自面向用戶的站(530)的存儲器服務(wù)了該請求,所以面向用戶的站(530)的HTTP模塊還可以被配置為丟棄對額外的數(shù)據(jù)對象的至少一個數(shù)據(jù)對象的請求(例如,590),和/或不將其傳輸?shù)矫嫦騱eb的站(550)??沙3_\用HTTP流量的加速,用于至少改善(例如,一個或多個用戶的)瀏覽體驗的目的。在一些實施例中,用于至少改善這樣的瀏覽體驗的目的,可以被封裝在一個或多個GTP隧道內(nèi)部的HTTP流量的加速可以包括緩存技術(shù),例如,封裝在一個或多個GTP隧道內(nèi)部的HTTP流量的緩存。
參考圖5,如先前所描述的,在對第一數(shù)據(jù)對象的第一請求(580)和對應(yīng)于第一請求的第一響應(yīng)(583)的交換之后(例如,其中第一請求和第一響應(yīng)與HTTP會話相關(guān)聯(lián)),面向用戶的站(530)和/或面向web的站(550)可已經(jīng)將HTTP會話在相應(yīng)的站(530、550)的每個處與對應(yīng)的第一GTP隧道和第二GTP隧道(例如,分別TEID X和TEID Y)相關(guān)聯(lián)。在一些實施例中,例如,當在HTTP會話的基礎(chǔ)上建立TCP連接時,可以在第一請求(580)和第一響應(yīng)(583)的交換之前發(fā)生該關(guān)聯(lián)。在所述關(guān)聯(lián)之后,面向用戶的站(530)的GTP模塊可以被配置為(例如,從網(wǎng)絡(luò)用戶設(shè)備(510)且通過可以是用于在面向用戶的站(530)處的HTTP會話的正向GTP隧道的第一GTP隧道)接收對可以與第一數(shù)據(jù)對象相關(guān)聯(lián)的一個或多個數(shù)據(jù)對象的一個或多個后續(xù)請求,并且將一個或多個后續(xù)請求轉(zhuǎn)發(fā)到面向用戶的站(530)的HTTP代理模塊(例如,圖2中的240)。面向用戶的站(530)的HTTP代理模塊可以被配置為接收對于數(shù)據(jù)對象的一個或多個請求,確定對應(yīng)于一個或多個請求中的至少一個的數(shù)據(jù)對象是否被儲存在與HTTP代理模塊相關(guān)聯(lián)的緩存中,并且如果數(shù)據(jù)對象被儲存在緩存中,則生成(例如,對于一個或多個請求中的至少一個的)包括至少一個數(shù)據(jù)對象的響應(yīng)。此外,如果與一個或多個請求中的至少一個相關(guān)聯(lián)的數(shù)據(jù)對象沒有被儲存在緩存中,或如果與一個或多個請求中的至少一個相關(guān)聯(lián)的數(shù)據(jù)對象被儲存在緩存中但可能需要刷新,則面向用戶的站(530)的HTTP代理模塊還可以被配置為將對數(shù)據(jù)對象的一個或多個請求中的至少一個(例如,GET)傳輸(轉(zhuǎn)發(fā))到對應(yīng)的面向web的站(550)。當從對應(yīng)的面向web的站(550)接收對應(yīng)于至少一個轉(zhuǎn)發(fā)的請求的數(shù)據(jù)對象時,面向用戶的站(530)的HTTP代理模塊可以被配置為生成對應(yīng)于至少一個轉(zhuǎn)發(fā)的請求的至少一個響應(yīng)。當生成至少一個響應(yīng)時,面向用戶的站(530)的HTTP代理模塊還可以被配置為檢查對應(yīng)于至少一個響應(yīng)的數(shù)據(jù)對象的一個或多個屬性,并且如果根據(jù)所述檢查數(shù)據(jù)對象符合在緩存中儲存的條件,則將數(shù)據(jù)對象儲存在緩存中。面向用戶的站(530)還可以被配置為例如通過第二GTP隧道(例如,TEID Y)(其可以是用于在面向用戶的站(530)處的HTTP會話的返回GTP隧道),將對應(yīng)于一個或多個后續(xù)請求的一個或多個響應(yīng)傳輸(例如,到用戶網(wǎng)絡(luò)設(shè)備(510))。
流量冗余消除可以被用于至少減少帶寬(容量)消耗的目的,其中流量冗余消除可以包括檢測流量流內(nèi)重現(xiàn)圖案(recurring pattern)。然而,例如,由于未能檢測GTP隧道內(nèi)部不同的流,所以當流量被封裝在GTP隧道內(nèi)部,用于流量冗余消除的常規(guī)方法可能不是有效的。在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為例如使用衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)和/或接收站(300),將流量冗余消除技術(shù)應(yīng)用于封裝在一個或多個GTP隧道內(nèi)部的流量。
在一些實施例中,流量冗余消除可以例如被應(yīng)用于封裝在一個或多個GTP隧道中的TCP流量。發(fā)送站(200)可以被配置為接收封裝在GTP隧道(310)中的一個或多個TCP段,從一個或多個TCP段提取一個或多個有效載荷(例如,如先前所描述的),確定可以與一個或多個TCP段相關(guān)聯(lián)的至少一個流,并且從與至少一個流相關(guān)聯(lián)的有效載荷搜索一個或多個重現(xiàn)圖案。發(fā)送站(200)可以被配置為在至少一個流中檢測至少一個重現(xiàn)圖案,將重現(xiàn)圖案儲存在發(fā)送站(200)的存儲器中,并且向?qū)?yīng)的接收站(300)通知在至少一個流中的至少一個重現(xiàn)圖案。接收站(300)可以被配置為接收包括用于至少一個流的重現(xiàn)圖案的指示,并且將用于至少一個流的至少一個重現(xiàn)圖案儲存在接收站(300)的存儲器中。
此外,發(fā)送站(200)可以被配置為接收封裝在GTP隧道(310)中的一個或多個額外的TCP段,從一個或多個額外的TCP段提取對應(yīng)于至少一個流的一個或多個額外的有效載荷,并且在一個或多個額外的有效載荷中檢測與至少一個流相關(guān)聯(lián)的至少一個重現(xiàn)圖案。當檢測至少一個重現(xiàn)圖案時,發(fā)送站(200)可以被配置為在由重現(xiàn)圖案的較短的表示替換重復出現(xiàn)圖案的情況下,將相應(yīng)的有效載荷發(fā)送到接收站(300)。在一些實施例中,重現(xiàn)圖案的較短的表示可以包括索引和偏移,其中索引可以被用于從與至少一個流相關(guān)聯(lián)的一個或多個儲存的重現(xiàn)圖案中識別重現(xiàn)圖案,并且其中偏移可以被用于指示在對應(yīng)于重現(xiàn)圖案的相應(yīng)的有效載荷內(nèi)的位置(例如,的開始)。接收站(300)可以被配置為檢測較短的表示指示,在接收站(300)的存儲器中搜索對應(yīng)于較短的表示的重現(xiàn)圖案,并且通過用對應(yīng)的重現(xiàn)圖案替換較短的表示重構(gòu)一個或多個對應(yīng)的有效載荷。當重構(gòu)有效載荷時,接收站(300)還可以被配置為恢復對應(yīng)于重構(gòu)的有效載荷的一個或多個TCP報頭,并且傳輸封裝在GTP隧道(330)中的所恢復的TCP段,如先前所描述的。
在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為例如使用衛(wèi)星調(diào)制解調(diào)器的發(fā)送站(200)和/或接收站(300),將專門的處理提供給封裝在一個或多個GTP隧道內(nèi)部的UDP流量。在一些實施例中,可以被專門處理的UDP流量可以包含SIP信令流量、RTP流量、非RTP實時流量(例如,用于蜂窩網(wǎng)絡(luò)的信令、Skype語音流量等),以及非實時流量(例如,DNS查詢和響應(yīng),用于至少啟用DNS緩存的目的)。
發(fā)送站(200)的GTP模塊(210)可以被配置為接收包括封裝在第一GTP隧道中的UDP段的分組,并且將分組與可以對應(yīng)于第一GTP隧道的第一內(nèi)部隧道相關(guān)聯(lián)。在一些實施例中,如果GTP封裝的UDP段對應(yīng)于會話(例如,RTP會話),則可以根據(jù)會話確定分組與第一內(nèi)部隧道(和/或與序列號指示符)的關(guān)聯(lián),可以在發(fā)送站(200)和對應(yīng)的接收站(300)之間建立該會話。發(fā)送站(200)的GTP模塊(210)可以被配置為將分組分類為SIP類、RTP類、實時流量類和/或非實時流量類,(例如,通過應(yīng)用GTP隧道報頭壓縮,如先前所描述的)生成對應(yīng)的分組,其中對應(yīng)的分組可以與對應(yīng)于第一內(nèi)部隧道的內(nèi)部TEID索引相關(guān)聯(lián),并且(例如,根據(jù)與所接收的分組相關(guān)聯(lián)的類)將對應(yīng)的分組轉(zhuǎn)發(fā)到發(fā)送站(200)的VoIP模塊(250)、抖動和延時敏感流量模塊(260)和/或抖動和延時容忍流量模塊(270)。在一些實施例中,對應(yīng)的分組可以包括包含在所接收的分組中的UDP段。發(fā)送站(200)的VoIP模塊(250)、抖動和延時敏感流量模塊(260)和/或抖動和延時容忍流量模塊(270)可以被配置為接收對應(yīng)的分組,以生成包括對應(yīng)于第一內(nèi)部隧道和/或序列號指示符的內(nèi)部TEID索引的分組(例如,在序列號需要由對應(yīng)的接收站(300)進行重構(gòu)的情況下)。在一些實施例中,生成分組可以包括例如根據(jù)壓縮策略或與UDP段相關(guān)聯(lián)的應(yīng)用程序,壓縮UDP段的一個或多個報頭。在一些實施例中,所述壓縮可以包括撤除IP報頭、UDP報頭和/或RTP報頭中的一個或多個,并且用對應(yīng)于與UDP段相關(guān)聯(lián)的應(yīng)用程序的描述符替換它們。發(fā)送站(200)的VoIP模塊(250)、抖動和延時敏感流量模塊(260)和/或抖動和延時容忍流量模塊(270)可以被配置為將分組轉(zhuǎn)發(fā)到發(fā)送站(200)的衛(wèi)星接口模塊(290)(例如,用于傳輸?shù)较鄳?yīng)的接收站(300))。
此外,接收站(300)的VoIP模塊、抖動和延時敏感流量模塊和/或抖動和延時容忍流量模塊可以被配置為(例如,經(jīng)由接收站(300)的衛(wèi)星接口模塊)接收分組,其中分組可以包括UDP段的有效載荷和對應(yīng)于第一內(nèi)部隧道的內(nèi)部TEID索引和/或序列號指示符。接收站(300)的VoIP模塊、抖動和延時敏感流量模塊和/或抖動和延時容忍流量模塊可以被配置為生成對應(yīng)的分組,其中生成對應(yīng)的分組可以包括根據(jù)壓縮策略或與分組相關(guān)聯(lián)的應(yīng)用程序,重構(gòu)一個或多個報頭。在一些實施例中,所述重構(gòu)可以包括根據(jù)包含在分組中的描述符重構(gòu)IP報頭、UDP報頭和/或RTP報頭中的一個或多個。接收站(300)的VoIP模塊、抖動和延時敏感流量模塊和/或抖動和延時容忍流量模塊可以被配置為將對應(yīng)的分組轉(zhuǎn)發(fā)到接收站(300)的GTP模塊。接收站(300)的GTP模塊可以被配置為接收對應(yīng)的分組,(例如,根據(jù)內(nèi)部TEID索引)將對應(yīng)的分組與第一內(nèi)部隧道相關(guān)聯(lián),并且用于生成將對應(yīng)的分組封裝在對應(yīng)于所包含的內(nèi)部TEID索引的GTP隧道(例如,第一GTP隧道)中的分組。在一些實施例中,封裝對應(yīng)的分組可以包括重構(gòu)IP報頭、UDP報頭和/或?qū)?yīng)于第一GTP隧道的GTP報頭(例如,如先前所描述的)。接收站(300)的GTP模塊還可以被配置為將封裝的分組傳輸(例如,到耦接的網(wǎng)絡(luò)設(shè)備)。在一些實施例中,接收站(300)的GTP模塊還可以被配置為確定分組和/或?qū)?yīng)的分組是否包含序列號指示符,并且如果是,則生成在GTP報頭中包括序列號字段的封裝的分組,并且使與GTP隧道相關(guān)聯(lián)的序列號增加一。
在一些實施例中,會話初始化協(xié)議(SIP)消息可以在網(wǎng)絡(luò)設(shè)備(例如,120和160)之間進行交換,用于至少建立一個或多個語音呼叫、視頻呼叫或其它類型的會話的目的。如圖1所示,網(wǎng)絡(luò)設(shè)備(例如,120和160)之間的鏈路可以包括衛(wèi)星鏈路,衛(wèi)星鏈路可以與有限的容量相關(guān)聯(lián)。偶爾,在嘗試建立新的會話時,衛(wèi)星鏈路可能有不足的空閑容量而不能支持新的會話。至少用于避免較差的會話質(zhì)量的問題,在這樣的場合下,以有序的方式拒絕呼叫建立嘗試可以是有利的。在一些實施例中,耦接到網(wǎng)絡(luò)設(shè)備(例如,120、160)的衛(wèi)星調(diào)制解調(diào)器(例如,130、150)可以被配置為確定在衛(wèi)星鏈路上缺乏用于支持新的會話的空閑容量,并且生成終止消息,并且朝向耦接的網(wǎng)絡(luò)設(shè)備傳輸終止消息,用于至少強迫新的會話終止的目的。其中用于會話管理(例如,建立和拆除)的SIP消息被封裝在一個或多個GTP隧道中,衛(wèi)星調(diào)制解調(diào)器可以在第一GTP隧道(例如,用于在衛(wèi)星調(diào)制解調(diào)器處的會話的正向GTP隧道)中從耦接的網(wǎng)絡(luò)設(shè)備接收SIP消息,并且可需要在第二GTP隧道(例如,用于在衛(wèi)星調(diào)制解調(diào)器處的會話的返回GTP隧道)中將終止消息發(fā)送到耦接的網(wǎng)絡(luò)設(shè)備,其中第二GTP隧道可以不同于第一GTP隧道。
(雖然可以通過TCP還有其它傳送協(xié)議支持SIP),但是可以在UDP段中發(fā)送會話初始化協(xié)議(SIP)消息,并且結(jié)果,例如,如先前所述的,在TCP的情況中,將GTP封裝的SIP消息和/或會話與正向GTP隧道和返回GTP隧道相關(guān)聯(lián)可以是不適用的。
耦接到衛(wèi)星調(diào)制解調(diào)器(例如,130、150)的網(wǎng)絡(luò)設(shè)備(例如,120、160)可以使用SIP方法(例如,邀請或寄存器)發(fā)起SIP事務(wù)(會話),并且期望將從SIP對應(yīng)部分接收的SIP響應(yīng)(例如,SIP消息代碼1xx或2xx可以是可用的)。耦接到網(wǎng)絡(luò)設(shè)備的衛(wèi)星調(diào)制解調(diào)器(例如,130、150)可以被配置為從一個或多個SIP消息(例如,SIP方法消息)提取一個或多個IP地址和/或呼叫標識符(ID),并且使用所提取的一個或多個IP地址和/或呼叫ID,用于至少將對應(yīng)于一個或多個SIP消息的SIP會話與用于在衛(wèi)星調(diào)制解調(diào)器處的會話的正向GTP隧道和/或返回GTP隧道相關(guān)聯(lián)的目的。一旦已經(jīng)使SIP會話與在衛(wèi)星調(diào)制解調(diào)器(例如,130、150)處的正向GTP隧道和/或返回GTP隧道相關(guān)聯(lián),如果需要(例如,當確定衛(wèi)星鏈路上缺乏用于支持會話的空閑的容量時),衛(wèi)星調(diào)制解調(diào)器就可以例如通過在對應(yīng)于衛(wèi)星調(diào)制解調(diào)器處的會話的返回GTP隧道上生成和發(fā)送終止消息(例如,“取消”、“再見”或錯誤代碼消息),強迫會話的終止。此外,在一些實施例中,一旦已經(jīng)將SIP會話與在包括在所述衛(wèi)星調(diào)制解調(diào)器(例如,130、150)中的發(fā)送站(200)和接收站(300)兩者處的相應(yīng)的GTP隧道相關(guān)聯(lián),就可以由發(fā)送站(200)和接收站(300)攔截與SIP會話相關(guān)聯(lián)的一個或多個RTP流(例如,用于至少將報頭壓縮應(yīng)用于可以與一個或多個RTP流相關(guān)聯(lián)的分組的目的)。
如上面所指示的,在已經(jīng)建立SIP會話之后,可以建立與SIP會話相關(guān)聯(lián)的一個或多個RTP流,并且在這樣的情況下,可以從SIP會話知道用于攔截一個或多個RTP會話的參數(shù)。在一些實施例中,可以使用協(xié)議而不是SIP(例如,流控制傳輸協(xié)議(SCTP))建立一個或多個RTP流,發(fā)送站(200)和接收站(300)可能不支持解析SIP(例如,流控制傳輸協(xié)議(SCTP))。在這樣的實施例中,除可以單獨地處置RTP流的每個方向之外,發(fā)送站(200)和接收站(300)可以被配置為以類似于處理與SIP會話相關(guān)聯(lián)的流相關(guān)聯(lián)的RTP分組的方式處理RTP分組。對于每個RTP流的每個方向,發(fā)送站(200)和接收站(300)可以被配置為將包括對應(yīng)于相應(yīng)的RTP流的GTP隧道的至少TEID的記錄儲存在存儲器中。此外,發(fā)送站(200)可以被配置為例如通過用描述符替換IP報頭、UDP報頭和/或RTP報頭中的一個或多個,將報頭壓縮應(yīng)用于RTP分組。接收站(300)可以被配置為將從發(fā)送站(200)接收的壓縮的RTP分組與RTP會話相關(guān)聯(lián),根據(jù)RTP會話重構(gòu)一個或多個報頭(例如,IP報頭、UDP報頭和/或RTP報頭),并且根據(jù)與RTP會話相關(guān)聯(lián)的TEID將重構(gòu)的RTP分組封裝在GTP隧道中。
雖然不是所有的實時流都可以使用RTP進行傳輸,但是當被封裝在GTP隧道中時,也需要正確處置這樣的流(例如,以減少延時和/或抖動)。(例如,由發(fā)送站(200)和/或接收站(300))處置這樣的流可以類似于處置不與已知的信令協(xié)議(例如,SIP)相關(guān)聯(lián)的RTP流,例如,可以單獨處置每個這樣的流的每個方向??赡芘c處置RTP流相比處置非RTP流的主要差別可以是與檢測流相關(guān)聯(lián)。由于可以通過不具有額外的報頭(例如,依賴于應(yīng)用程序的報頭)或具有額外的(依賴于應(yīng)用程序的)報頭的UDP攜帶非RTP流,所以使得發(fā)送站(200)和/或接收站(300)不可被配置為解進行析,發(fā)送站(200)和接收站(300)可以被配置為基于預配置的過濾器,檢測非RTP流,其中預配置的過濾器可以包括源IP地址、目的地IP地址、源UDP端口、目的地UDP端口和/或服務(wù)的類型(ToS)或差分服務(wù)代碼點(DSCP)中的一個或多個。發(fā)送站(200)和接收站(300)還可以被配置為壓縮和解壓縮與非RTP流相關(guān)聯(lián)的分組的報頭,其中如果存在UDP報頭,則這樣的壓縮可以包括壓縮IP報頭和/或UDP報頭。
在一些實施例中,衛(wèi)星調(diào)制解調(diào)器可以被配置為實行DNS緩存,其中DNS查詢和/或?qū)?yīng)的DNS響應(yīng)可以被封裝在一個或多個GTP隧道內(nèi)部。
通常,用戶設(shè)備將域名系統(tǒng)(DNS)查詢發(fā)送到DNS服務(wù)器,并且DNS服務(wù)器將對應(yīng)于DNS查詢的DNS答復發(fā)送到用戶設(shè)備。用戶設(shè)備可以使用用于DNS緩存的DNS答復,其中例如,響應(yīng)于后續(xù)DNS查詢,DNS緩存可以是用于改善響應(yīng)時間的過程。因為可以在UDP段中發(fā)送DNS消息(例如,DNS查詢和DNS響應(yīng)),所以用于將GTP封裝的DNS消息和/或會話與正向GTP隧道和返回GTP隧道相關(guān)聯(lián)的方法(例如,如在TCP的情況下先前所描述的)可以是不適用的。
圖6示出用戶網(wǎng)絡(luò)設(shè)備(510)、面向用戶的站(530)、面向web的站(550)和一個或多個服務(wù)器(570),如參考圖5所描述的。用戶網(wǎng)絡(luò)設(shè)備(510)、面向用戶的站(530)、面向web的站(550)和一個或多個服務(wù)器(570)可以使用一個或多個GTP隧道(520、560)和一個或多個對應(yīng)的內(nèi)部隧道(540)耦接,如先前參考圖5描述的。
面向用戶的站(530)可以被配置為(例如,從用戶網(wǎng)絡(luò)設(shè)備(510))接收第一DNS查詢(610)。第一DNS查詢(610)可以被包含在封裝在與用戶網(wǎng)絡(luò)設(shè)備(510)相關(guān)聯(lián)的一個或多個GTP隧道(520)的第一GTP隧道中的一個或多個UDP段中,其中一個或多個GTP隧道(520)的第一GTP隧道可以與第一TEID(例如,TEID X)相關(guān)聯(lián)。面向用戶的站(530)的GTP模塊可以被配置為將一個或多個UDP分組與DNS類相關(guān)聯(lián)(例如,如先前所描述的),并且將一個或多個分組(第一DNS查詢)轉(zhuǎn)發(fā)到面向用戶的站(530)的GTP模塊(例如,圖2中的280)。面向用戶的站(530)的DNS模塊可以被配置為將與第一DNS查詢相關(guān)聯(lián)的一個或多個信息項(例如,目的地IP地址和/或服務(wù)器名字)儲存在存儲器中,并且(例如,使用對應(yīng)于一個或多個GTP隧道(520)的第一GTP隧道的第一內(nèi)部隧道(540))將第一DNS查詢(611)傳輸?shù)矫嫦騱eb的站(550)。
面向web的站(550)可以被配置為(例如,從面向用戶的站(530)和/或通過第一內(nèi)部隧道(540))接收至少第一DNS查詢(611),將第一DNS查詢與可以與一個或多個服務(wù)器(570)相關(guān)聯(lián)的一個或多個GTP隧道(560)的第一GTP隧道相關(guān)聯(lián),將DNS查詢封裝在一個或多個GTP隧道(560)的第一GTP隧道中,并且將第一DNS查詢(612)傳輸?shù)揭粋€或多個web服務(wù)器(570)的DNS服務(wù)器。面向web的站(550)還可以被配置為(例如從DNS服務(wù)器(570))接收對應(yīng)于第一DNS查詢(612)的第一DNS響應(yīng)(620)。第一DNS響應(yīng)(620)可以被包含在被封裝在與一個或多個服務(wù)器(570)相關(guān)聯(lián)的一個或多個GTP隧道(560)的第二GTP隧道中的一個或多個UDP段中,其中一個或多個GTP隧道(560)的第二GTP隧道可以與第二TEID(例如,TEID Y)相關(guān)聯(lián)。面向web的站(550)可以被配置為(例如,使用對應(yīng)于一個或多個GTP隧道(560)的第二GTP隧道的第二內(nèi)部隧道(540))將第一DNS響應(yīng)(621)傳輸?shù)矫嫦蛴脩舻恼?530)。至少用于支持DNS緩存的目的,面向web的站(550)可以被配置為以類似于處理可以是應(yīng)用程序未指明的任何UDP段的方式處理DNS消息(例如,如先前描述的),其中所述處理可以包含GTP隧道報頭壓縮和/或與DNS消息相關(guān)聯(lián)的IP和/或UDP報頭的壓縮。
面向用戶的站(530)的DNS模塊可以被配置為(例如,從面向web的站(550)和/或通過對應(yīng)于一個或多個GTP隧道(520)的第二GTP隧道的第二內(nèi)部隧道(540))接收至少第一DNS響應(yīng),并且將第一DNS響應(yīng)與第一DNS查詢相關(guān)聯(lián),其中所述關(guān)聯(lián)可以包括例如使用與第一DNS查詢相關(guān)聯(lián)的一個或多個信息項,與第一DNS查詢相關(guān)聯(lián)的一個或多個信息項可以先前已經(jīng)被儲存在面向用戶的站(530)的存儲器中。用于至少處理后續(xù)DNS查詢的目的,面向用戶的站(530)可以被配置為從第一DNS響應(yīng)與對應(yīng)的第一DNS查詢的所述關(guān)聯(lián)取得一個或多個GTP隧道(520)的第一GTP隧道(正向GTP隧道)和一個或多個GTP隧道(520)的第二GTP隧道(返回GTP隧道)之間的關(guān)聯(lián),并且將第一GTP隧道和第二GTP隧道之間所取得的關(guān)聯(lián)儲存在例如面向用戶的站(530)的GTP模塊的隧道數(shù)據(jù)庫中。面向用戶的站(530)還可以被配置為根據(jù)一個或多個GTP隧道(520)的第二GTP隧道封裝第一DNS響應(yīng),并且將第一DNS響應(yīng)(622)傳輸(例如,到用戶網(wǎng)絡(luò)設(shè)備(510))。面向用戶的站(530)的DNS模塊還可以被配置為使用至少一個DNS緩存方法,用于至少使用包含在第一DNS查詢和/或第一DNS響應(yīng)中的信息緩存DNS信息的目的。
面向用戶的站(530)可以被配置為(例如,從用戶網(wǎng)絡(luò)設(shè)備(510))接收第二DNS查詢(630),其中第二DNS查詢(630)可以對應(yīng)于與第一DNS查詢(610)相同的域,或?qū)?yīng)于不同的域。第二DNS查詢(630)可以被包含在封裝在與用戶網(wǎng)絡(luò)設(shè)備(510)相關(guān)聯(lián)的一個或多個GTP隧道(520)的第一GTP隧道(例如,TEID X)中的一個或多個UDP分組中。面向用戶的站(530)可以被配置為例如使用面向用戶的站(530)的GTP模塊的隧道數(shù)據(jù)庫,確定一個或多個GTP隧道(520)的第二GTP隧道,其中第二GTP隧道(例如,TEID Y)可以是對應(yīng)于第一GTP隧道(正向GTP隧道)的返回GTP隧道。如果可以確定第二GTP隧道,則面向用戶的站(530)可以被配置為使用至少一個DNS緩存方法,用于至少從DNS緩存檢索DNS信息的目的,使用所檢索的DNS信息生成對應(yīng)于第二DNS查詢(630)的DNS響應(yīng),根據(jù)一個或多個GTP隧道(520)的第二GTP隧道封裝DNS響應(yīng),并且將GTP封裝的DNS響應(yīng)(640)傳輸(例如,到用戶網(wǎng)絡(luò)設(shè)備(510))。如果不可以確定第二GTP隧道,則即使用于與第二DNS查詢相關(guān)聯(lián)的域的DNS信息在與面向用戶的站(530)相關(guān)聯(lián)的DNS緩存中可以是可用的,面向用戶的站(530)也可以被配置為如先前參考第一DNS查詢所描述的處理第二DNS查詢。
根據(jù)3GPP建議(ETSI TS 129 281,段落4.2.2),GTP端點應(yīng)該避免GTP分組(例如,使用GTP-U在GTP端點之間交換的分組)的IP分片,然而沒有絕對禁止GTP分組的IP分片。在一些實施例中,發(fā)送站(200)的GTP模塊和/或接收站(300)的GTP模塊可以被配置為支持通過衛(wèi)星鏈路IP分片的GTP分組的傳送。
如先前所描述的,接收站(300)可以被配置為在由接收站(300)傳輸?shù)今罱拥木W(wǎng)絡(luò)設(shè)備的分組的GTP報頭中重構(gòu)或本地生成至少序列號字段(例如,用于至少通過生成本地(欺騙的)確認加速TCP流量的目的),其中可以需要或請求GTP隧道內(nèi)部分組的編號。序列號字段的這樣的重構(gòu)或本地生成可以導致至少一個GTP分組具有在發(fā)送站端的GTP隧道(例如,310)中的第一序列號值和在接收站端處的GTP隧道(例如,330)中的第二序列號值,其中第一序列號值和第二序列號值可以是不同的。序列號值中的這樣的差異可不會影響常規(guī)的GTP分組,但其可引起IP分片的GTP分組的問題。
IP分片的GTP分組可以包括兩個或更多IP分片,其中對應(yīng)于GTP分組的GTP報頭和UDP報頭可以僅被包含在第一IP分片中,而不在額外的一個或多個IP分片中。因此,例如,可以通過至少將可以被包含在對應(yīng)于(例如,一個或多個額外的IP分片的)IP分片的IP報頭中的標識字段值與可以被包含在對應(yīng)于第一IP分片的IP報頭中的標識字段值(例如,其中包含在IP報頭中的標識字段可以被用于識別IP數(shù)據(jù)報的一組分片)比較,實現(xiàn)一個或多個額外的IP分片的IP分片與GTP隧道的關(guān)聯(lián)。
當接收(例如,一個或多個接收的分組的)至少一個分組時,發(fā)送站(200)的GTP模塊(210)可以被配置為例如通過至少檢驗是否設(shè)置對應(yīng)于至少一個分組的IP報頭中的MF標志(更多分片),確定至少一個分組是否可以是IP分片的GTP分組的第一分片。當確定至少一個分組可以是IP分片的GTP分組的第一分片時,發(fā)送站(200)的GTP模塊(210)可以被配置為從對應(yīng)于至少一個分組的IP報頭提取標識字段,并且在(例如,GTP模塊的)隧道數(shù)據(jù)庫(215)中創(chuàng)建新的記錄,新的記錄包括至少提取的標識字段(和/或?qū)?yīng)于GTP隧道(該GTP隧道對應(yīng)于IP分片的GTP分組)的內(nèi)部TEID索引(例如,基于包括在IP分片的GTP分組的第一分片中的GTP報頭))。當確定至少一個分組可以是IP分片的GTP分組的第一分片時,發(fā)送站(200)的GTP模塊(210)可以被配置為不將GTP隧道報頭壓縮應(yīng)用于至少一個分組,將至少一個分組標示為IP分片的GTP分組的第一分片,并且將(例如,未壓縮的)至少一個分組發(fā)送到對應(yīng)的接收站(300)。
在一些實施例中,當將至少一個分組發(fā)送到對應(yīng)的接收站(300)時,發(fā)送站(200)的GTP模塊(210)還可以被配置為將至少一個分組轉(zhuǎn)發(fā)到發(fā)送站(200)的衛(wèi)星接口模塊(290),同時繞過(217)發(fā)送站的一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K(例如,220到280)(例如,對至少一個分組不給予任何特殊的處理)。當接收至少一個分組時,接收站(300)可以被配置為(例如,通過確定與至少一個分組相關(guān)聯(lián)的第一分片標示)確定至少一個分組可以是IP分片的GTP分組的第一分片,并且將至少一個分組轉(zhuǎn)發(fā)到接收站(300)的GTP模塊,同時繞過接收站(300)的一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K。
(例如,當接收至少一個分組時)接收站(300)的GTP模塊可以被配置為確定至少一個分組是未壓縮的,確定至少一個分組是IP分片的GTP分組的第一分片,并且確定包含在至少一個分組中的GTP報頭中的序列號字段是否可需要被修改。(例如,當確定所述序列號字段不需要修改時)接收站(300)的GTP模塊可以被配置為將至少一個分組發(fā)送(例如,到耦接的網(wǎng)絡(luò)設(shè)備)。(例如,當確定所述序列號字段可需要被修改時)接收站(300)的GTP模塊可以被配置為(例如,根據(jù)與對應(yīng)于至少一個分組的GTP隧道相關(guān)聯(lián)在接收站(300)處的分組計數(shù))修改序列號字段。然而,一旦已經(jīng)修改包含在至少一個分組中的GTP報頭中的序列號字段,可以被包含在至少一個分組中的UDP報頭中的校驗值可不再是正確的。
由于可以由發(fā)送站(200)傳輸和/或由接收站(300)接收的至少一個分組未壓縮,所以當在接收站(300)的GTP模塊處被接收到時,至少一個分組可仍包含IP分片的GTP分組的原始GTP報頭,包含原始序列號值(例如,在上述修改之前)。當修改(例如,可以被包含在至少一個分組中的)GTP報頭中的序列號字段時,接收站(300)的GTP模塊可以被配置為在修改GTP報頭中的序列號字段之前,記錄原始序列號值,(例如,在修改GTP報頭中的序列號字段之后)為可以被包含在至少一個分組中的UDP報頭中的校驗字段計算修改的校驗值,用所計算的修改的校驗值替換UDP報頭中的校驗值,并且將(例如,可以包含修改的GTP序列號和/或修改的UDP校驗的)修改的至少一個分組例如傳輸?shù)今罱拥木W(wǎng)絡(luò)設(shè)備。在一些實施例中,(例如,根據(jù)RFC 1071建議)計算修改的校驗值可以包括(例如,從包含在至少一個分組中的UDP報頭)確定原始校驗值(C),確定原始序列號值(SN)(例如,所記錄的原始序列號),確定修改的序列號值(SN’),并且使用公式C’=C+(SN'-SN)計算校驗值(C’)。
此外,當接收(例如,可不是IP數(shù)據(jù)報的第一分片的)IP分片時,發(fā)送站(200)的GTP模塊(210)可以被配置為使用隧道數(shù)據(jù)庫(215),用于至少確定IP分片是否可以與IP分片的GTP分組相關(guān)聯(lián)的目的,可已經(jīng)為IP分片的GTP分組接收第一分片。發(fā)送站(200)的GTP模塊(210)可以被配置為從對應(yīng)于IP分片的IP報頭的標識字段提取標識值,并且從隧道數(shù)據(jù)庫(215)搜索對應(yīng)于所提取的標識值的記錄。如果對應(yīng)于所提取的標識值的記錄不存在于隧道數(shù)據(jù)庫(215)中,則發(fā)送站(200)的GTP模塊(210)可以被配置為廢棄IP分片。如果對應(yīng)于所提取的標識值的記錄存在于隧道數(shù)據(jù)庫(215)中,則發(fā)送站(200)的GTP模塊(210)可以被配置為將至少一個分組標示為未壓縮的,并且用于將至少一個分組發(fā)送到對應(yīng)的接收站(300)(例如,同時繞過(217)發(fā)送站(200)的一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K(例如,220到280))。當確定IP分片與隧道數(shù)據(jù)庫(215)中的現(xiàn)有的記錄相關(guān)聯(lián)時,發(fā)送站(200)的GTP模塊(210)還可以被配置為(例如,通過確定對應(yīng)于IP分片的IP報頭包含未置位MF標志和非零分片偏移)確定IP分片是否是IP分片的GTP分組的最后一個分片,并且如果IP分片是IP分片的GTP分組的最后一個分片,則從隧道數(shù)據(jù)庫(215)刪除相關(guān)聯(lián)的記錄。當接收IP分片時,接收站(300)可以被配置為確定IP分片是未壓縮的,并且用于將IP分片發(fā)送到耦接的網(wǎng)絡(luò)設(shè)備,同時繞過接收站(300)的一個或多個協(xié)議專用和/或應(yīng)用程序?qū)S玫哪K。
IP分片可以被用于GTP隧道內(nèi)(例如,用于封裝在GTP隧道內(nèi)的分組)??梢杂砂l(fā)送站(200)和/或接收站(300)處置這樣的分片。例如,發(fā)送站(200)可以被配置為發(fā)送分組的分片,而不用應(yīng)用報頭壓縮(例如,在封裝的協(xié)議層級上,但可能使用GTP隧道報頭壓縮),和/或接收站可以被配置為在將分組封裝到相應(yīng)的GTP隧道中之前,由其接收的分片重建分組。
本公開的各個方面可以被體現(xiàn)為一個或多個方法、系統(tǒng)、裝置(例如,衛(wèi)星通信網(wǎng)絡(luò)的部件),和/或計算機程序產(chǎn)品。于是,這些方面可以采取完全硬件實施例、完全軟件實施例、完全固件實施例或組合固件、軟件和/或硬件方面的實施例的形式。此外,這樣的方面可以采取由具有體現(xiàn)于儲存媒體中或上的計算機可讀的程序代碼或指令的一個或多個計算機可讀的儲存媒體儲存的計算機程序產(chǎn)品的形式??梢岳萌魏魏线m的計算機可讀儲存媒體,包括硬盤、CD-ROM、光儲存設(shè)備、磁儲存設(shè)備和/或其任何組合。在一些實施例中,可以使用儲存指令的一個或多個計算機可讀媒體。當執(zhí)行指令時可以致使一個或多個裝置實行本文中所描述的一個或多個動作。一個或多個計算機可讀媒體可以包括暫時和/或非暫時媒體。此外,表示如本文中所描述的數(shù)據(jù)或事件的各種信號可以在源和目的地之間,以經(jīng)過信號傳導媒體諸如金屬線、光纖和/或無線傳輸媒體(例如,空氣和/或空間)的電磁波的形式進行傳送。
可以由本領(lǐng)域中的技術(shù)人員對本文中描述的各種實施例作出修改。例如,可以獨立利用前述實施例的要素中的每個要素,或與其它實施例的要素組合或子組合利用前述實施例的要素中的每個要素。還將了解和理解,可以在不脫離本公開的真實精神和范圍的情況下作出修改。因此,描述被認為對本公開是說明性的而不是限制性的。