亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

報文轉(zhuǎn)發(fā)方法及裝置與流程

文檔序號:12917368閱讀:737來源:國知局
報文轉(zhuǎn)發(fā)方法及裝置與流程
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種報文轉(zhuǎn)發(fā)方法及裝置。
背景技術(shù)
:目前針對國內(nèi)移動回傳業(yè)務的分組傳送網(wǎng)絡采用的基于ip協(xié)議的無線接入網(wǎng)絡(internetprotocolradioaccessnetwork,簡稱為ipran)承載解決方案中,網(wǎng)絡拓撲通常是接入層采用環(huán)形組網(wǎng),匯聚層采用口字型組網(wǎng),簡化的組網(wǎng)圖如圖1所示。其中,a1-a3是接入層設備,pe1-pe4是匯聚層設備。業(yè)務部署上,基站回傳業(yè)務通常采用偽線(pseudowire,簡稱為pw)+三層虛擬專用網(wǎng)(layer3virtualprivatenetwork,簡稱為l3vpn)橋接方案。接入層主要部署pw快速重路由(fastre-route,簡稱為frr),匯聚核心層主要部署l3vpnfrr,外層保護有可能部署標簽分發(fā)協(xié)議(labeldistributionprotocol,簡稱為ldp)frr或流量工程(trafficengineering,簡稱為te)熱備份保護(hotstandby,簡稱為hsb)。如圖1所示,服務提供商邊緣設備pe3(provideredgedevice)形成到pe1和pe2的l3vpnfrr,主路由為pe3-pe1,備路由為pe3-pe2。同時,所有pe設備外層都開啟ldpfrr功能。ldpfrr是基于內(nèi)部網(wǎng)關(guān)協(xié)議(interiorgatewayprotocol,簡稱為igp)路由協(xié)議生成的,igp路由協(xié)議計算frr備路徑的其中一個原則是,以到達目的設備的鏈路總度量metric值最小為原則逐跳的選擇下一跳設備,經(jīng)過所有下一跳設備的鏈路組成的備路徑不允許存在重合的鏈路。在口字型組網(wǎng)中,按照igpfrr計算的這個原則,會存在某些設備的某些路由無法形成frr。如圖2所示,按照圖2中標示的鏈路metric值,pe3計算到達pe1的igpfrr,主路徑為pe3-pe1,備路徑計算過程如下:為了不和主路徑的鏈路重合,備路徑首先選擇下一跳為pe4;然后在pe4上計算達到pe1的兩條路徑的鏈路總metric值,其中一條路徑是pe4-pe2-pe1,鏈路總metric值為1520,另外一條路徑是pe4-pe3-pe1,鏈路總metric值為1600,所以優(yōu)先選擇下一跳為pe2;接著在pe2上計算達到pe1的兩條路徑的鏈路總metric值,其中一條路徑是pe2-pe1,鏈路總metric值為20,另外一條路徑是pe2-pe4-pe3-pe1,鏈路總metric值為3100,所以優(yōu)先選擇下一跳為pe1。這樣就算出了pe3到pe1的igpfrr備路徑為pe3-pe4-pe2-pe1。同理,pe1計算到達pe3的igpfrr,主路徑為pe1-pe3,備路徑計算過程如下:為了不和主路徑的鏈路重合,備路徑首先選擇下一跳為pe2;然后在pe2上計算達到pe3的兩條路徑的鏈路總metric值,其中一條路徑是pe2-pe4-pe3,鏈路總metric值為1600,另外一條路徑是pe2-pe1-pe3,鏈路總metric值為1520,所以優(yōu)先選擇下一跳為pe1。這樣,備路徑從pe1到pe2再到pe1,存在重合的鏈路,不符合igpfrr的算路原則,所以pe1到pe3的路由無法形成igpfrr。其它設備路由的frr計算過程同上,最終結(jié)果是,pe3到pe1和pe2的l3vpnfrr主備路由都可以形成ldpfrr,但是主備路由的主lsp路徑都經(jīng)過pe3-pe1鏈路,即存在主備部分路徑共鏈路。反方向,pe1到pe3的路由無法形成ldpfrr,pe2到pe3的路由在pe2上雖然可以形成ldpfrr,但是由于ip路由是逐跳轉(zhuǎn)發(fā),pe2到pe3的主路由下一跳是pe1,而pe1到pe3的路由無法形成ldpfrr,所以pe2到pe3端到端還是無法形成frr保護。這樣,檢測pe3到pe1和pe2的l3vpnfrr主備路由連通性的雙向轉(zhuǎn)發(fā)檢測(bidirectionalforwardingdetection,簡稱為peerbfd),在pe3→pe1/pe2方向,有外層ldpfrr進行l(wèi)sp保護,而pe1/pe2→pe3方向,外層無ldpfrr,無法進行保護。由于peerbfd會話是雙向的,任何一個方向的丟包都會導致peerbfd中斷。所以,當pe3-pe1鏈路發(fā)生故障時,主備peerbfd都會中斷,pe3到pe1和pe2 的l3vpnfrr主備路由轉(zhuǎn)發(fā)層面都會被置為無效,產(chǎn)生路由黑洞現(xiàn)象,從而導致業(yè)務中斷。針對相關(guān)技術(shù)中存在的路由黑洞問題,目前尚未提出有效的解決方案。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)方法及裝置,以至少解決相關(guān)技術(shù)中存在的路由黑洞問題。根據(jù)本發(fā)明的一個實施例,提供了一種報文轉(zhuǎn)發(fā)方法,包括:第一服務提供商邊緣設備pe在確定到達用戶邊緣設備ce的主下一跳和備下一跳共路徑的鏈路發(fā)生故障后,確定所述主下一跳和所述備下一跳中后檢測到故障的pe;所述第一pe將待發(fā)送到所述ce的報文通過所述后檢測到故障的pe轉(zhuǎn)發(fā)給所述ce??蛇x地,所述第一pe將待發(fā)送到所述ce的報文通過所述后檢測到故障的pe轉(zhuǎn)發(fā)給所述ce包括:所述第一pe確定通過所述后檢測到故障的pe將所述報文轉(zhuǎn)發(fā)給所述ce的轉(zhuǎn)發(fā)表;所述第一pe根據(jù)所述轉(zhuǎn)發(fā)表將所述報文轉(zhuǎn)發(fā)給所述ce??蛇x地,所述第一pe確定通過所述后檢測到故障的pe將所述報文轉(zhuǎn)發(fā)給所述ce的轉(zhuǎn)發(fā)表包括:所述第一pe確定多協(xié)議標簽交換mpls業(yè)務表,以及所述主下一跳和備下一跳的標簽分發(fā)協(xié)議ldp標簽表;所述第一pe根據(jù)所述主下一跳和所述備下一跳的故障檢測情況以及所述mpsl業(yè)務表和所述ldp標簽表確定所述轉(zhuǎn)發(fā)表??蛇x地,所述第一pe根據(jù)所述主下一跳和所述備下一跳的故障檢測情況以及所述mpls業(yè)務表和所述ldp標簽表確定所述轉(zhuǎn)發(fā)表包括:當所述第一pe確定所述主下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷所述主下一跳是否是所述后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述備下一跳,同時將所述主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述主下一跳,同時將所述主下一跳的轉(zhuǎn)發(fā) 狀態(tài)設置為有效;和/或,當所述第一pe確定所述備下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷所述備下一跳是否是所述后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述主下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述備下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效??蛇x地,當所述第一pe確定所述主下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,還包括:當所述第一pe確定所述主下一跳的bfd檢測狀態(tài)變?yōu)閡p時,將所述轉(zhuǎn)發(fā)表中的下一跳索引更新為所述主下一跳;同時將所述主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;和/或,當所述第一pe確定所述備下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,還包括:當所述第一pe確定所述備下一跳的bfd檢測狀態(tài)變?yōu)閡p時,判斷所述主下一跳的bfd檢測狀態(tài)是否up;在判斷結(jié)果為不是up時,將所述轉(zhuǎn)發(fā)表中的下一跳索引更新為所述備下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)更新為有效;在判斷結(jié)果為是up時,維持所述轉(zhuǎn)發(fā)表中的下一跳索引為所述主下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效??蛇x地,所述第一pe根據(jù)所述轉(zhuǎn)發(fā)表將所述報文轉(zhuǎn)發(fā)給所述ce包括:所述第一pe根據(jù)所述轉(zhuǎn)發(fā)表確定實際進行報文轉(zhuǎn)發(fā)的下一跳pe設備和實際出接口;所述第一pe通過所述實際出接口將所述報文發(fā)送給確定的所述下一跳pe,并指示確定的所述下一跳pe將所述報文轉(zhuǎn)發(fā)給所述ce。根據(jù)本發(fā)明的另一個實施例,提供了一種報文轉(zhuǎn)發(fā)裝置,所述裝置應用于第一服務提供商邊緣設備pe中,包括:確定模塊,用于在確定到達用戶邊緣設備ce的主下一跳和備下一跳共路徑的鏈路發(fā)生故障后,確定所述主下一跳和所述備下一跳中后檢測到故障的pe;轉(zhuǎn)發(fā)模塊,用于將待發(fā)送到所述ce的報文通過所述后檢測到故障的pe轉(zhuǎn)發(fā)給所述ce??蛇x地,所述轉(zhuǎn)發(fā)模塊包括:確定單元,用于確定通過所述后檢測到 故障的pe將所述報文轉(zhuǎn)發(fā)給所述ce的轉(zhuǎn)發(fā)表;轉(zhuǎn)發(fā)單元,用于根據(jù)所述轉(zhuǎn)發(fā)表將所述報文轉(zhuǎn)發(fā)給所述ce??蛇x地,所述確定單元包括:第一確定子單元,用于確定多協(xié)議標簽交換mpls業(yè)務表,以及所述主下一跳和備下一跳的標簽分發(fā)協(xié)議ldp標簽表;第二確定子單元,用于根據(jù)所述主下一跳和所述備下一跳的故障檢測情況以及所述mpls業(yè)務表和所述ldp標簽表確定所述轉(zhuǎn)發(fā)表??蛇x地,所述第二確定子單元包括:第一處理次子單元,用于當所述第一pe確定所述主下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷所述主下一跳是否是所述后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述備下一跳,同時將所述主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述主下一跳,同時將所述主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;和/或,第二處理次子單元,用于當所述第一pe確定所述備下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷所述備下一跳是否是所述后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述主下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將所述轉(zhuǎn)發(fā)表中的下一跳索引設置為所述備下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效??蛇x地,所述第一處理次子單元還用于當所述第一pe確定所述主下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,當所述第一pe確定所述主下一跳的bfd檢測狀態(tài)變?yōu)閡p時,將所述轉(zhuǎn)發(fā)表中的下一跳索引更新為所述主下一跳;同時將所述主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;和/或,所述第二處理次子單元還用于當所述第一pe確定所述備下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,當所述第一pe確定所述備下一跳的bfd檢測狀態(tài)變?yōu)閡p時,判斷所述主下一跳的bfd檢測狀態(tài)是否up;在判斷結(jié)果為不是up時,將所述轉(zhuǎn)發(fā)表中的下一跳索引更新為所述備下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)更新為有效;在判斷結(jié)果為是up時,維持所述轉(zhuǎn)發(fā)表中的下一跳索引為所述主下一跳,同時將所述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效??蛇x地,所述轉(zhuǎn)發(fā)單元包括:第三確定子單元,用于根據(jù)所述轉(zhuǎn)發(fā)表確定實際進行報文轉(zhuǎn)發(fā)的下一跳pe設備和實際出接口;轉(zhuǎn)發(fā)子單元,用于通過所述實際出接口將所述報文發(fā)送給確定的所述下一跳pe,并指示確定的所述下一跳pe將所述報文轉(zhuǎn)發(fā)給所述ce。通過本發(fā)明,由于在主下一跳和備下一跳共路徑的鏈路發(fā)生故障后會通過后檢測到故障的pe進行報文轉(zhuǎn)發(fā),從而保證了報文能夠成功轉(zhuǎn)發(fā)到ce,避免出現(xiàn)路由黑洞問題。因此,可以解決相關(guān)技術(shù)中存在的路由黑洞問題,達到保證報文成功轉(zhuǎn)發(fā)的效果。附圖說明此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:圖1是相關(guān)技術(shù)中的ipran的網(wǎng)絡拓撲結(jié)構(gòu)示意圖;圖2是相關(guān)技術(shù)中的匯聚層口字型組網(wǎng)拓撲示意圖;圖3是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)方法的流程圖;圖4是根據(jù)本發(fā)明實施例的mpls業(yè)務逃生保護的方法的流程圖;圖5是根據(jù)本發(fā)明實施例的mpls業(yè)務逃生保護的組網(wǎng)示意圖;圖6是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)框圖;圖7是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中轉(zhuǎn)發(fā)模塊64的結(jié)構(gòu)框圖;圖8是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中確定單元72的結(jié)構(gòu)框圖;圖9是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中第二確定子單元84的結(jié)構(gòu)框圖;圖10是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中轉(zhuǎn)發(fā)單元74的結(jié)構(gòu)框圖;圖11是根據(jù)本發(fā)明實施例的mpls業(yè)務逃生保護裝置的結(jié)構(gòu)框圖。具體實施方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。在本實施例中提供了一種報文轉(zhuǎn)發(fā)方法,圖3是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)方法的流程圖,如圖3所示,該流程包括如下步驟:步驟s302,第一服務提供商邊緣設備pe在確定到達用戶邊緣設備ce的主下一跳和備下一跳共路徑的鏈路發(fā)生故障后,確定上述主下一跳和備下一跳中后檢測到故障的pe;步驟s304,第一pe將待發(fā)送到ce的報文通過后檢測到故障的pe轉(zhuǎn)發(fā)給ce。通過上述步驟,在主下一跳和備下一跳共路徑的鏈路發(fā)生故障后會通過后檢測到故障的pe進行報文轉(zhuǎn)發(fā),從而保證了報文能夠成功轉(zhuǎn)發(fā)到ce,避免出現(xiàn)路由黑洞問題。因此,可以解決相關(guān)技術(shù)中存在的路由黑洞問題,避免業(yè)務中斷,從而達到保證報文成功轉(zhuǎn)發(fā)的效果。在一個可選的實施例中,上述步驟s304中,第一pe可以通過如下方式將待發(fā)送到ce的報文通過后檢測到故障的pe轉(zhuǎn)發(fā)給ce:第一pe確定通過后檢測到故障的pe將所述報文轉(zhuǎn)發(fā)給ce的轉(zhuǎn)發(fā)表;該第一pe根據(jù)上述轉(zhuǎn)發(fā)表將報文轉(zhuǎn)發(fā)給ce。在一個可選的實施例中,上述第一pe確定通過后檢測到故障的pe將報文轉(zhuǎn)發(fā)給所述ce的轉(zhuǎn)發(fā)表包括:第一pe確定多協(xié)議標簽交換(multi-protocollabelswitching,簡稱為mpls)業(yè)務表,以及主下一跳和備下一跳的標簽分發(fā)協(xié)議ldp標簽表;第一pe根據(jù)上述主下一跳和備下一跳的故障檢測情況以及mpls業(yè)務表和ldp標簽表確定上述轉(zhuǎn)發(fā)表。在本實施例中,第一pe設備可以先形成mpls業(yè)務表,以及mpls業(yè)務到達主下一跳和備下一跳路由的ldp標簽表,并根據(jù)mpls業(yè)務表和ldp 標簽表生成用于流量轉(zhuǎn)發(fā)的mpls業(yè)務轉(zhuǎn)發(fā)表(對應于上述的轉(zhuǎn)發(fā)表),其中的主要信息包括,mpls業(yè)務當前實際轉(zhuǎn)發(fā)的下一跳pe設備,以及主備兩個下一跳的實際出接口和轉(zhuǎn)發(fā)狀態(tài)(轉(zhuǎn)發(fā)狀態(tài)包括有效或無效)。當主下一跳或備下一跳的bfd檢測狀態(tài)發(fā)生變化時,則立即更新上述的mpls業(yè)務轉(zhuǎn)發(fā)表。在一個可選的實施例中,上述第一pe根據(jù)上述主下一跳和備下一跳的故障檢測情況以及mpls業(yè)務表和ldp標簽表確定上述轉(zhuǎn)發(fā)表包括:當?shù)谝籶e確定上述主下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷主下一跳是否是后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將上述轉(zhuǎn)發(fā)表中的下一跳索引設置為備下一跳,同時將主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將轉(zhuǎn)發(fā)表中的下一跳索引設置為主下一跳(即,將主下一跳作為逃生路徑,繼續(xù)保持報文的轉(zhuǎn)發(fā)),同時將主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;和/或,當上述第一pe確定備下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷備下一跳是否是后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將轉(zhuǎn)發(fā)表中的下一跳索引設置為主下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將轉(zhuǎn)發(fā)表中的下一跳索引設置為備下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效。在一個可選的實施例中,當上述第一pe確定主下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,上述方法還包括:當上述第一pe確定主下一跳的bfd檢測狀態(tài)變?yōu)閡p時,將轉(zhuǎn)發(fā)表中的下一跳索引更新為主下一跳;同時將主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;和/或,當上述第一pe確定備下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,上述方法還包括:當?shù)谝籶e確定備下一跳的bfd檢測狀態(tài)變?yōu)閡p時,判斷主下一跳的bfd檢測狀態(tài)是否up;在判斷結(jié)果為不是up時,將轉(zhuǎn)發(fā)表中的下一跳索引更新為備下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)更新為有效;在判斷結(jié)果為是up時,維持轉(zhuǎn)發(fā)表中的下一跳索引為主下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效。在一個可選的實施例中,上述第一pe根據(jù)轉(zhuǎn)發(fā)表將報文轉(zhuǎn)發(fā)給所述 ce包括:第一pe根據(jù)所述轉(zhuǎn)發(fā)表確定實際進行報文轉(zhuǎn)發(fā)的下一跳pe設備和實際出接口;上述第一pe通過實際出接口將報文發(fā)送給確定的下一跳pe,并指示確定的上述下一跳pe將報文轉(zhuǎn)發(fā)給ce。在本實施例中,當mpls業(yè)務(對應于上述的報文)到達主備下一跳pe設備共路徑的鏈路發(fā)生故障時,主下一跳或備下一跳的bfd檢測狀態(tài)會先后變down。如果主下一跳的bfd先檢測down,備下一跳的bfd后檢測down,則保持mpls業(yè)務的備下一跳為逃生路徑,繼續(xù)保持轉(zhuǎn)發(fā)。這樣,pe收到數(shù)據(jù)流,檢索上述mpls業(yè)務轉(zhuǎn)發(fā)表,從中獲取到有效的備下一跳pe設備和實際出接口信息,將數(shù)據(jù)流從所述出接口轉(zhuǎn)發(fā)出去,最終到達備下一跳pe設備。如果備下一跳的bfd先檢測down,主下一跳的bfd后檢測down,則保持mpls業(yè)務的主下一跳為逃生路徑,繼續(xù)保持轉(zhuǎn)發(fā)。這樣,pe收到數(shù)據(jù)流,檢索所述mpls業(yè)務轉(zhuǎn)發(fā)表,從中獲取到有效的主下一跳pe設備和實際出接口信息,將數(shù)據(jù)流從所述出接口轉(zhuǎn)發(fā)出去,最終到達主下一跳pe設備。下面以mplsl3vpnfrr業(yè)務作為具體的實施例,結(jié)合附圖對本發(fā)明實施例中的方法作進一步的詳細描述。當然本發(fā)明涉及的業(yè)務領(lǐng)域不僅僅局限于mplsl3vpnfrr業(yè)務。本發(fā)明實施例中提供了一種mpls業(yè)務逃生保護的方法,具體的實施過程如圖4所示,包括:步驟s401.pe(對應于上述的第一pe)形成vpnfrr路由表(或者,上述的mpls業(yè)務表),以及vpnfrr路由主下一跳和備下一跳路由的ldp標簽表。步驟s402.根據(jù)上述vpnfrr路由表,以及vpnfrr路由主下一跳和備下一跳路由的ldp標簽表生成用于流量轉(zhuǎn)發(fā)的vpnfrr路由轉(zhuǎn)發(fā)表和主備下一跳轉(zhuǎn)發(fā)表(對應于上述的轉(zhuǎn)發(fā)表)。在組網(wǎng)中所有鏈路狀態(tài)都up的情況下,上述vpnfrr路由轉(zhuǎn)發(fā)表的信息如表1所示:表1上述主備下一跳轉(zhuǎn)發(fā)表的信息如表2所示:表2步驟s403.檢測主peerbfd(即,主下一跳)和備peerbfd(即,備下一跳)的狀態(tài)變化情況,如果檢測狀態(tài)變?yōu)閐own,則執(zhí)行步驟s404;如果檢測狀態(tài)變?yōu)閡p,則執(zhí)行步驟s411。步驟s404.判斷發(fā)生故障的peerbfd(即,下一跳)是主還是備,如果是主,則執(zhí)行步驟s405;如果是備,則執(zhí)行步驟s408。步驟s405.判斷發(fā)生故障的主peer是否是vpnfrr路由的最后一個下一跳(即,是否是后檢測到故障的pe),如果不是,則執(zhí)行步驟s406;如果是,則執(zhí)行步驟s407。步驟s406.將vpnfrr路由轉(zhuǎn)發(fā)表中的下一跳索引更新為指向主備下一跳轉(zhuǎn)發(fā)表中的備下一跳;同時將主備下一跳轉(zhuǎn)發(fā)表中主pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)出接口更新為備lsp出接口,轉(zhuǎn)發(fā)狀態(tài)位更新為無效。步驟s407.將vpnfrr路由轉(zhuǎn)發(fā)表不更新,下一跳索引繼續(xù)指向主備下一跳轉(zhuǎn)發(fā)表中的主下一跳,即保持該路由為逃生路由;同時主備下一 跳轉(zhuǎn)發(fā)表中主pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)狀態(tài)位也不更新,繼續(xù)保持有效轉(zhuǎn)發(fā),但是轉(zhuǎn)發(fā)出接口更新為備lsp出接口。步驟s408.判斷發(fā)生故障的備peer是否是vpnfrr路由的最后一個下一跳(即,是否是后檢測到故障的pe),如果不是,則執(zhí)行步驟s409;如果是,則執(zhí)行步驟s410。步驟s409.vpnfrr路由轉(zhuǎn)發(fā)表不更新,下一跳索引繼續(xù)指向主備下一跳轉(zhuǎn)發(fā)表中的主下一跳;同時將主備下一跳轉(zhuǎn)發(fā)表中備pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)出接口更新為備lsp出接口,轉(zhuǎn)發(fā)狀態(tài)位更新為無效。步驟s410.vpnfrr路由轉(zhuǎn)發(fā)表不更新,下一跳索引繼續(xù)指向主備下一跳轉(zhuǎn)發(fā)表中的備下一跳,即保持該路由為逃生路由;同時主備下一跳轉(zhuǎn)發(fā)表中備pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)狀態(tài)位也不更新,繼續(xù)保持有效轉(zhuǎn)發(fā),但是轉(zhuǎn)發(fā)出接口更新為備lsp出接口。步驟s411.判斷故障恢復的peerbfd是主還是備,如果是主,則執(zhí)行步驟s412;如果是備,則執(zhí)行步驟s413。步驟s412.將vpnfrr路由轉(zhuǎn)發(fā)表中的下一跳索引更新為指向主備下一跳轉(zhuǎn)發(fā)表中的主下一跳;同時將主備下一跳轉(zhuǎn)發(fā)表中主pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)出接口更新為當前l(fā)sp的實際出接口,轉(zhuǎn)發(fā)狀態(tài)位更新為有效。步驟s413.判斷當前主peerbfd的檢測狀態(tài)是否up,如果不是,則執(zhí)行步驟s414;如果是,則執(zhí)行步驟s415。步驟s414.將vpnfrr路由轉(zhuǎn)發(fā)表中的下一跳索引更新為指向主備下一跳轉(zhuǎn)發(fā)表中的備下一跳;同時將主備下一跳轉(zhuǎn)發(fā)表中備pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)出接口更新為當前l(fā)sp的實際出接口,轉(zhuǎn)發(fā)狀態(tài)位更新為有效。步驟s415.vpnfrr路由轉(zhuǎn)發(fā)表不更新,下一跳索引繼續(xù)指向主備下一跳轉(zhuǎn)發(fā)表中的主下一跳;主備下一跳轉(zhuǎn)發(fā)表中備pe對應的轉(zhuǎn)發(fā)條目,轉(zhuǎn)發(fā)出接口更新為當前l(fā)sp的實際出接口,轉(zhuǎn)發(fā)狀態(tài)位更新為有效。步驟s416.pe收到數(shù)據(jù)流時,根據(jù)報文中的目的ip地址檢索vpnfrr路由轉(zhuǎn)發(fā)表,從中獲取到下一跳索引,再根據(jù)下一跳索引檢索主備下一跳轉(zhuǎn)發(fā)表,從中獲取到有效的出接口信息,將數(shù)據(jù)流從出接口轉(zhuǎn)發(fā)出去,最終到達下一跳pe。為了描述更加清楚,下面結(jié)合具體的實例,對如何實現(xiàn)mpls業(yè)務逃生保護的方法加以詳細說明。網(wǎng)絡模型如圖5所示,pe3形成到用戶邊緣設備(customeredgedevice,簡稱為ce)的vpnfrr路由表,以及vpnfrr路由主下一跳和備下一跳路由的ldp標簽表。其中,vpnfrr路由的主下一跳為pe1,備下一跳為pe2。vpnfrr主路由的主lsp為pe3-pe1,備lsp為pe3-pe4-pe2-pe1;vpnfrr備路由的主lsp為pe3-pe1-pe2,備lsp為pe3-pe4-pe2。vpnfrr主備路由主lsp共路徑的鏈路為pe1-pe3。根據(jù)上述vpnfrr路由表和ldp標簽表生成用于流量轉(zhuǎn)發(fā)的vpnfrr路由轉(zhuǎn)發(fā)表和主備下一跳轉(zhuǎn)發(fā)表。在圖5所示的組網(wǎng)中,所有鏈路狀態(tài)都up的情況下,所述vpnfrr路由轉(zhuǎn)發(fā)表的信息如表3所示:表3ip地址前綴下一跳索引10.1.1.0/241.1.1.1上述主備下一跳轉(zhuǎn)發(fā)表的信息如表4所示,其中轉(zhuǎn)發(fā)狀態(tài)位字段,取值為1表示該出接口有效,取值為0表示該出接口無效。表4此時,pe(即,上述的pe3)收到發(fā)往ce的數(shù)據(jù)流,根據(jù)報文中的 目的ip地址10.1.1.1檢索到所述vpnfrr路由轉(zhuǎn)發(fā)表,從中獲取到下一跳索引指向主備下一跳轉(zhuǎn)發(fā)表中1.1.1.1對應的轉(zhuǎn)發(fā)條目,再根據(jù)所述下一跳索引檢索所述主備下一跳轉(zhuǎn)發(fā)表中1.1.1.1對應的轉(zhuǎn)發(fā)條目,從中獲取到有效的出接口為gei_0/0/0/1,將數(shù)據(jù)流從所述出接口轉(zhuǎn)發(fā)出去,到達下一跳pe1,再由pe1將數(shù)據(jù)流轉(zhuǎn)發(fā)給ce。當vpnfrr主備路由主lsp共路徑的鏈路pe1-pe3發(fā)生故障時,主備peerbfd的檢測狀態(tài)會先后變down。如果主peerbfd先檢測down,備peerbfd后檢測down,則保持vpnfrr路由的備路由為逃生路由,即所述vpnfrr路由轉(zhuǎn)發(fā)表的下一跳索引指向主備下一跳轉(zhuǎn)發(fā)表中的備pe。所述vpnfrr路由轉(zhuǎn)發(fā)表的信息如表5所示:表5ip地址前綴下一跳索引10.1.1.0/242.2.2.2上述主備下一跳轉(zhuǎn)發(fā)表的信息如表6所示:表6此時,pe收到發(fā)往ce的數(shù)據(jù)流,根據(jù)報文中的目的ip地址10.1.1.1檢索到所述vpnfrr路由轉(zhuǎn)發(fā)表,從中獲取到下一跳索引指向主備下一跳轉(zhuǎn)發(fā)表中2.2.2.2對應的轉(zhuǎn)發(fā)條目,再根據(jù)所述下一跳索引檢索所述主備下一跳轉(zhuǎn)發(fā)表中2.2.2.2對應的轉(zhuǎn)發(fā)條目,從中獲取到有效的出接口為gei_0/0/0/4,將數(shù)據(jù)流從所述出接口轉(zhuǎn)發(fā)出去,經(jīng)過pe4,最終到達下一跳pe2,再由pe2將數(shù)據(jù)流轉(zhuǎn)發(fā)給ce。如果備peerbfd先檢測down,主peerbfd后檢測down,則保持 vpnfrr路由的主路由為逃生路由,即所述vpnfrr路由轉(zhuǎn)發(fā)表的下一跳索引指向主備下一跳轉(zhuǎn)發(fā)表中的主pe。所述vpnfrr路由轉(zhuǎn)發(fā)表的信息如表7所示:表7ip地址前綴下一跳索引10.1.1.0/241.1.1.1主備下一跳轉(zhuǎn)發(fā)表的信息如表8所示:表8此時,pe收到發(fā)往ce的數(shù)據(jù)流,根據(jù)報文中的目的ip地址10.1.1.1檢索到所述vpnfrr路由轉(zhuǎn)發(fā)表,從中獲取到下一跳索引指向主備下一跳轉(zhuǎn)發(fā)表中1.1.1.1對應的轉(zhuǎn)發(fā)條目,再根據(jù)所述下一跳索引檢索所述主備下一跳轉(zhuǎn)發(fā)表中1.1.1.1對應的轉(zhuǎn)發(fā)條目,從中獲取到有效的出接口為gei_0/0/0/4,將數(shù)據(jù)流從所述出接口轉(zhuǎn)發(fā)出去,經(jīng)過pe4和pe2,最終到達下一跳pe1,再由pe1將數(shù)據(jù)流轉(zhuǎn)發(fā)給ce。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所 述的方法。在本實施例中還提供了一種報文轉(zhuǎn)發(fā)裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。圖6是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)框圖,該裝置可以應用于第一pe中,如圖6所示,該裝置包括確定模塊62和轉(zhuǎn)發(fā)模塊64,下面對該裝置進行說明。確定模塊62,用于在確定到達用戶邊緣設備ce的主下一跳和備下一跳共路徑的鏈路發(fā)生故障后,確定上述主下一跳和備下一跳中后檢測到故障的pe;轉(zhuǎn)發(fā)模塊64,連接至上述確定模塊62,用于將待發(fā)送到ce的報文通過后檢測到故障的pe轉(zhuǎn)發(fā)給ce。圖7是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中轉(zhuǎn)發(fā)模塊64的結(jié)構(gòu)框圖,如圖7所示,該轉(zhuǎn)發(fā)模塊64包括確定單元72和轉(zhuǎn)發(fā)單元74,下面對該轉(zhuǎn)發(fā)模塊64進行說明:確定單元72,用于確定通過上述后檢測到故障的pe將報文轉(zhuǎn)發(fā)給ce的轉(zhuǎn)發(fā)表;轉(zhuǎn)發(fā)單元74,連接至上述確定單元72,用于根據(jù)上述轉(zhuǎn)發(fā)表將報文轉(zhuǎn)發(fā)給ce。圖8是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中確定單元72的結(jié)構(gòu)框圖,如圖8所示,該確定單元72包括第一確定子單元82和第二確定子單元84,下面對該確定單元72進行說明:第一確定子單元82,用于確定多協(xié)議標簽交換mpls業(yè)務表,以及主下一跳和備下一跳的標簽分發(fā)協(xié)議ldp標簽表;第二確定子單元84,連接至上述第一確定子單元82,用于根據(jù)上述主下一跳和備下一跳的故障檢測情況以及mpls業(yè)務表和ldp標簽表確定上述轉(zhuǎn)發(fā)表。圖9是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中第二確定子單元84的結(jié) 構(gòu)框圖,如圖9所示,該第二確定子單元84包括第一處理次子單元92和/或第二處理次子單元94,下面對該第二確定子單元84進行說明。第一處理次子單元92,用于當上述第一pe確定主下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷上述主下一跳是否是后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將上述轉(zhuǎn)發(fā)表中的下一跳索引設置為備下一跳,同時將主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將上述轉(zhuǎn)發(fā)表中的下一跳索引設置為主下一跳,同時將主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;第二處理次子單元94,用于當上述第一pe確定備下一跳的雙向轉(zhuǎn)發(fā)檢測bfd檢測狀態(tài)變?yōu)閐own時,判斷上述備下一跳是否是后檢測到故障的pe;在判斷結(jié)果為不是的情況下,將上述轉(zhuǎn)發(fā)表中的下一跳索引設置為主下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為無效;在判斷結(jié)果為是的情況下,將上述轉(zhuǎn)發(fā)表中的下一跳索引設置為備下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效。在一個可選的實施例中,上述第一處理次子單元92還用于當?shù)谝籶e確定主下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,當?shù)谝籶e確定主下一跳的bfd檢測狀態(tài)變?yōu)閡p時,將轉(zhuǎn)發(fā)表中的下一跳索引更新為上述主下一跳;同時將主下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效;和/或,上述第二處理次子單元94還用于當?shù)谝籶e確定備下一跳的bfd檢測狀態(tài)變?yōu)閐own之后,當?shù)谝籶e確定備下一跳的bfd檢測狀態(tài)變?yōu)閡p時,判斷上述主下一跳的bfd檢測狀態(tài)是否up;在判斷結(jié)果為不是up時,將轉(zhuǎn)發(fā)表中的下一跳索引更新為備下一跳,同時將備下一跳的轉(zhuǎn)發(fā)狀態(tài)更新為有效;在判斷結(jié)果為是up時,維持上述轉(zhuǎn)發(fā)表中的下一跳索引為主下一跳,同時將上述備下一跳的轉(zhuǎn)發(fā)狀態(tài)設置為有效。圖10是根據(jù)本發(fā)明實施例的報文轉(zhuǎn)發(fā)裝置中轉(zhuǎn)發(fā)單元74的結(jié)構(gòu)框圖,如圖10所示,該轉(zhuǎn)發(fā)單元74包括第三確定子單元102和轉(zhuǎn)發(fā)子單元104,下面對該轉(zhuǎn)發(fā)單元74進行說明。第三確定子單元102,用于根據(jù)上述轉(zhuǎn)發(fā)表確定實際進行報文轉(zhuǎn)發(fā)的下一跳pe設備和實際出接口;轉(zhuǎn)發(fā)子單元104,連接至上述第三確定子單元102,用于通過上述實際出接口將報文發(fā)送給確定的上述下一跳pe,并指示確定的上述下一跳pe將報文轉(zhuǎn)發(fā)給ce。下面結(jié)合附圖對本發(fā)明實施例中的裝置作進一步的詳細描述。本發(fā)明實施例中提供了一種mpls業(yè)務逃生保護的裝置,如圖11所示,該裝置包括bfd檢測模塊112(對應于上述的確定模塊62)、路由管理模塊114(對應于上述的第一確定子單元82)、ldp管理模塊116(對應于上述的第一確定子單元82)、轉(zhuǎn)發(fā)表管理模塊118(對應于上述的第二確定子單元84)、流量轉(zhuǎn)發(fā)模塊1110(對應于上述的轉(zhuǎn)發(fā)單元74)其中:路由管理模塊114,用于創(chuàng)建pe設備上的vpnfrr路由表。ldp管理模塊116,用于創(chuàng)建vpnfrr路由主下一跳和備下一跳路由的ldp標簽表。路由管理模塊114和ldp管理模塊116都連接至轉(zhuǎn)發(fā)表管理模塊118,這樣轉(zhuǎn)發(fā)表管理模塊118就根據(jù)路由管理模塊114創(chuàng)建的vpnfrr路由表生成用于流量轉(zhuǎn)發(fā)的vpnfrr路由轉(zhuǎn)發(fā)表和主備下一跳轉(zhuǎn)發(fā)表,vpnfrr路由轉(zhuǎn)發(fā)表中的下一跳索引指向主備下一跳轉(zhuǎn)發(fā)表中的主pe或備pe,標識當前vpnfrr路由實際轉(zhuǎn)發(fā)的下一跳。另外,根據(jù)上述ldp管理模塊116創(chuàng)建的ldp標簽表生成主備下一跳轉(zhuǎn)發(fā)表中vpnfrr路由主下一跳和備下一跳路由的實際轉(zhuǎn)發(fā)出接口。同時,根據(jù)bfd檢測模塊112檢測到的主peerbfd和備peerbfd的檢測狀態(tài)將主備下一跳轉(zhuǎn)發(fā)表中vpnfrr路由主下一跳和備下一跳路由的轉(zhuǎn)發(fā)狀態(tài)位設置為有效或無效。上述的bfd檢測模塊112檢測主peerbfd或備peerbfd的狀態(tài),一旦檢測到bfd狀態(tài)發(fā)生變化,立即對上述轉(zhuǎn)發(fā)表管理模塊118的vpnfrr路由轉(zhuǎn)發(fā)表和主備下一跳轉(zhuǎn)發(fā)表進行更新。流量轉(zhuǎn)發(fā)模塊1110連接至轉(zhuǎn)發(fā)表管理模塊118,用于pe收到數(shù)據(jù)流時,根據(jù)報文中的目的ip地址檢索轉(zhuǎn)發(fā)表管理模塊118的vpnfrr路由 轉(zhuǎn)發(fā)表,從中獲取到下一跳索引,再根據(jù)該下一跳索引檢索轉(zhuǎn)發(fā)表管理模塊118的主備下一跳轉(zhuǎn)發(fā)表,從中獲取到有效的出接口信息,將數(shù)據(jù)流從所述出接口轉(zhuǎn)發(fā)出去,最終到達下一跳pe。由上述本發(fā)明提供的實施例的具體實施過程可以看到,本發(fā)明實施例中實現(xiàn)的mpls業(yè)務逃生保護的方法和裝置,能夠解決了當mpls業(yè)務到達主備下一跳pe設備共路徑的鏈路發(fā)生故障,主備下一跳bfd都中斷時,mpls業(yè)務主備下一跳轉(zhuǎn)發(fā)層面都會被置為無效,從而產(chǎn)生的轉(zhuǎn)發(fā)路由黑洞現(xiàn)象,導致業(yè)務中斷的問題,大大增強了網(wǎng)絡的可靠性,同時也提高了ipran承載解決方案的可行性。需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述各個模塊以任意組合的形式分別位于不同的處理器中。本發(fā)明的實施例還提供了一種存儲介質(zhì)。可選地,在本實施例中,上述存儲介質(zhì)可以被設置為存儲用于執(zhí)行以下步驟的程序代碼:s1,第一服務提供商邊緣設備pe在確定到達用戶邊緣設備ce的主下一跳和備下一跳共路徑的鏈路發(fā)生故障后,確定上述主下一跳和備下一跳中后檢測到故障的pe;s2,第一pe將待發(fā)送到ce的報文通過后檢測到故障的pe轉(zhuǎn)發(fā)給ce??蛇x地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(read-onlymemory,簡稱為rom)、隨機存取存儲器(randomaccessmemory,簡稱為ram)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)??蛇x地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述各方法實施例中的步驟。可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。顯然,本領(lǐng)域的技術(shù)人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1