專利名稱:報(bào)文轉(zhuǎn)發(fā)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及報(bào)文轉(zhuǎn)發(fā)方法及裝置。
背景技術(shù):
在路由器的報(bào)文轉(zhuǎn)發(fā)流程中,需要在網(wǎng)際協(xié)議(IP)層根據(jù)IP流量參數(shù)對報(bào)文進(jìn)行分類和帶寬管理。按照對時(shí)延要求的不同,報(bào)文通常被分成兩大類具有低時(shí)延要求的低時(shí)延隊(duì)列(LLQ)報(bào)文和無低時(shí)延要求的數(shù)據(jù)隊(duì)列(DQ)報(bào)文。在鏈路沒有出現(xiàn)擁塞的情況下,可以直接將報(bào)文發(fā)送出去;如果鏈路出現(xiàn)擁塞,則需要進(jìn)行排隊(duì)處理,將LLQ報(bào)文放入LLQ隊(duì)列排隊(duì),將DQ報(bào)文放入DQ隊(duì)列排隊(duì)。所述鏈路出現(xiàn)擁塞是指,LLQ隊(duì)列和DQ隊(duì)列中的報(bào)文總數(shù)不為0。
通常,在鏈路出現(xiàn)擁塞的情況下,報(bào)文需要經(jīng)過兩級排隊(duì)處理,即IP層排隊(duì)和物理層排隊(duì)。圖1示出了采用兩級排隊(duì)算法的報(bào)文轉(zhuǎn)發(fā)流程示意圖,其中,IP層排隊(duì)系統(tǒng)位于IP層,主要用于對IP層的流量進(jìn)行分類和帶寬管理,如為不同子網(wǎng)的流量保證不同的帶寬;物理層隊(duì)列位于鏈路層和物理層之間,用于緩存物理發(fā)送失敗的報(bào)文,該隊(duì)列不存在分類和調(diào)度算法,只是簡單地按照先入先出的原則對報(bào)文進(jìn)行順序排隊(duì)。IP層排隊(duì)系統(tǒng)包括LLQ隊(duì)列和DQ隊(duì)列,其中,LLQ隊(duì)列的優(yōu)先級較高,用于緩存實(shí)時(shí)語音報(bào)文等低時(shí)延業(yè)務(wù);DQ隊(duì)列的優(yōu)先級較低,用于緩存數(shù)據(jù)報(bào)文等無低時(shí)延要求的業(yè)務(wù)。數(shù)據(jù)流在進(jìn)入IP層排隊(duì)系統(tǒng)之前,被流分類模塊分流,其中,實(shí)時(shí)語音報(bào)文等低時(shí)延業(yè)務(wù)被打上LLQ標(biāo)志,并進(jìn)入LLQ隊(duì)列;其它沒有低時(shí)延要求報(bào)文被打上DQ標(biāo)志,并進(jìn)入DQ隊(duì)列。
在報(bào)文進(jìn)入隊(duì)列之前,首先需要進(jìn)行入隊(duì)列計(jì)算,即判斷報(bào)文是否符合入隊(duì)的條件,如果符合,則執(zhí)行入隊(duì)列操作,將報(bào)文放入隊(duì)列中排隊(duì);如果不符合,則將報(bào)文直接丟棄。比如,路由器分配給子網(wǎng)1的帶寬為2M,分配給子網(wǎng)2的帶寬為3M,那么,當(dāng)路由器接收到來自子網(wǎng)1的報(bào)文后,如果發(fā)現(xiàn)子網(wǎng)1目前所使用的帶寬已經(jīng)達(dá)到了2M,則路由器會(huì)直接丟棄該報(bào)文,而不予入隊(duì)。隊(duì)列中的報(bào)文在出隊(duì)前,同樣需要先進(jìn)行預(yù)出隊(duì)操作,即判斷報(bào)文是否符合出隊(duì)的條件,如果符合,才真正出隊(duì);如果不符合,則繼續(xù)在隊(duì)列中排隊(duì)。比如,路由器整體限速10M,那么,在報(bào)文出隊(duì)前,需要判斷路由器目前已使用的資源是否已經(jīng)達(dá)到了10M,如果已經(jīng)達(dá)到,則報(bào)文繼續(xù)在隊(duì)列中排隊(duì);反之,則可以將報(bào)文發(fā)送出去。
可見,在圖1所示的排隊(duì)系統(tǒng)中,只要鏈路出現(xiàn)擁塞,符合入隊(duì)條件的LLQ報(bào)文和DQ報(bào)文就必須進(jìn)入相應(yīng)的隊(duì)列中排隊(duì)。但是,真正進(jìn)入隊(duì)列排隊(duì)的操作過程實(shí)現(xiàn)較為復(fù)雜,會(huì)消耗一定的時(shí)間。對于對時(shí)延要求較高的LLQ報(bào)文來說,進(jìn)入LLQ隊(duì)列排隊(duì)的過程將會(huì)產(chǎn)生較大的時(shí)延,使得實(shí)時(shí)語音報(bào)文等低時(shí)延業(yè)務(wù)的時(shí)延要求無法得到滿足。
圖2示出了鏈路擁塞情況下的另一報(bào)文轉(zhuǎn)發(fā)流程。在圖2中,通過一級排隊(duì)系統(tǒng)來實(shí)現(xiàn)兩級排隊(duì)的功能,該排隊(duì)系統(tǒng)同時(shí)承載了IP流量帶寬控制和物理擁塞緩存這兩種功能。參見圖2所示,該排隊(duì)系統(tǒng)位于鏈路層和物理層之間,包括LLQ隊(duì)列和DQ隊(duì)列,與圖1類似,LLQ報(bào)文在發(fā)送之前首先必須在LLQ隊(duì)列中排隊(duì)等待調(diào)度,在獲得調(diào)度后,如果發(fā)送失敗,則被反壓入LLQ隊(duì)列緩存。
可見,在圖2所示的排隊(duì)系統(tǒng)中,LLQ報(bào)文同樣需要進(jìn)入LLQ隊(duì)列排隊(duì),從而造成轉(zhuǎn)發(fā)時(shí)延的增加,無法滿足LLQ報(bào)文的低時(shí)延要求。并且,由于隊(duì)列管理是基于網(wǎng)絡(luò)層IP報(bào)文信息進(jìn)行的,而圖2中的排隊(duì)系統(tǒng)又位于鏈路層之下,因此,這必然導(dǎo)致排隊(duì)系統(tǒng)的處理與鏈路層的強(qiáng)耦合,增加排隊(duì)系統(tǒng)的實(shí)現(xiàn)復(fù)雜度。比如,參見圖3所示的鏈路層報(bào)文格式,如果排隊(duì)系統(tǒng)要識別報(bào)文的IP地址信息,則首先必須從鏈路層報(bào)文中解析出IP頭,由于路由器設(shè)備存在多種鏈路層形態(tài),因此這就要求排隊(duì)系統(tǒng)能夠識別多種鏈路層頭。另外,如果鏈路層對報(bào)文進(jìn)行了分片,那么就要求排隊(duì)系統(tǒng)能夠感知鏈路層分片,并且需要識別哪些分片來源于同一個(gè)報(bào)文。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種報(bào)文轉(zhuǎn)發(fā)方法及裝置,降低低時(shí)延業(yè)務(wù)的報(bào)文轉(zhuǎn)發(fā)時(shí)延。
為達(dá)到上述目的,本發(fā)明提供的一種報(bào)文轉(zhuǎn)發(fā)方法如下在鏈路出現(xiàn)擁塞的情況下,接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
其中,所述判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件包括先判斷LLQ隊(duì)列是否為空,如果為空,則繼續(xù)判斷該LLQ報(bào)文是否符合入隊(duì)條件;或者,先判斷所述LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則繼續(xù)判斷LLQ隊(duì)列是否為空。
該方法進(jìn)一步包括在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但LLQ隊(duì)列不為空后,將收到的LLQ報(bào)文放入LLQ隊(duì)列;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入LLQ隊(duì)列。
所述LLQ隊(duì)列至少包括兩級子LLQ隊(duì)列;所述判斷LLQ隊(duì)列是否為空包括判斷各級子LLQ隊(duì)列是否都為空,如果都為空,則確定LLQ隊(duì)列為空。
本發(fā)明還提供了另一種報(bào)文轉(zhuǎn)發(fā)方法,適用于鏈路出現(xiàn)擁塞并且包含IP層排隊(duì)系統(tǒng)和物理層隊(duì)列兩級排隊(duì)系統(tǒng)的場景,所述IP層排隊(duì)系統(tǒng)包括IP LLQ和IP DQ,該方法包括在物理層隊(duì)列中設(shè)置用于緩存LLQ報(bào)文的物理LLQ以及用于緩存DQ報(bào)文的物理DQ,并且物理LLQ的優(yōu)先級高于物理DQ的優(yōu)先級;該方法進(jìn)一步包括接收到LLQ報(bào)文后,判斷IP LLQ和物理LLQ是否都為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果IP LLQ和物理LLQ都為空且符合入隊(duì)條件,則判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
其中,所述判斷IP LLQ和物理LLQ是否都為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件包括先判斷IPLLQ和物理LLQ是否都為空,如果都為空,則繼續(xù)判斷該LLQ報(bào)文是否符合入隊(duì)條件;或者,先判斷所述LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則繼續(xù)判斷IPLLQ和物理LLQ是否都為空。
該方法進(jìn)一步包括在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但I(xiàn)P LLQ和物理LLQ不都為空后,將收到的LLQ報(bào)文放入IP LLQ;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入IP LLQ。
所述將該LLQ報(bào)文發(fā)送出去之后進(jìn)一步包括如果發(fā)送失敗,則將該LLQ報(bào)文反壓入物理LLQ。
另外,本發(fā)明還提供了一種報(bào)文轉(zhuǎn)發(fā)裝置,適用于鏈路出現(xiàn)擁塞的場景。該裝置包括報(bào)文接收單元和報(bào)文轉(zhuǎn)發(fā)單元,其中,報(bào)文接收單元,用于接收LLQ報(bào)文,并將收到的LLQ報(bào)文發(fā)送給報(bào)文轉(zhuǎn)發(fā)單元;報(bào)文轉(zhuǎn)發(fā)單元,用于在接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
較佳地,所述報(bào)文轉(zhuǎn)發(fā)單元包括判斷單元和直通單元,其中,判斷單元,用于在接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并在判斷出LLQ隊(duì)列為空后,將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給直通單元;直通單元,用于在收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合入隊(duì)條件和出隊(duì)條件,如果都符合,則直接將該LLQ報(bào)文發(fā)送出去。
較佳地,所述報(bào)文轉(zhuǎn)發(fā)單元包括入隊(duì)判斷單元、隊(duì)列狀態(tài)判斷單元和預(yù)出隊(duì)判斷單元,其中,入隊(duì)判斷單元,用于在接收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給隊(duì)列狀態(tài)判斷單元;隊(duì)列狀態(tài)判斷單元,用于在收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并在判斷出LLQ隊(duì)列為空后,將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給預(yù)出隊(duì)判斷單元;預(yù)出隊(duì)判斷單元,用于在收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合出隊(duì)條件,如果符合,則將收到的LLQ報(bào)文直接發(fā)送出去。
所述報(bào)文轉(zhuǎn)發(fā)單元進(jìn)一步用于,在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但LLQ隊(duì)列不為空后,將收到的LLQ報(bào)文放入LLQ隊(duì)列;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入LLQ隊(duì)列。
當(dāng)所述LLQ隊(duì)列至少包括兩級子LLQ隊(duì)列時(shí);所述報(bào)文轉(zhuǎn)發(fā)單元,用于判斷各級子LLQ隊(duì)列是否都為空,若都為空,則確定LLQ隊(duì)列為空。
由此可見,本發(fā)明具有以下有益效果1)在本發(fā)明中,接收到LLQ報(bào)文后,需要判斷LLQ隊(duì)列是否為空,如果LLQ隊(duì)列為空,并且該LLQ報(bào)文符合入隊(duì)和出隊(duì)的條件,則可以直接將該LLQ報(bào)文發(fā)送出去,而無需將該LLQ報(bào)文放入LLQ隊(duì)列中排隊(duì)。從而避免了因進(jìn)入隊(duì)列排隊(duì)而造成的時(shí)延,使得LLQ報(bào)文能夠及時(shí)被轉(zhuǎn)發(fā)出去。
2)本發(fā)明不僅適用于一級隊(duì)列的情況,同樣也適用于多級隊(duì)列的情況。比如,在圖1所示的兩級隊(duì)列環(huán)境中,可以在保持IP層和物理層兩級排隊(duì)算法不變的前提下,通過使用本發(fā)明所提供的方法來降低LLQ報(bào)文轉(zhuǎn)發(fā)時(shí)延,而無需通過將兩級排隊(duì)算法壓縮成一級排隊(duì)算法。這樣可以避免將兩級排隊(duì)算法壓縮成一級排隊(duì)算法而造成的排隊(duì)處理與鏈路層的耦合,降低排隊(duì)處理的實(shí)現(xiàn)復(fù)雜度。
圖1為現(xiàn)有技術(shù)一中的報(bào)文轉(zhuǎn)發(fā)流程示意圖。
圖2為現(xiàn)有技術(shù)二中的報(bào)文轉(zhuǎn)發(fā)流程示意圖。
圖3為現(xiàn)有技術(shù)中的鏈路層報(bào)文格式示意圖。
圖4為本發(fā)明實(shí)施例一中的LLQ報(bào)文轉(zhuǎn)發(fā)流程圖。
圖5為本發(fā)明實(shí)施例二中的兩級排隊(duì)系統(tǒng)示意圖。
圖6為本發(fā)明實(shí)施例二中的LLQ報(bào)文轉(zhuǎn)發(fā)流程圖。
圖7為本發(fā)明中的報(bào)文轉(zhuǎn)發(fā)裝置結(jié)構(gòu)示意圖。
圖8為本發(fā)明實(shí)施例中的報(bào)文轉(zhuǎn)發(fā)單元結(jié)構(gòu)示意圖。
圖9為本發(fā)明實(shí)施例中的另一報(bào)文轉(zhuǎn)發(fā)單元結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面參照附圖并舉實(shí)施例,對本發(fā)明作進(jìn)一步詳細(xì)說明。
由背景技術(shù)描述可見,在現(xiàn)有技術(shù)中,如果鏈路出現(xiàn)擁塞,即LLQ隊(duì)列和DQ隊(duì)列中的報(bào)文總數(shù)不為0,則LLQ報(bào)文就必須先進(jìn)入LLQ隊(duì)列排隊(duì),從而造成報(bào)文轉(zhuǎn)發(fā)時(shí)延的增加。但是,在實(shí)際應(yīng)用中,鏈路擁塞通常都是由大量的DQ報(bào)文造成的,也就是說,DQ隊(duì)列中的報(bào)文數(shù)不為0,而LLQ隊(duì)列中并沒有待轉(zhuǎn)發(fā)的報(bào)文。由于LLQ報(bào)文的優(yōu)先級要比DQ報(bào)文高,因此,在這種情況下,實(shí)際上LLQ報(bào)文可以被直接發(fā)送出去,而不用進(jìn)入隊(duì)列排隊(duì)。
鑒于上述特點(diǎn),本發(fā)明針對鏈路出現(xiàn)擁塞的環(huán)境,提供了一種報(bào)文轉(zhuǎn)發(fā)方法,其基本思想是接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將收到的LLQ報(bào)文發(fā)送出去。
也就是說,如果LLQ隊(duì)列為空,并且判斷出收到的LLQ報(bào)文符合入隊(duì)條件和出隊(duì)條件,則可以直接將LLQ報(bào)文發(fā)送出去,而無需將LLQ報(bào)文放入LLQ隊(duì)列中排隊(duì)??梢?,這里L(fēng)LQ報(bào)文并未真正進(jìn)入LLQ隊(duì)列排隊(duì),而只是進(jìn)行了入隊(duì)和出隊(duì)的判斷。這樣可以避免因入隊(duì)列排隊(duì)而造成的時(shí)延,使得LLQ報(bào)文能夠被及時(shí)轉(zhuǎn)發(fā)出去。
需要說明的是,本發(fā)明不僅適用于一級隊(duì)列的情況,也適用于多級隊(duì)列的情況。下面將分別基于圖2所示的一級排隊(duì)系統(tǒng)和圖1所示的兩級排隊(duì)系統(tǒng)對本發(fā)明進(jìn)行示例性說明。
實(shí)施例一參見圖4所示,一級排隊(duì)系統(tǒng)中的LLQ報(bào)文轉(zhuǎn)發(fā)流程主要包括以下步驟步驟401接收到LLQ報(bào)文后,首先判斷LLQ隊(duì)列是否為空,即判斷LLQ隊(duì)列中的報(bào)文數(shù)是否為0,若LLQ隊(duì)列為空,則執(zhí)行步驟402;否則,執(zhí)行步驟405。
步驟402判斷LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則執(zhí)行步驟403;若不符合,則直接丟棄該LLQ報(bào)文,并結(jié)束本流程的處理。
步驟403判斷LLQ報(bào)文是否符合出隊(duì)條件,如果符合,則執(zhí)行步驟404;否則,執(zhí)行步驟405。
步驟404將LLQ報(bào)文直接發(fā)送出去,然后結(jié)束本流程的處理。
如果發(fā)送失敗,則將LLQ報(bào)文反壓入LLQ隊(duì)列中緩存。
步驟405將LLQ報(bào)文放入LLQ隊(duì)列中排隊(duì)。
LLQ報(bào)文進(jìn)入LLQ隊(duì)列之后的處理與現(xiàn)有技術(shù)一致,這里不再贅述。
另外需要說明的是,在收到LLQ報(bào)文后,也可以先判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則繼續(xù)判斷LLQ隊(duì)列是否為空,若LLQ隊(duì)列為空,則執(zhí)行步驟403;若LLQ隊(duì)列不為空,則執(zhí)行步驟405。如果不符合入隊(duì)條件,則直接丟棄收到的LLQ報(bào)文。
實(shí)施例二在詳細(xì)介紹本實(shí)施例中的LLQ報(bào)文轉(zhuǎn)發(fā)過程之前,下面首先說明一下本實(shí)施例所使用的兩級排隊(duì)系統(tǒng)。
圖5所示為本實(shí)施例中的兩級排隊(duì)系統(tǒng)示意圖。其中,IP層排隊(duì)系統(tǒng)是通用排隊(duì)系統(tǒng),與圖1中的IP層排隊(duì)系統(tǒng)一致,包括一個(gè)高優(yōu)先級的LLQ隊(duì)列和多個(gè)低優(yōu)先級的DQ隊(duì)列。
圖5中的物理層隊(duì)列是圖1中物理層隊(duì)列的擴(kuò)展,其使用LLQ和DQ兩個(gè)隊(duì)列來替代原報(bào)文緩存。其中,LLQ隊(duì)列用于緩存帶有LLQ標(biāo)志的報(bào)文;DQ隊(duì)列用于緩存帶有DQ標(biāo)志的報(bào)文。這兩個(gè)隊(duì)列之間執(zhí)行優(yōu)先調(diào)度,即只要LLQ中有報(bào)文,則優(yōu)先發(fā)送LLQ中的報(bào)文;只有在LLQ為空的情況下,才發(fā)送DQ中的報(bào)文。這樣可以保證LLQ報(bào)文的優(yōu)先發(fā)送。如果報(bào)文在物理層發(fā)送失敗,則會(huì)被反壓入物理層隊(duì)列緩存,其中,帶有LLQ標(biāo)志的報(bào)文被反壓入LLQ;帶有DQ標(biāo)志的報(bào)文被反壓入DQ。
本文中為便于描述,將物理層隊(duì)列中的LLQ稱作物理LLQ;將物理層隊(duì)列中的DQ稱作物理DQ;將IP層排隊(duì)系統(tǒng)中的LLQ稱作IP LLQ;將IP層排隊(duì)系統(tǒng)中的DQ稱作IP DQ。
參見圖6所示,本實(shí)施例中的LLQ報(bào)文轉(zhuǎn)發(fā)流程主要包括以下步驟步驟601接收到LLQ報(bào)文后,判斷IP LLQ和物理LLQ是否都為空,即判斷IP LLQ和物理LLQ中的報(bào)文數(shù)是否都為0,如果IP LLQ中的報(bào)文數(shù)為0且物理LLQ中的報(bào)文數(shù)也為0,則進(jìn)入直通模式,執(zhí)行步驟602;否則,執(zhí)行步驟605。
步驟602判斷LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則執(zhí)行步驟603;若不符合,則直接丟棄該LLQ報(bào)文,并結(jié)束本流程的處理。
步驟603判斷LLQ報(bào)文是否符合出隊(duì)條件,如果符合,則執(zhí)行步驟604;否則,執(zhí)行步驟605。
步驟604將LLQ報(bào)文直接發(fā)送出去,然后結(jié)束本流程的處理。
如果發(fā)送失敗,則將LLQ報(bào)文反壓入物理LLQ緩存。
步驟605將LLQ報(bào)文放入IP LLQ中排隊(duì)。
LLQ報(bào)文進(jìn)入IP LLQ之后的處理與現(xiàn)有技術(shù)一致,即當(dāng)物理信道獲得空閑并發(fā)送完物理層隊(duì)列中的報(bào)文后,調(diào)用IP層排隊(duì)系統(tǒng)的出隊(duì)操作,將IP LLQ中的報(bào)文發(fā)送出去。
需要說明的是,在收到LLQ報(bào)文后,也可以先判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則繼續(xù)判斷IP LLQ和物理LLQ是否都為空,若都為空,則執(zhí)行步驟603;若不都為空,則執(zhí)行步驟605。如果不符合入隊(duì)條件,則直接丟棄收到的LLQ報(bào)文。
圖6中給出了LLQ報(bào)文的轉(zhuǎn)發(fā)流程。對于DQ報(bào)文,由于其沒有低時(shí)延要求,因此可以按照現(xiàn)有技術(shù)處理,依次執(zhí)行兩級排隊(duì)計(jì)算,DQ報(bào)文的具體轉(zhuǎn)發(fā)流程這里不再詳述。
實(shí)施例二中給出了兩級隊(duì)列的處理方法,需要說明的是,本發(fā)明同樣適用于兩級以上隊(duì)列的情況。在多級隊(duì)列的情況下,需判斷各級子LLQ隊(duì)列是否都為空,若各級子LLQ隊(duì)列都為空,則確定LLQ隊(duì)列為空,其它的處理與圖6基本一致,這里不再一一贅述。
相應(yīng)地,針對鏈路出現(xiàn)擁塞的場景,本發(fā)明還提供了一種報(bào)文轉(zhuǎn)發(fā)裝置。該裝置的結(jié)構(gòu)參見圖7所示,包括報(bào)文接收單元和報(bào)文轉(zhuǎn)發(fā)單元。其中,報(bào)文接收單元,用于接收LLQ報(bào)文,并將收到的LLQ報(bào)文發(fā)送給報(bào)文轉(zhuǎn)發(fā)單元;報(bào)文轉(zhuǎn)發(fā)單元,用于在接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
較佳地,參見圖8所示,所述報(bào)文轉(zhuǎn)發(fā)單元具體可包括判斷單元和直通單元。其中,判斷單元,用于在接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并在判斷出LLQ隊(duì)列為空后,將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給直通單元;直通單元,用于在收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合入隊(duì)條件和出隊(duì)條件,如果都符合,則直接將該LLQ報(bào)文發(fā)送出去。
較佳地,參見圖9所示,所述報(bào)文轉(zhuǎn)發(fā)單元也可具體包括入隊(duì)判斷單元、隊(duì)列狀態(tài)判斷單元和預(yù)出隊(duì)判斷單元,其中,入隊(duì)判斷單元,用于在接收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給隊(duì)列狀態(tài)判斷單元;隊(duì)列狀態(tài)判斷單元,用于在收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并在判斷出LLQ隊(duì)列為空后,將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給預(yù)出隊(duì)判斷單元;預(yù)出隊(duì)判斷單元,用于在收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合出隊(duì)條件,如果符合,則將收到的LLQ報(bào)文直接發(fā)送出去。
其中,所述報(bào)文轉(zhuǎn)發(fā)單元,還可進(jìn)一步用于,在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但LLQ隊(duì)列不為空后,將收到的LLQ報(bào)文放入LLQ隊(duì)列;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入LLQ隊(duì)列。
當(dāng)所述LLQ隊(duì)列至少包括兩級子LLQ隊(duì)列時(shí),所述報(bào)文轉(zhuǎn)發(fā)單元,用于判斷各級子LLQ隊(duì)列是否都為空,若都為空,則確定LLQ隊(duì)列為空。
以上所述對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步的詳細(xì)說明,所應(yīng)理解的是,以上所述并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種報(bào)文轉(zhuǎn)發(fā)方法,適用于鏈路出現(xiàn)擁塞的場景,其特征在于,該方法包括接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件包括先判斷LLQ隊(duì)列是否為空,如果為空,則繼續(xù)判斷該LLQ報(bào)文是否符合入隊(duì)條件;或者,先判斷所述LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則繼續(xù)判斷LLQ隊(duì)列是否為空。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,該方法進(jìn)一步包括在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但LLQ隊(duì)列不為空后,將收到的LLQ報(bào)文放入LLQ隊(duì)列;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入LLQ隊(duì)列。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述LLQ隊(duì)列至少包括兩級子LLQ隊(duì)列;所述判斷LLQ隊(duì)列是否為空包括判斷各級子LLQ隊(duì)列是否都為空,如果都為空,則確定LLQ隊(duì)列為空。
5.一種報(bào)文轉(zhuǎn)發(fā)方法,適用于鏈路出現(xiàn)擁塞并且包含IP層排隊(duì)系統(tǒng)和物理層隊(duì)列兩級排隊(duì)系統(tǒng)的場景,所述IP層排隊(duì)系統(tǒng)包括IP LLQ和IP DQ,其特征在于,在物理層隊(duì)列中設(shè)置用于緩存LLQ報(bào)文的物理LLQ以及用于緩存DQ報(bào)文的物理DQ,并且物理LLQ的優(yōu)先級高于物理DQ的優(yōu)先級;該方法進(jìn)一步包括接收到LLQ報(bào)文后,判斷IP LLQ和物理LLQ是否都為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果IP LLQ和物理LLQ都為空且符合入隊(duì)條件,則判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述判斷IP LLQ和物理LLQ是否都為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件包括先判斷IP LLQ和物理LLQ是否都為空,如果都為空,則繼續(xù)判斷該LLQ報(bào)文是否符合入隊(duì)條件;或者,先判斷所述LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則繼續(xù)判斷IPLLQ和物理LLQ是否都為空。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,該方法進(jìn)一步包括在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但I(xiàn)P LLQ和物理LLQ不都為空后,將收到的LLQ報(bào)文放入IP LLQ;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入IP LLQ。
8.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述將該LLQ報(bào)文發(fā)送出去之后進(jìn)一步包括如果發(fā)送失敗,則將該LLQ報(bào)文反壓入物理LLQ。
9.一種報(bào)文轉(zhuǎn)發(fā)裝置,適用于鏈路出現(xiàn)擁塞的場景,其特征在于,該裝置包括報(bào)文接收單元和報(bào)文轉(zhuǎn)發(fā)單元,其中,報(bào)文接收單元,用于接收LLQ報(bào)文,并將收到的LLQ報(bào)文發(fā)送給報(bào)文轉(zhuǎn)發(fā)單元;報(bào)文轉(zhuǎn)發(fā)單元,用于在接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述報(bào)文轉(zhuǎn)發(fā)單元包括判斷單元和直通單元,其中,判斷單元,用于在接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并在判斷出LLQ隊(duì)列為空后,將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給直通單元;直通單元,用于在收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合入隊(duì)條件和出隊(duì)條件,如果都符合,則直接將該LLQ報(bào)文發(fā)送出去。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述報(bào)文轉(zhuǎn)發(fā)單元包括入隊(duì)判斷單元、隊(duì)列狀態(tài)判斷單元和預(yù)出隊(duì)判斷單元,其中,入隊(duì)判斷單元,用于在接收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果符合,則將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給隊(duì)列狀態(tài)判斷單元;隊(duì)列狀態(tài)判斷單元,用于在收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并在判斷出LLQ隊(duì)列為空后,將收到的LLQ報(bào)文轉(zhuǎn)發(fā)給預(yù)出隊(duì)判斷單元;預(yù)出隊(duì)判斷單元,用于在收到LLQ報(bào)文后,判斷該LLQ報(bào)文是否符合出隊(duì)條件,如果符合,則將收到的LLQ報(bào)文直接發(fā)送出去。
12.根據(jù)權(quán)利要求9至11任一項(xiàng)所述的裝置,其特征在于,所述報(bào)文轉(zhuǎn)發(fā)單元進(jìn)一步用于,在判斷出不符合入隊(duì)條件后,將收到的LLQ報(bào)文直接丟棄;在判斷出符合入隊(duì)條件但LLQ隊(duì)列不為空后,將收到的LLQ報(bào)文放入LLQ隊(duì)列;在判斷出不符合出隊(duì)條件后,將收到的LLQ報(bào)文放入LLQ隊(duì)列。
13.根據(jù)權(quán)利要求9至11任一項(xiàng)所述的裝置,其特征在于,所述LLQ隊(duì)列至少包括兩級子LLQ隊(duì)列;所述報(bào)文轉(zhuǎn)發(fā)單元,用于判斷各級子LLQ隊(duì)列是否都為空,若都為空,則確定LLQ隊(duì)列為空。
全文摘要
本發(fā)明提供了一種報(bào)文轉(zhuǎn)發(fā)方法,該方法包括在鏈路出現(xiàn)擁塞的情況下,接收到LLQ報(bào)文后,判斷LLQ隊(duì)列是否為空,并判斷該LLQ報(bào)文是否符合入隊(duì)條件,如果LLQ隊(duì)列為空且符合入隊(duì)條件,則繼續(xù)判斷該LLQ報(bào)文是否符合出隊(duì)條件,并在判斷出符合出隊(duì)條件后,直接將該LLQ報(bào)文發(fā)送出去。另外,本發(fā)明還提供了另一種報(bào)文轉(zhuǎn)發(fā)方法以及一種報(bào)文轉(zhuǎn)發(fā)裝置。利用本發(fā)明所提供的技術(shù)方案,能夠降低低時(shí)延業(yè)務(wù)的報(bào)文轉(zhuǎn)發(fā)時(shí)延。
文檔編號H04L29/06GK101060489SQ20071010305
公開日2007年10月24日 申請日期2007年5月16日 優(yōu)先權(quán)日2007年5月16日
發(fā)明者?;垆h 申請人:杭州華三通信技術(shù)有限公司