專利名稱:一種報(bào)文處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種報(bào)文處理方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)目前在各行業(yè)已經(jīng)日益普及,用戶對(duì)于網(wǎng)絡(luò)中報(bào)文轉(zhuǎn)發(fā)可靠性越來越高。很多用戶在網(wǎng)絡(luò)部署的時(shí)候,會(huì)在設(shè)備間會(huì)采用等價(jià)鏈路或者聚合鏈路進(jìn)行報(bào)文的分擔(dān)和鏈路保護(hù),或者配置多條鏈路形成主備鏈路。備用鏈路可以在主用鏈路故障時(shí)候?yàn)閳?bào)文的轉(zhuǎn)發(fā)提供冗余保護(hù)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種報(bào)文處理裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,包括表項(xiàng)處理單元、報(bào)文轉(zhuǎn)發(fā)單元、業(yè)務(wù)調(diào)度單元以及下一跳處理單元,其中:表項(xiàng)處理單元,用于根據(jù)用戶的配置指令在流量保護(hù)表中生成流量保護(hù)表項(xiàng),其中流量保護(hù)表項(xiàng)包括主用鏈路出端口標(biāo)識(shí)、備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí);報(bào)文轉(zhuǎn)發(fā)單元,用于根據(jù)待轉(zhuǎn)發(fā)報(bào)文的目的IP地址確定該報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);業(yè)務(wù)調(diào)度單元,用于判斷報(bào)文出端口的緩存是否達(dá)到預(yù)設(shè)閾值,如果是則根據(jù)該出端口標(biāo)識(shí)匹配流量保護(hù)表中各表項(xiàng)的主用鏈路出端口標(biāo)識(shí),并將匹配到的主用鏈路出端口標(biāo)識(shí)對(duì)應(yīng)的備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí)作為報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);下一跳處理單元,用于根據(jù)報(bào)文的下一跳標(biāo)識(shí)對(duì)報(bào)文進(jìn)行封裝并從報(bào)文的出端口將封裝后的報(bào)文發(fā)送出去。本發(fā)明還提供一種報(bào)文處理方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,其中該方法包括以下步驟:步驟A、根據(jù)用戶的配置指令在流量保護(hù)表中生成流量保護(hù)表項(xiàng),其中流量保護(hù)表項(xiàng)包括主用鏈路出端口標(biāo)識(shí)、備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí);步驟B、根據(jù)待轉(zhuǎn)發(fā)報(bào)文的目的IP地址確定該報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);步驟C、判斷報(bào)文出端口的緩存是否達(dá)到預(yù)設(shè)閾值,如果是則根據(jù)該出端口標(biāo)識(shí)匹配流量保護(hù)表中各表項(xiàng)的主用鏈路出端口標(biāo)識(shí),并將匹配到的主用鏈路出端口標(biāo)識(shí)對(duì)應(yīng)的備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí)作為報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);步驟D、根據(jù)報(bào)文的下一跳標(biāo)識(shí)對(duì)報(bào)文進(jìn)行封裝并從報(bào)文的出端口將封裝后的報(bào)文發(fā)送出去。本發(fā)明采用了簡潔高效的設(shè)計(jì)方案有效解決了現(xiàn)有技術(shù)中無法充分有效利用備用鏈路資源的問題,在優(yōu)選的方式中利用了端口緩存使用指標(biāo)作為判斷依據(jù),避免了更多資源的消耗。
圖1是一種典型的主備冗余鏈路部署組網(wǎng)圖。圖2是一種主備冗余鏈路組網(wǎng)環(huán)境下的流量示意圖。圖3是本發(fā)明一種實(shí)施方式中報(bào)文處理裝置邏輯結(jié)構(gòu)圖。圖4是本發(fā)明一種實(shí)施方式中業(yè)務(wù)員調(diào)度示意圖。圖5是本發(fā)明一種實(shí)施方式中報(bào)文處理方法流程圖。
具體實(shí)施例方式請(qǐng)參考圖1,在主備冗余鏈路的部署方案,現(xiàn)有技術(shù)實(shí)現(xiàn)一般是采用多條鏈路,通過軟件配置這些鏈路的路由的優(yōu)先級(jí)和路徑開銷來形成主用和備用角色。正常報(bào)文轉(zhuǎn)發(fā)時(shí)設(shè)備優(yōu)先選用主用鏈路出端口作為出口,當(dāng)主用鏈路故障或者路由失效時(shí),備用鏈路生效,報(bào)文轉(zhuǎn)發(fā)的出口切換到備用鏈路(路由器B與路由C之間的鏈路)的出端口上。這樣的設(shè)計(jì)進(jìn)行減少了網(wǎng)絡(luò)故障的持續(xù)時(shí)間,提高網(wǎng)絡(luò)的可靠性和健壯性。事實(shí)上,相對(duì)于主用鏈路故障來說,主用鏈路出現(xiàn)擁塞是一種更加常見的情況。當(dāng)主用鏈路沒有發(fā)生故障但出現(xiàn)擁塞的時(shí)候,此時(shí)在主用鏈路出端口上進(jìn)行下一跳處理時(shí)就會(huì)出現(xiàn)報(bào)文被丟棄的情況(通常簡稱為“丟包”)。請(qǐng)參考圖2,假設(shè)主用鏈路Pl 口當(dāng)前能轉(zhuǎn)發(fā)4個(gè)報(bào)文,如果此時(shí)有6個(gè)報(bào)文需要從Pl 口發(fā)送出去,那么Pl 口上只能發(fā)走4個(gè)高優(yōu)先級(jí)的報(bào)文,而相對(duì)低優(yōu)先級(jí)的2個(gè)報(bào)文將被丟棄。針對(duì)這種問題,目前主要有兩種處理方式。第一種實(shí)現(xiàn)方式是通過檢測主用鏈路是否故障或者通過檢測主用鏈路和備用鏈路質(zhì)量,進(jìn)而根據(jù)檢測結(jié)果把報(bào)文流量完全切換到無故障或者傳輸質(zhì)量好的備用鏈路進(jìn)行轉(zhuǎn)發(fā)。第二種實(shí)現(xiàn)方式是通過軟件輪詢監(jiān)控各鏈路端口的報(bào)文收發(fā)狀態(tài)和速率,當(dāng)一些鏈路達(dá)到帶寬閾值時(shí),通過在網(wǎng)絡(luò)中發(fā)送特定報(bào)文檢測鏈路擁塞程度,將超過閾值的報(bào)文流量調(diào)度去其他未達(dá)到閾值鏈路上去。對(duì)于第一種實(shí)現(xiàn)方式,其缺點(diǎn)是任意時(shí)刻只有主用鏈路以及備用鏈路中只有一條鏈路在進(jìn)行報(bào)文轉(zhuǎn)發(fā)。當(dāng)主用鏈路擁塞時(shí)候,備用鏈路即使空閑也不能轉(zhuǎn)發(fā)主用擁塞超出的流量。對(duì)于第二種實(shí)現(xiàn)方式,需要在軟件層面增加判斷模塊,這樣會(huì)存在兩個(gè)問題,首先軟件需要耗費(fèi)CPU資源來對(duì)各端口輪詢檢測;其次,需要網(wǎng)絡(luò)設(shè)備間增加發(fā)送特殊的協(xié)議報(bào)文進(jìn)行收集網(wǎng)絡(luò)端口數(shù)據(jù)流量信息進(jìn)行共享,便于查詢空閑端口,這一處理過程不僅需要耗費(fèi)CPU,而且會(huì)一定程度上浪費(fèi)網(wǎng)絡(luò)帶寬。本發(fā)明提出一種更加簡潔但效率卻更高的方案來解決現(xiàn)有技術(shù)存在的技術(shù)缺陷。請(qǐng)參考圖3,在一種計(jì)算機(jī)程序?qū)崿F(xiàn)的實(shí)施方式中本發(fā)明提供一種報(bào)文處理裝置,該裝置為(PU運(yùn)行內(nèi)存中相應(yīng)計(jì)算機(jī)程序形成的邏輯裝置。該裝置包括:報(bào)文轉(zhuǎn)發(fā)單元、表項(xiàng)處理單元、業(yè)務(wù)調(diào)度單元以及下一跳處理單元。請(qǐng)參考圖4以及圖5,該裝置可運(yùn)行在路由器以及三層交換機(jī)等三層網(wǎng)絡(luò)設(shè)備上,運(yùn)行過程中實(shí)現(xiàn)如下處理流程。步驟101,表項(xiàng)處理單元根據(jù)用戶的配置指令生成流量保護(hù)表,其中流量保護(hù)表包括主用鏈路出端口標(biāo)識(shí)、備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí);
步驟102,報(bào)文轉(zhuǎn)發(fā)單元根據(jù)待轉(zhuǎn)發(fā)報(bào)文的目的IP地址確定該報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);步驟103,業(yè)務(wù)調(diào)度單元判斷該出端口的緩存是否達(dá)到預(yù)設(shè)閾值,如果是則轉(zhuǎn)步驟104,否則轉(zhuǎn)步驟105 ;步驟104,業(yè)務(wù)調(diào)度單元根據(jù)該出端口標(biāo)識(shí)查找流量保護(hù)表,根據(jù)該出端口標(biāo)識(shí)匹配流量保護(hù)表中主用鏈路出端口標(biāo)識(shí),并獲取該主用鏈路出端口標(biāo)識(shí)對(duì)應(yīng)的備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí)作為報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);步驟105,下一跳處理單元根據(jù)報(bào)文的下一跳標(biāo)識(shí)對(duì)報(bào)文進(jìn)行封裝并從報(bào)文的出端口將封裝后的報(bào)文發(fā)送出去。對(duì)于三層網(wǎng)絡(luò)設(shè)備來說,其主要業(yè)務(wù)是數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)處理。請(qǐng)參考圖4以及圖5,從網(wǎng)絡(luò)設(shè)備一個(gè)端口進(jìn)入的數(shù)據(jù)報(bào)文稱為上行流量,而從網(wǎng)絡(luò)設(shè)備一個(gè)端口發(fā)送出去的數(shù)據(jù)報(bào)文稱為下行流量。報(bào)文從一個(gè)端口進(jìn)入以后二層芯片會(huì)進(jìn)行相關(guān)處理,比如說丟棄不符合基本ACL規(guī)則的報(bào)文,區(qū)分?jǐn)?shù)據(jù)報(bào)文和協(xié)議報(bào)文。本發(fā)明所討論的報(bào)文是指數(shù)據(jù)報(bào)文,也就是網(wǎng)絡(luò)設(shè)備要轉(zhuǎn)發(fā)的報(bào)文。數(shù)據(jù)報(bào)文通常會(huì)被剝離掉二層頭然后上送到轉(zhuǎn)發(fā)單元進(jìn)行三層轉(zhuǎn)發(fā)處理。轉(zhuǎn)發(fā)單元通常使用報(bào)文的目的IP地址查找轉(zhuǎn)發(fā)表來實(shí)現(xiàn)轉(zhuǎn)發(fā)。通常來說,查找轉(zhuǎn)發(fā)表獲得的結(jié)果是出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí)。出端口標(biāo)識(shí)報(bào)文從網(wǎng)絡(luò)設(shè)備的哪個(gè)端口轉(zhuǎn)發(fā)出去,而下一跳標(biāo)識(shí)則用來確定如何封裝報(bào)文的二層頭。以二層鏈路是以太網(wǎng)鏈路為例,下一跳標(biāo)識(shí)可以是下一跳的IP地址或者與該IP地址對(duì)應(yīng)的ARP索引等。由于出端口可能通過二層以太網(wǎng)交換機(jī)連接到多個(gè)三層網(wǎng)絡(luò)設(shè)備,因此通過下一跳標(biāo)識(shí)方可唯一確定下一跳的MAC地址,也就是IP報(bào)文外部需要封裝的目的MAC地址。當(dāng)然這一過程屬于現(xiàn)有技術(shù),本領(lǐng)域技術(shù)人員可以從專利文獻(xiàn)或其他技術(shù)資料中獲得更為詳盡的技術(shù)指導(dǎo)。請(qǐng)進(jìn)一步參考圖5,與現(xiàn)有技術(shù)不同的是,在對(duì)報(bào)文進(jìn)行二層封裝之前,本發(fā)明會(huì)先判斷該報(bào)文的出端口的緩存是否已經(jīng)到達(dá)預(yù)設(shè)的閾值。以最簡單的例子來說,業(yè)務(wù)調(diào)度單元可以先判斷該出端口的緩存是否已經(jīng)用滿,如果用滿則說明該出端口已經(jīng)處于擁塞狀態(tài),當(dāng)前報(bào)文有可能會(huì)被丟棄。在很多網(wǎng)絡(luò)設(shè)備中,由于需要做Q0S等輔助處理,底層硬件通常會(huì)主動(dòng)上報(bào)端口的緩存使用情況,本發(fā)明利用了這一特點(diǎn),如果發(fā)現(xiàn)該出端口的緩存已經(jīng)滿了則將當(dāng)前報(bào)文調(diào)度到備用鏈路的出端口上進(jìn)行發(fā)送,調(diào)度的依據(jù)是預(yù)先設(shè)置好的流量保護(hù)表項(xiàng)。如果用戶為主用鏈路配備了備用鏈路,則在本發(fā)明中其可在網(wǎng)絡(luò)設(shè)備部署時(shí)通過輸入配置指令在流量保護(hù)表中創(chuàng)建對(duì)應(yīng)的流量保護(hù)表項(xiàng)。請(qǐng)參考表I,表項(xiàng)處理單元在收到用戶輸入的配置指令時(shí)創(chuàng)建如表I所示的各個(gè)表項(xiàng)。
權(quán)利要求
1.一種報(bào)文處理裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,包括表項(xiàng)處理單元、報(bào)文轉(zhuǎn)發(fā)單元、業(yè)務(wù)調(diào)度單元以及下一跳處理單元,其特征在于: 表項(xiàng)處理單元,用于根據(jù)用戶的配置指令在流量保護(hù)表中生成流量保護(hù)表項(xiàng),其中流量保護(hù)表項(xiàng)包括主用鏈路出端口標(biāo)識(shí)、備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí);報(bào)文轉(zhuǎn)發(fā)單元,用于根據(jù)待轉(zhuǎn)發(fā)報(bào)文的目的IP地址確定該報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí); 業(yè)務(wù)調(diào)度單元,用于判斷報(bào)文出端口的緩存是否達(dá)到預(yù)設(shè)閾值,如果是則根據(jù)該出端口標(biāo)識(shí)匹配流量保護(hù)表中各表項(xiàng)的主用鏈路出端口標(biāo)識(shí),并將匹配到的主用鏈路出端口標(biāo)識(shí)對(duì)應(yīng)的備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí)作為報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí); 下一跳處理單元,用于根據(jù)報(bào)文的下一跳標(biāo)識(shí)對(duì)報(bào)文進(jìn)行封裝并從報(bào)文的出端口將封裝后的報(bào)文發(fā)送出去。
2.如權(quán)利要求1所述的裝置,其特征在于,所述業(yè)務(wù)調(diào)度單元進(jìn)一步用于在獲取到備用鏈路出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí)之后將報(bào)文的優(yōu)先級(jí)置為備用鏈路出端口上的最低優(yōu)先級(jí)。
3.如權(quán)利要求1所述的裝置,其特征在于,表項(xiàng)處理單元進(jìn)一步用于在確定備用鏈路出端口的緩存達(dá)到預(yù)設(shè)閾值時(shí),將流量保護(hù)表中對(duì)應(yīng)的表項(xiàng)置為無效裝置。
4.如權(quán)利要求1所述的裝置,其特征在于,所述下一跳標(biāo)識(shí)為ARP索引。
5.如權(quán)利要求1所述的裝置,其特征在于,當(dāng)所述主用鏈路有兩個(gè)以上對(duì)應(yīng)的備用鏈路時(shí),所述業(yè)務(wù)調(diào)度單元按照預(yù)定策略從流量保護(hù)表中獲得備用鏈路出端口以及備用鏈路下一跳。
6.一種報(bào)文處理方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備上,其特征在于,該方法包括以下步驟: 步驟A、根據(jù)用戶的配置指令在流量保護(hù)表中生成流量保護(hù)表項(xiàng),其中流量保護(hù)表項(xiàng)包括主用鏈路出端口標(biāo)識(shí)、備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí); 步驟B、根據(jù)待轉(zhuǎn)發(fā)報(bào)文的目的IP地址確定該報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);步驟C、判斷報(bào)文出端口的緩存是否達(dá)到預(yù)設(shè)閾值,如果是則根據(jù)該出端口標(biāo)識(shí)匹配流量保護(hù)表中各表項(xiàng)的主用鏈路出端口標(biāo)識(shí),并將匹配到的主用鏈路出端口標(biāo)識(shí)對(duì)應(yīng)的備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí)作為報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí); 步驟D、根據(jù)報(bào)文的下一跳標(biāo)識(shí)對(duì)報(bào)文進(jìn)行封裝并從報(bào)文的出端口將封裝后的報(bào)文發(fā)送出去。
7.如權(quán)利要求6所述的方法,其特征在于,所述步驟C進(jìn)一步包括: 在獲取到備用鏈路出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí)之后將報(bào)文的優(yōu)先級(jí)置為備用鏈路出端口上的最低優(yōu)先級(jí)。
8.如權(quán)利要求6所述的方法,其特征在于,所述步驟A進(jìn)一步包括: 在確定備用鏈路出端口的緩存達(dá)到預(yù)設(shè)閾值時(shí),將流量保護(hù)表中對(duì)應(yīng)的表項(xiàng)置為無效>j-U ρ α裝直。
9.如權(quán)利要求6所述的方法,其特征在于,所述下一跳標(biāo)識(shí)為ARP索引。
10.如權(quán)利要求6所述的方法,其特征在于,所述步驟C進(jìn)一步包括: 當(dāng)所述主用鏈路有兩個(gè)以上對(duì)應(yīng)的備用鏈路時(shí),按照預(yù)定策略從流量保護(hù)表中獲得備用鏈路出端口以及 備用鏈路下一跳。
全文摘要
本發(fā)明提供一種報(bào)文處理方法及裝置,用于網(wǎng)絡(luò)設(shè)備上,其中該裝置運(yùn)行時(shí)執(zhí)行如下步驟A、根據(jù)用戶的配置指令在流量保護(hù)表中生成流量保護(hù)表項(xiàng);B、根據(jù)待轉(zhuǎn)發(fā)報(bào)文的目的IP地址確定該報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);C、判斷報(bào)文出端口的緩存是否達(dá)到預(yù)設(shè)閾值,如果是則根據(jù)該出端口標(biāo)識(shí)匹配流量保護(hù)表中各表項(xiàng),并將匹配到的主用鏈路出端口標(biāo)識(shí)對(duì)應(yīng)的備用鏈路出端口標(biāo)識(shí)以及備用鏈路下一跳標(biāo)識(shí)作為報(bào)文的出端口標(biāo)識(shí)以及下一跳標(biāo)識(shí);D、根據(jù)報(bào)文的下一跳標(biāo)識(shí)對(duì)報(bào)文進(jìn)行封裝并從報(bào)文的出端口將封裝后的報(bào)文發(fā)送出去。本發(fā)明采用了簡潔高效的設(shè)計(jì)方案有效解決了現(xiàn)有技術(shù)中無法充分有效利用備用鏈路資源的問題。
文檔編號(hào)H04L12/741GK103152251SQ201310061820
公開日2013年6月12日 申請(qǐng)日期2013年2月27日 優(yōu)先權(quán)日2013年2月27日
發(fā)明者王逸, 廖以順 申請(qǐng)人:杭州華三通信技術(shù)有限公司