在多個(gè)邏輯網(wǎng)絡(luò)連接中優(yōu)先化封裝數(shù)據(jù)包的方法、裝置以及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般來(lái)說(shuō)涉及經(jīng)由多個(gè)邏輯網(wǎng)絡(luò)連接傳送和接收封裝數(shù)據(jù)包,更具體地,涉及允許優(yōu)先化多個(gè)邏輯網(wǎng)絡(luò)連接中的封裝數(shù)據(jù)包。
【背景技術(shù)】
[0002]本領(lǐng)域技術(shù)人員已知的是封裝數(shù)據(jù)包報(bào)頭可用于區(qū)分封裝數(shù)據(jù)包,從而允許網(wǎng)絡(luò)裝置將該封裝數(shù)據(jù)包視為具有高優(yōu)先級(jí)或較重要。現(xiàn)在參考圖2,示出了 IPv4數(shù)據(jù)包報(bào)頭和服務(wù)類(lèi)型域(其被更新為區(qū)分服務(wù)(DifTServ)域)的示例。用于識(shí)別數(shù)據(jù)包的數(shù)據(jù)包標(biāo)記技術(shù)可包括對(duì)互聯(lián)網(wǎng)協(xié)議(IP)報(bào)頭服務(wù)類(lèi)型(TOS)域的區(qū)分服務(wù)代碼點(diǎn)(DSCP)子域進(jìn)行操縱。DiffServ可提供對(duì)網(wǎng)絡(luò)流量以及服務(wù)質(zhì)量(QoS)機(jī)制進(jìn)行分類(lèi)和管理的組網(wǎng)結(jié)構(gòu)。DiffServ域可在網(wǎng)絡(luò)層協(xié)議(例如,IPv4、IPv6和移動(dòng)IPv6)中使用,以關(guān)于數(shù)據(jù)包分類(lèi)和流量調(diào)節(jié)功能(諸如計(jì)量、標(biāo)記、成形和監(jiān)管等)作出逐跳行為(PHB)決策。在圖2中,DSCP域處于封裝數(shù)據(jù)包報(bào)頭的服務(wù)類(lèi)型(ToS)域內(nèi)。DSCP域可提供期望服務(wù)質(zhì)量的抽象參數(shù)的指示。這些參數(shù)可用于在通過(guò)特定網(wǎng)絡(luò)傳送數(shù)據(jù)包時(shí)來(lái)引導(dǎo)對(duì)實(shí)際服務(wù)參數(shù)進(jìn)行選擇。許多網(wǎng)絡(luò)提供服務(wù)優(yōu)先權(quán),其可將高優(yōu)先級(jí)流量視為比其他流量更重要(通常是在高負(fù)荷時(shí)刻僅接受高于特定優(yōu)先權(quán)的流量)。數(shù)據(jù)包的標(biāo)準(zhǔn)化DiffServ域可用一個(gè)值來(lái)標(biāo)記,使得該數(shù)據(jù)包在每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)接受特殊轉(zhuǎn)發(fā)處理或PHB。
[0003]在傳送端網(wǎng)絡(luò)裝置處,期望的是將較高優(yōu)先級(jí)的數(shù)據(jù)包早于較低優(yōu)先級(jí)的數(shù)據(jù)包傳送。
[0004]然而,當(dāng)使用聚合邏輯網(wǎng)絡(luò)連接來(lái)傳送和接收封裝數(shù)據(jù)包時(shí),封裝數(shù)據(jù)包可能未按順序被接收端接收。本領(lǐng)域技術(shù)人員已知的是從封裝數(shù)據(jù)包中解封的數(shù)據(jù)包在被傳送至指定接收方之前應(yīng)當(dāng)被分類(lèi)。本領(lǐng)域技術(shù)人員還已知的是可通過(guò)使用伴隨數(shù)據(jù)包的封裝在封裝數(shù)據(jù)包中的全局序列號(hào)和每一邏輯網(wǎng)絡(luò)連接序列號(hào)來(lái)進(jìn)行分類(lèi)。然而,當(dāng)在接收網(wǎng)絡(luò)裝置處各全局序列號(hào)不按順序時(shí),對(duì)數(shù)據(jù)包進(jìn)行分類(lèi)可導(dǎo)致數(shù)據(jù)包傳送延遲。當(dāng)由于分類(lèi)而導(dǎo)致高優(yōu)先級(jí)數(shù)據(jù)包的傳輸被延遲時(shí),這種延遲的影響大于低優(yōu)先級(jí)數(shù)據(jù)包的傳輸被延遲。
[0005]當(dāng)網(wǎng)絡(luò)裝置傳送或接收封裝數(shù)據(jù)包時(shí),該封裝數(shù)據(jù)包可具有如圖2中示出的通常的IPv4報(bào)頭的數(shù)據(jù)包格式。需要注意的是,在上述描述中,假設(shè)使用圖2中示出的IPv4報(bào)頭。然而,不是必須要使用IPv4報(bào)頭,可使用其他任意協(xié)議(包括IPv6和移動(dòng)IPv6)的數(shù)據(jù)包格式。
【發(fā)明內(nèi)容】
[0006]在網(wǎng)絡(luò)裝置處將數(shù)據(jù)包優(yōu)先化到不同隊(duì)列中。然后,該網(wǎng)絡(luò)裝置選擇多個(gè)邏輯網(wǎng)絡(luò)連接中的一個(gè)來(lái)傳送數(shù)據(jù)包。全局序列號(hào)和優(yōu)先級(jí)序列號(hào)被連同數(shù)據(jù)包嵌入到嵌入數(shù)據(jù)包中。將最高優(yōu)先級(jí)數(shù)據(jù)包早于較低優(yōu)先級(jí)數(shù)據(jù)包傳送。在接收網(wǎng)絡(luò)裝置處,存在用于存儲(chǔ)接收到的嵌入數(shù)據(jù)包的一個(gè)隊(duì)列。接收網(wǎng)絡(luò)裝置基于全局序列號(hào)和優(yōu)先級(jí)序列號(hào)來(lái)確定是將嵌入的數(shù)據(jù)包存儲(chǔ)還是將嵌入在嵌入數(shù)據(jù)包中的數(shù)據(jù)包傳送到預(yù)期接收方。
【具體實(shí)施方式】
[0007]本發(fā)明基于上述情況而做出,并且本發(fā)明的目的是使用優(yōu)先級(jí)隊(duì)列、優(yōu)先等級(jí)和優(yōu)先級(jí)序列號(hào)來(lái)解決上述問(wèn)題。
[0008]主機(jī)可以為計(jì)算裝置、筆記本電腦、移動(dòng)電話、智能電話、臺(tái)式電腦、交換器、路由器或能夠傳送和接收數(shù)據(jù)包的電子裝置。傳送主機(jī)是傳送數(shù)據(jù)包的主機(jī)。傳送主機(jī)還可以是根據(jù)規(guī)則和/或確定的路由從主機(jī)接收數(shù)據(jù)包并之后傳送數(shù)據(jù)包的網(wǎng)絡(luò)裝置。接收主機(jī)是接收數(shù)據(jù)包的主機(jī)。接收主機(jī)還可以是根據(jù)規(guī)則和/或確定的路由從主機(jī)接收數(shù)據(jù)包并之后傳送數(shù)據(jù)包的網(wǎng)絡(luò)裝置。因此,主機(jī)可以是傳送主機(jī)和接收主機(jī)。
[0009]以下描述僅提供優(yōu)選示例性實(shí)施例,并不意在限制本發(fā)明的范圍、應(yīng)用性或構(gòu)造。更確切地,以下優(yōu)選示例性實(shí)施例的描述將向本領(lǐng)域技術(shù)人員提供能夠?qū)嵤┍景l(fā)明的優(yōu)選示例性實(shí)施例的描述。能夠理解的是,在不脫離如所附權(quán)利要求書(shū)中所闡述的本發(fā)明的精神和范圍的情況下,可對(duì)各元件的功能和排列做出各種改變。
[0010]在以下描述中給出了具體細(xì)節(jié)以提供對(duì)實(shí)施例的完整理解。然而,本領(lǐng)域普通技術(shù)人員將要理解的是,可無(wú)需這些具體細(xì)節(jié)來(lái)實(shí)施實(shí)施例。例如,為避免不必要的細(xì)節(jié)模糊實(shí)施例,可以框圖來(lái)示出各電路。在其他情況下,可在沒(méi)有不必要的細(xì)節(jié)的情況下來(lái)示出公知的電路、處理、算法、結(jié)構(gòu)和技術(shù),以免模糊實(shí)施例。
[0011]此外,需要注意的是,實(shí)施例可被描述為以流程圖、流程示意圖、數(shù)據(jù)流程示意圖、結(jié)構(gòu)圖或框圖示出的處理。盡管流程圖可將多個(gè)操作描述為順序處理,但是可以并行或同時(shí)執(zhí)行許多操作。此外,操作的次序可以被重新排列。當(dāng)其操作完成時(shí),處理結(jié)束,但是該處理可能具有未包括在附圖中的額外步驟。處理可對(duì)應(yīng)于方法、函數(shù)、過(guò)程、子例程、子程序等。當(dāng)處理對(duì)應(yīng)于函數(shù)時(shí),其結(jié)束對(duì)應(yīng)于函數(shù)返回至調(diào)用函數(shù)或主函數(shù)。
[0012]此外,如本文所公開(kāi)的,術(shù)語(yǔ)“存儲(chǔ)介質(zhì)”或“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”可表示用于存儲(chǔ)數(shù)據(jù)的一種或多種裝置,包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁性RAM、Flash、非易失性核心存儲(chǔ)器、磁盤(pán)存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃速存儲(chǔ)裝置和/或用于存儲(chǔ)信息的其他機(jī)器可讀介質(zhì)。術(shù)語(yǔ)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”包括但不限于便攜式或固定存儲(chǔ)裝置、光存儲(chǔ)裝置、無(wú)線信道和能夠存儲(chǔ)、包含或運(yùn)載指令和/或數(shù)據(jù)的各種其他介質(zhì)。隊(duì)列可通過(guò)存儲(chǔ)介質(zhì)中的一個(gè)區(qū)段或多個(gè)區(qū)段來(lái)實(shí)現(xiàn)。
[0013]此外,可通過(guò)硬件、軟件、固件、中間件、微碼、硬件描述語(yǔ)言或其任意組合來(lái)實(shí)現(xiàn)實(shí)施例。當(dāng)采用軟件、固件、中間件或微碼來(lái)實(shí)現(xiàn)時(shí),執(zhí)行必要任務(wù)的程序代碼或代碼片段可存儲(chǔ)在諸如存儲(chǔ)介質(zhì)之類(lèi)的機(jī)器可讀介質(zhì)中。處理單元可執(zhí)行必要的任務(wù)。處理單元是CPU、ASIC半導(dǎo)體芯片、半導(dǎo)體芯片、邏輯單元、數(shù)字處理器、模擬處理器、FPGA或能夠執(zhí)行邏輯運(yùn)算功能的任意處理器。代碼片段可表示過(guò)程、功能、子程序、程序、例程、子例程、模塊、軟件包、類(lèi)、或指令、數(shù)據(jù)結(jié)構(gòu)或程序語(yǔ)句的任意組合。代碼片段可通過(guò)傳遞和/或接收信息、數(shù)據(jù)、命令行參數(shù)(arguments)、參數(shù)或存儲(chǔ)器內(nèi)容來(lái)與另一代碼片段或硬件電路耦接。信息、命令行參數(shù)、參數(shù)、數(shù)據(jù)等可被經(jīng)由任意適當(dāng)手段(包括存儲(chǔ)器共享、信息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)?傳遞、轉(zhuǎn)發(fā)。
[0014]網(wǎng)絡(luò)裝置能夠外發(fā)屬于聚合邏輯網(wǎng)絡(luò)連接的封裝數(shù)據(jù)包以及接收屬于聚合邏輯網(wǎng)絡(luò)連接的封裝數(shù)據(jù)包。為了容易理解,當(dāng)網(wǎng)絡(luò)裝置傳送封裝數(shù)據(jù)包時(shí),該網(wǎng)絡(luò)裝置被定義為VPN發(fā)送端裝置,而當(dāng)網(wǎng)絡(luò)裝置接收屬于聚合邏輯網(wǎng)絡(luò)連接的封裝數(shù)據(jù)包時(shí),該網(wǎng)絡(luò)裝置被定義為VPN接收端裝置。因此,網(wǎng)絡(luò)裝置103和105可以同時(shí)為VPN發(fā)送端裝置和VPN接收端裝置。
_5] 聚合邏輯網(wǎng)絡(luò)連接
[0016]圖1示出了可經(jīng)由多個(gè)邏輯網(wǎng)絡(luò)連接將兩個(gè)網(wǎng)絡(luò)連接到一起的網(wǎng)絡(luò)環(huán)境。相同的網(wǎng)絡(luò)環(huán)境還可被用來(lái)經(jīng)由多個(gè)邏輯網(wǎng)絡(luò)連接將三個(gè)或更多的網(wǎng)絡(luò)連接??稍诒景l(fā)明中采用的第2層網(wǎng)絡(luò)協(xié)議包括以太網(wǎng)、令牌環(huán)、幀中繼、PPP、X.25和ATM??稍诒景l(fā)明中采用的第3層網(wǎng)絡(luò)協(xié)議包括互聯(lián)網(wǎng)協(xié)議(IP)版本4、IPv6、移動(dòng)IPv4、移動(dòng)IPv6等。
[0017]計(jì)算裝置1laUOlb和1lc連接到交換機(jī)107并且處于同一網(wǎng)絡(luò)中。計(jì)算裝置102a、102b和102c連接到交換機(jī)106并且處于同一網(wǎng)絡(luò)中。為了讓計(jì)算裝置101a、1lb和1lc感知到好似計(jì)算裝置102a、102b和102c處于同一 OSI第2層或第3層網(wǎng)絡(luò)(包括同一以太網(wǎng)絡(luò)或同一 IP網(wǎng)絡(luò)),必須在計(jì)算裝置101a、101b、101c、102a、102b和102c之間建立虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)。網(wǎng)絡(luò)裝置103和網(wǎng)絡(luò)裝置105可以為路由器。網(wǎng)絡(luò)裝置103和網(wǎng)絡(luò)裝置105 —同通過(guò)互聯(lián)網(wǎng)104在交換機(jī)107和交換機(jī)106之間建立邏輯網(wǎng)絡(luò)連接。交換機(jī)可以合并有路由器,從而形成能夠?qū)⒍鄠€(gè)聯(lián)網(wǎng)裝置和/或計(jì)算裝置連接的聯(lián)網(wǎng)裝置以及形成一個(gè)或多個(gè)VPN。例如,交換機(jī)107可合并有網(wǎng)絡(luò)裝置103。
[0018]當(dāng)計(jì)算裝置102a傳送數(shù)據(jù)包至計(jì)算裝置1la時(shí),計(jì)算裝置102a將該數(shù)據(jù)包傳送至交換機(jī)106。然后,交換機(jī)106經(jīng)由網(wǎng)絡(luò)鏈接121c將該數(shù)據(jù)包傳送至網(wǎng)絡(luò)裝置105。網(wǎng)絡(luò)裝置105將該數(shù)據(jù)包封裝到一個(gè)或多個(gè)封裝數(shù)據(jù)包中,之后利用多個(gè)邏輯網(wǎng)絡(luò)連接中的一個(gè)將該一個(gè)或多個(gè)封裝數(shù)據(jù)包通過(guò)互聯(lián)網(wǎng)104傳送至網(wǎng)絡(luò)裝置103。通過(guò)將多個(gè)邏輯網(wǎng)絡(luò)連接進(jìn)行聚合將網(wǎng)絡(luò)連接來(lái)形成聚合邏輯網(wǎng)絡(luò)連接。邏輯網(wǎng)絡(luò)連接可使用面向連接的協(xié)議(諸如傳輸控制協(xié)議(TCP))、或無(wú)連接協(xié)議(諸如用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP))來(lái)傳送封裝數(shù)據(jù)包。用于部署邏輯網(wǎng)絡(luò)連接的公知協(xié)議包括第2層隧道協(xié)議(L2TP)、安全外殼(SSH)協(xié)議、多協(xié)議標(biāo)簽交換(MPLS)和微軟的點(diǎn)對(duì)點(diǎn)隧道協(xié)議(PPTP)。邏輯網(wǎng)絡(luò)連接還被稱(chēng)為隧道。通過(guò)使用網(wǎng)絡(luò)訪問(wèn)鏈接120a、120b和120c中的一個(gè)、網(wǎng)絡(luò)訪問(wèn)鏈接121a、121b中的一個(gè)以及互聯(lián)網(wǎng)104來(lái)建立網(wǎng)絡(luò)裝置103和網(wǎng)絡(luò)裝置105之間的邏輯網(wǎng)絡(luò)連接。網(wǎng)絡(luò)訪問(wèn)鏈接120a、120b和120c分別通過(guò)三個(gè)網(wǎng)絡(luò)接口連接至網(wǎng)絡(luò)裝置103。類(lèi)似地,網(wǎng)絡(luò)訪問(wèn)鏈接121a和121b分別通過(guò)兩個(gè)網(wǎng)絡(luò)接口連接至網(wǎng)絡(luò)裝置105。網(wǎng)絡(luò)訪問(wèn)鏈接是光纖、以太網(wǎng)、六了]\1、幀中繼、1'1/^1、1?¥4、1?¥6、無(wú)線技術(shù)、1丨^、1丨]\&?、高速分組接入、36??長(zhǎng)期演化(LTE)等的形式。
[0019]在聚合邏輯網(wǎng)絡(luò)連接中,可經(jīng)由聚合邏輯網(wǎng)絡(luò)連接的不同邏輯網(wǎng)絡(luò)連接來(lái)傳送和接收屬于會(huì)話、表達(dá)或應(yīng)用的數(shù)據(jù)包。從會(huì)話、表達(dá)或應(yīng)用的角度看來(lái),多個(gè)邏輯網(wǎng)絡(luò)連接表現(xiàn)得像單個(gè)邏輯網(wǎng)絡(luò)連接。聚合邏輯網(wǎng)絡(luò)連接也被稱(chēng)作聚合隧道或結(jié)合VPN。
[0020]當(dāng)網(wǎng)絡(luò)裝置103經(jīng)由聚合邏輯網(wǎng)絡(luò)連接中的邏輯網(wǎng)絡(luò)連接而從網(wǎng)絡(luò)裝置105接收到一個(gè)或多個(gè)封裝數(shù)據(jù)包時(shí),網(wǎng)絡(luò)裝置103將該一個(gè)或多個(gè)封裝數(shù)據(jù)包解封以提取數(shù)據(jù)包并且之后經(jīng)由網(wǎng)絡(luò)鏈接120d和交換機(jī)107將數(shù)據(jù)傳回指定的計(jì)算裝置,S卩,計(jì)算裝置101a。
[0021]數(shù)據(jù)包格式
[0022]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的屬于封裝數(shù)據(jù)包的圖2的數(shù)據(jù)域203的格式和有效負(fù)荷的示例。封裝數(shù)據(jù)包是封裝了作為第二層數(shù)據(jù)包或第三層數(shù)據(jù)包的數(shù)據(jù)包的封裝數(shù)據(jù)包。數(shù)據(jù)包被封裝在數(shù)據(jù)域301中。全局序列號(hào)(GSEQ)域305、邏輯網(wǎng)絡(luò)連接序列號(hào)(TSEQ)域304、優(yōu)先級(jí)序列號(hào)(PSEQ)域303、其他選項(xiàng)域302和數(shù)據(jù)域301 —起形成封裝數(shù)據(jù)包的有效負(fù)荷,即數(shù)據(jù)域203。數(shù)據(jù)包的優(yōu)先等級(jí)也存儲(chǔ)在封裝數(shù)據(jù)包中的有效負(fù)荷中,并且可由兩位或更多位來(lái)表示。GSEQ、TSEQ、PSEQ和優(yōu)先等級(jí)的排序無(wú)需遵循圖3的實(shí)施例。其他排序是有效的,只要封裝數(shù)據(jù)包的接收網(wǎng)絡(luò)裝置能夠識(shí)別GSEQ、TSEQ、PSEQ和優(yōu)先等級(jí)即可。根據(jù)本發(fā)明的一