專利名稱:快速重路由方法及節(jié)點(diǎn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)中的路由技術(shù),尤其涉及一種快速重路由(FRR, FastReRoute)方法及節(jié)點(diǎn)。
背景技術(shù):
快速重路由是多協(xié)議標(biāo)簽交換流量工程(MPLS TE, Multiprotocol Label Switching Traffic Engineering )中用于實(shí)現(xiàn)鏈^M呆護(hù)和節(jié)點(diǎn)J呆護(hù)的才幾制,其 基本原理是通過預(yù)先建立備份標(biāo)簽交換路徑(LSP, Label Switched Path)來 保護(hù)一條或多條LSP。其中,預(yù)先建立的備份LSP稱為保護(hù)LSP,被保護(hù)的 LSP稱為主LSP。當(dāng)主LSP鏈路或節(jié)點(diǎn)發(fā)生故障時,檢測到故障的設(shè)備快速 將業(yè)務(wù)從故障主LSP切換到保護(hù)LSP上,利用保護(hù)LSP繞過故障的鏈路或 節(jié)點(diǎn),以減少數(shù)據(jù)流量丟失。
通常,MPLS TE快速重路由按照保護(hù)對象的不同分為兩類
一、 保護(hù)直連鏈路
圖1示出了 FRR鏈路保護(hù)示意圖,圖中主LSP是路由器(Router) A ~*B —C —D,保護(hù)LSP是路由器B — F —C, B和C之間的直連鏈路是凈皮保 護(hù)鏈路,當(dāng)該直連鏈路發(fā)生故障時,流量切換到保護(hù)LSP上。
二、 保護(hù)中間節(jié)點(diǎn)
圖2示出了 FRR節(jié)點(diǎn)保護(hù)示意圖,圖中主LSP是路由器A — B —C —D —E,保護(hù)LSP是B —F —D, C是被保護(hù)節(jié)點(diǎn),當(dāng)路由器C失效時,流量切 換到保護(hù)LSP上。
目前,常用的快速重路由方法是通過軟件發(fā)包檢測的方式實(shí)現(xiàn)的,其基 本原理如下用戶配置的主LSP和保護(hù)LSP關(guān)聯(lián)的節(jié)點(diǎn)(一般位于主LSP
和保護(hù)LSP的交叉位置,下稱頭節(jié)點(diǎn))定期向被保護(hù)鏈路的對端節(jié)點(diǎn)或者 被保護(hù)節(jié)點(diǎn)發(fā)送狀態(tài)查詢報(bào)文,并判斷在規(guī)定的時間內(nèi)是否收到對端的響 應(yīng),如果收到,則確定被保護(hù)鏈路或被保護(hù)節(jié)點(diǎn)正常,不執(zhí)行切換操作;否 則,認(rèn)為被保護(hù)鏈路或被保護(hù)節(jié)點(diǎn)出現(xiàn)故障,執(zhí)行快速重路由切換,將業(yè)務(wù) 流量從主LSP切換到保護(hù)LSP上。具體到圖1中即,路由器B定期向路由 器C發(fā)送狀態(tài)查詢報(bào)文,如果規(guī)定時間內(nèi)沒有收到路由器C的響應(yīng),則認(rèn) 為B、 C之間的鏈路出現(xiàn)故障,執(zhí)行快速重路由切換,將流量從主LSP切換 到保護(hù)LSP上;路由器C上的路由切換機(jī)制與路由器B同理,這里不再贅 述。具體到圖2中即,路由器B定期向被保護(hù)節(jié)點(diǎn)C發(fā)送狀態(tài)查詢報(bào)文, 如果規(guī)定時間內(nèi)沒有收到C的響應(yīng),則認(rèn)為C出現(xiàn)故障,執(zhí)行快速重路由 切換,將流量從主LSP切換到保護(hù)LSP上;路由器D上的路由切換機(jī)制與 路由器B同理,這里不再贅述。
在實(shí)際應(yīng)用中,上述軟件發(fā)包檢測方案可通過以下兩種方式實(shí)現(xiàn)
一、 采用普通單核CPU
采用普通單核CPU時,節(jié)點(diǎn)上所有的業(yè)務(wù)處理過程包括軟件發(fā)包檢測 都由一個CPU來完成。在這種方式下,受CPU繁忙程度的影響,快速重路 由的切換速度一般只能達(dá)到Is量級,與電信級切換需求相距甚遠(yuǎn),這樣會 導(dǎo)致丟包時間過長,造成網(wǎng)絡(luò)通信中斷,而這對于金融、電力、政府等切換 實(shí)時性要求較高的應(yīng)用來說,后果將不堪設(shè)想。
二、 采用多核CPU或多CPU
為了減少中斷時間,達(dá)到快速切換,可以采用多內(nèi)核CPU或多CPU, 單獨(dú)用一個內(nèi)核或一個CPU來完成軟件發(fā)包檢測。但這種采用多內(nèi)核CPU 或多CPU的方式無疑會大大增加硬件成本,而且即使增加了硬件, 一般也 只能達(dá)到50ms量級,性能難以進(jìn)一步提升。
除了上述切換速度慢、硬件成本高等缺點(diǎn)外,現(xiàn)有的通過軟件發(fā)包檢測 方式實(shí)現(xiàn)的快速重路由方法還存在以下缺陷
網(wǎng)絡(luò)穩(wěn)定性差
軟件發(fā)包檢測方式受CPU繁忙程度的影響較大,當(dāng)CPU忙于其它業(yè)務(wù) 而不能及時返回響應(yīng)時,就可能會造成主LSP和保護(hù)LSP的反復(fù)切換,從 而導(dǎo)致網(wǎng)絡(luò)不穩(wěn)定,造成丟包時間的成倍增長。
適用范圍窄
對于保護(hù)中間節(jié)點(diǎn)的情況,軟件發(fā)包檢測方式只適用于中間有 一 個節(jié)點(diǎn) 的組網(wǎng)結(jié)構(gòu),也就是說只能保護(hù)一個中間節(jié)點(diǎn),當(dāng)中間有多個節(jié)點(diǎn)時,軟件 發(fā)包檢測無能為力,無法進(jìn)行有效保護(hù)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種快速重路由方法及節(jié)點(diǎn),在不增 加硬件成本的基礎(chǔ)上提高快速重路由的切換速度,并且既能保證網(wǎng)絡(luò)穩(wěn)定 性,又不受中間節(jié)點(diǎn)個數(shù)的限制。
為達(dá)到上述目的,本發(fā)明提供的技術(shù)方案如下
一種快速重路由方法,該方法包^"以下步驟
A、 節(jié)點(diǎn)收到端口 down中斷或者端口 down拓樸變化信息后,判斷故障 端口是否位于主標(biāo)簽交換路徑LSP上,如果是,則執(zhí)行步驟B;
B、 判斷本節(jié)點(diǎn)是否為頭節(jié)點(diǎn),如果是,則執(zhí)行快速重路由切換,將業(yè) 務(wù)流量從主LSP切換到保護(hù)LSP上;否則,向主LSP上可達(dá)的另一直連節(jié) 點(diǎn)發(fā)送端口 down拓樸變化信息,所述另一直連節(jié)點(diǎn)收到端口 down拓樸變 化信息后,執(zhí)行步驟A。
當(dāng)步驟A中判斷出故障端口不位于主LSP上時,跳出本流程。 所述端口 down中斷為普通中斷或者為快速中斷。
所述快速中斷是通過設(shè)置硬件中斷寄存器、配置硬件中斷能力和中斷類 型所獲得。
所述快速中斷產(chǎn)生后,節(jié)點(diǎn)根據(jù)軟件記錄的上下文和硬件配置寄存器的 上下文進(jìn)行過濾,獲取端口down中斷,然后執(zhí)4亍步驟A。
一種實(shí)現(xiàn)快速重路由的節(jié)點(diǎn),包括條件判斷模塊、路由切換模塊和信
息通知模塊,其中,
條件判斷模塊,用于在收到端口 down中斷或者端口 down拓樸變化信 息后,判斷故障端口是否位于主LSP上,如果是,則繼續(xù)判斷本節(jié)點(diǎn)是否 為頭節(jié)點(diǎn),如果是頭節(jié)點(diǎn),則通知路由切換模塊執(zhí)行快速重路由切換;如果 不是頭節(jié)點(diǎn),則通知信息通知模塊向主LSP上可達(dá)的另一直連節(jié)點(diǎn)發(fā)送端 口 down拓樸變化信息;
路由切換模塊,用于在收到條件判斷模塊的通知后,執(zhí)行快速重路由切 換,將主LSP切換到保護(hù)LSP上;
信息通知模塊,用于在收到條件判斷模塊的通知后,向主LSP上的上 行直連節(jié)點(diǎn)發(fā)送端口 down拓樸變化信息。
當(dāng)條件判斷模塊判斷出故障端口不位于主LSP上時,不作任何處理。
所述端口 down中斷為普通中斷或者為快速中斷。
所述快速中斷是通過設(shè)置硬件中斷寄存器、配置硬件中斷能力和中斷類 型所獲得。
該節(jié)點(diǎn)進(jìn)一步包括
中斷過濾模塊,用于在產(chǎn)生快速中斷后,根據(jù)軟件記錄的上下文和硬件 配置寄存器的上下文進(jìn)行過濾,獲取端口 down中斷,并將端口 down中斷 信息通知條件判斷模塊。
由此可見,本發(fā)明利用端口 down中斷實(shí)現(xiàn)了快速重路由,摒棄了現(xiàn)有 的軟件發(fā)包檢測方案,無需配置多內(nèi)核CPU或多CPU就可提高快速重路由 的切換速度,避免了硬件成本的增加,普通單核CPU即可支持,且不會影 響CPU使用率,不會對其他網(wǎng)絡(luò)協(xié)議造成沖擊,是一種簡單、高效、易行 的方案;并且,由于路由切換的觸發(fā)條件是實(shí)際端口物理down,而并非對 狀態(tài)查詢報(bào)文的響應(yīng),因此可以避免現(xiàn)有技術(shù)中因CPU繁忙不能及時返回 響應(yīng)而造成的主LSP和保護(hù)LSP的反復(fù)切換,從而保證了網(wǎng)絡(luò)的穩(wěn)定性, 減少了數(shù)據(jù)流量丟失;另外,本發(fā)明所提供的快速重路由方案不受鏈路上節(jié) 點(diǎn)個數(shù)的限制,適用范圍相比現(xiàn)有技術(shù)更為廣闊。
圖1為現(xiàn)有技術(shù)中的FRR鏈路保護(hù)示意圖2為現(xiàn)有技術(shù)中的FRR節(jié)點(diǎn)保護(hù)示意圖3為本發(fā)明實(shí)施例中的快速重路由方法流程圖4為本發(fā)明實(shí)施例中的組網(wǎng)結(jié)構(gòu)示意圖5為本發(fā)明實(shí)施例中實(shí)現(xiàn)快速重路由的節(jié)點(diǎn)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面參照附圖并舉 實(shí)施例,對本發(fā)明作進(jìn)一步詳細(xì)i兌明。
據(jù)統(tǒng)計(jì),在實(shí)際網(wǎng)絡(luò)應(yīng)用中,端口鏈路down(失效)占了所有鏈路故 障的絕大多數(shù),而對于端口 down,通過對硬件中斷控制寄存器進(jìn)行特殊配 置,可使物理硬件產(chǎn)生快速中斷,并結(jié)合軟件進(jìn)行分析過濾,可獲得實(shí)時中 斷。鑒于該特點(diǎn),本發(fā)明提出一種硬件檢測方案,其基本思想是利用物理 硬件產(chǎn)生的端口 down中斷對鏈路狀態(tài)作出實(shí)時準(zhǔn)確的判斷,以便能夠及時 處理鏈路故障,實(shí)現(xiàn)快速重路由。
圖3示出了本發(fā)明實(shí)施例中的快速重路由方法流程圖,包括以下步驟
步驟301:節(jié)點(diǎn)收到端口 down中斷后,判斷故障端口是否位于主LSP 上,如果是,則執(zhí)行步驟302;否則,結(jié)束本流程。
步驟302:判斷本節(jié)點(diǎn)是否為頭節(jié)點(diǎn)(用戶配置, 一般為主LSP和保護(hù) LSP交叉的節(jié)點(diǎn)),如果是,則執(zhí)行步驟303;否則,執(zhí)行步驟304。
步驟303:執(zhí)行快速重路由切換,將業(yè)務(wù)流量從主LSP切換到保護(hù)LSP上。
步驟304:向主LSP上可達(dá)的另一直連節(jié)點(diǎn)(下稱上行直連節(jié)點(diǎn))發(fā)送 端口 down拓樸變化信息,通知上行直連節(jié)點(diǎn)鏈路狀態(tài)發(fā)生變化,所述拓樸 變化信息中包含端口狀態(tài)、端口所處網(wǎng)絡(luò)中位置等內(nèi)容。上行直連節(jié)點(diǎn)收到 端口 down拓樸變化信息后,也執(zhí)行步驟301所述判斷操作。
下面結(jié)合圖4所示的組網(wǎng)結(jié)構(gòu),通過具體實(shí)施例對圖3中的快速重路由 過程進(jìn)行詳細(xì)說明。
如圖4所示,從左至右的正向流量主LSP是A —B —C —D —E —F,保 護(hù)LSP是B —G —E; /人右至左的反向流量主LSP是F —E —D —C —B —A, 保護(hù)LSP是E—G —B。當(dāng)路由器C和D之間的鏈路出現(xiàn)故障時,C和D上 與該鏈路相連的端口都會down掉,并產(chǎn)生端口down中斷,C和D均可感 知到該中斷。
在^v左至右的正向流量方向,C感知到端口 down中斷后,#4居自身維 護(hù)的網(wǎng)絡(luò)拓樸信息可發(fā)現(xiàn)故障端口位于主LSP上但自身不是頭節(jié)點(diǎn),故向 主LSP上的上行直連設(shè)備即路由器B發(fā)送端口 down拓樸變化信息,通知B 鏈路狀態(tài)發(fā)生變化;B收到C發(fā)送的端口 down拓樸變化信息后,發(fā)現(xiàn)自身 是主LSP上的頭節(jié)點(diǎn),直接執(zhí)行快速重路由切換,將正向流量從主LSP切 換到保護(hù)LSP上。
在vMv右至左的反向流量方向,D感知到端口 down中斷后,才艮據(jù)自身維 護(hù)的網(wǎng)絡(luò)拓樸信息可發(fā)現(xiàn)故障端口位于主LSP上但自身不是頭節(jié)點(diǎn),故向 主LSP上的上行直連設(shè)備即^各由器E發(fā)送端口 down拓樸變化信息,通知E 鏈路狀態(tài)發(fā)生變化;E收到D發(fā)送的端口 down拓樸變化信息后,發(fā)現(xiàn)自身 是主LSP上的頭節(jié)點(diǎn),直接執(zhí)行快速重路由切換,將反向流量從主LSP切 換到保護(hù)LSP上。
另外,在實(shí)際應(yīng)用中,有些端口當(dāng)物理down時,中斷并不實(shí)時,比如 1G電口 down時,物理down和中斷產(chǎn)生的最大時間差可達(dá)750ms左右。 為了盡量減少端口物理down和中斷產(chǎn)生的時間差,提高中斷的實(shí)時性,使 所有常M^以太網(wǎng)端口在端口物理down時能產(chǎn)生實(shí)時性強(qiáng)的中斷,可以在端 口up/down時,通過動態(tài)設(shè)置硬件中斷寄存器、配置硬件中斷能力和中斷類 型,獲得一個特殊的快速中斷類型。所述快速中斷并不表示端口物理down, 但端口物理down時一定會產(chǎn)生所述快速中斷。當(dāng)產(chǎn)生所述快速中斷后,軟 件根據(jù)軟件記錄的上下文和硬件配置寄存器的上下文進(jìn)行判斷,過濾出誤報(bào)
的非端口down中斷,以獲取真正的端口 down中斷,然后根據(jù)自身維護(hù)的 網(wǎng)絡(luò)拓樸信息進(jìn)行計(jì)算,判斷是將端口 down信息通知上行設(shè)備還是在本設(shè) 備上完成快速重路由。
通過以上描述可見,本發(fā)明利用端口 down中斷實(shí)現(xiàn)了快速重路由(根 據(jù)實(shí)驗(yàn)統(tǒng)計(jì),這種方式的切換速度可達(dá)10ms量級),摒棄了現(xiàn)有技術(shù)中的 軟件發(fā)包檢測方案,無需配置多內(nèi)核CPU或多CPU就可提高快速重路由的 切換速度,避免了硬件成本的增加,普通單核CPU即可支持,且不會影響 CPU使用率,不會對其他網(wǎng)絡(luò)協(xié)議造成沖擊,是一種簡單、高效、易行的方 案;并且,由于路由切換的觸發(fā)條件是實(shí)際端口物理down,而并非對狀態(tài) 查詢報(bào)文的響應(yīng),因此可以避免現(xiàn)有技術(shù)中因CPU繁忙不能及時返回響應(yīng) 而造成的主LSP和保護(hù)LSP的反復(fù)切換,/人而保證了網(wǎng)絡(luò)的穩(wěn)定性,減少 了數(shù)據(jù)流量丟失;另外,圖3所示的快速重路由方案不僅可以有效保護(hù)鏈路, 且不受鏈路上節(jié)點(diǎn)個數(shù)的限制,適用范圍相比現(xiàn)有技術(shù)更為廣闊。
相應(yīng)地,本發(fā)明還提供了一種實(shí)現(xiàn)快速重路由的節(jié)點(diǎn),其結(jié)構(gòu)參見圖5 所示,主要包括條件判斷模塊、路由切換模塊和信息通知模塊,其中,
條件判斷模塊,用于在收到端口 down中斷或者端口 down拓樸變化信 息后,判斷故障端口是否位于主LSP上,如果是,則繼續(xù)判斷本節(jié)點(diǎn)是否 為頭節(jié)點(diǎn),如果是頭節(jié)點(diǎn),則通知路由切換模塊執(zhí)行快速重路由切換;如果 不是頭節(jié)點(diǎn),則通知信息通知模塊向主LSP上可達(dá)的另一直連節(jié)點(diǎn)發(fā)送端 口 down拓樸變化信息;
路由切換模塊,用于在收到條件判斷模塊的通知后,執(zhí)行快速重路由切 換,將主LSP切換到保護(hù)LSP上;
信息通知模塊,用于在收到條件判斷模塊的通知后,向主LSP上的上 行直連節(jié)點(diǎn)發(fā)送端口 down拓樸變化信息。
當(dāng)條件判斷模塊判斷出故障端口不位于主LSP上時,不作任何處理。
所述端口 down中斷為普通中斷或者為快速中斷。所述快速中斷是通過 設(shè)置硬件中斷寄存器、配置硬件中斷能力和中斷類型所獲得。
該節(jié)點(diǎn)進(jìn)一步包括中斷過濾模塊,用于在產(chǎn)生快速中斷后,根據(jù)軟件 記錄的上下文和硬件配置寄存器的上下文進(jìn)行過濾,獲取端口 down中斷, 并將端口 down中斷信息通知條件判斷模塊。
以上所述對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步的詳細(xì)說 明,所應(yīng)理解的是,以上所述并不用以限制本發(fā)明,凡在本發(fā)明的精神和原 則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范 圍之內(nèi)。
權(quán)利要求
1.一種快速重路由方法,其特征在于,該方法包括以下步驟A、節(jié)點(diǎn)收到端口down中斷或者端口down拓?fù)渥兓畔⒑?,判斷故障端口是否位于主?biāo)簽交換路徑LSP上,如果是,則執(zhí)行步驟B;B、判斷本節(jié)點(diǎn)是否為頭節(jié)點(diǎn),如果是,則執(zhí)行快速重路由切換,將業(yè)務(wù)流量從主LSP切換到保護(hù)LSP上;否則,向主LSP上可達(dá)的另一直連節(jié)點(diǎn)發(fā)送端口down拓?fù)渥兓畔?,所述另一直連節(jié)點(diǎn)收到端口down拓?fù)渥兓畔⒑螅瑘?zhí)行步驟A。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)步驟A中判斷出故障端 口不位于主LSP上時,跳出本流程。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述端口 down中斷為普通 中斷或者為快速中斷。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述快速中斷是通過設(shè)置硬 件中斷寄存器、配置硬件中斷能力和中斷類型所獲得。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述快速中斷產(chǎn)生后,節(jié)點(diǎn) 根據(jù)軟件記錄的上下文和硬件配置寄存器的上下文進(jìn)行過濾,獲取端口 down 中斷,然后執(zhí)行步驟A。
6、 一種實(shí)現(xiàn)快速重路由的節(jié)點(diǎn),其特征在于,該節(jié)點(diǎn)包括條件判斷4莫塊、 路由切換模塊和信息通知模塊,其中,條件判斷模塊,用于在收到端口 down中斷或者端口 down拓樸變化信息后, 判斷故障端口是否位于主LSP上,如果是,則繼續(xù)判斷本節(jié)點(diǎn)是否為頭節(jié)點(diǎn), 如果是頭節(jié)點(diǎn),則通知路由切換模塊執(zhí)行快速重路由切換;如果不是頭節(jié)點(diǎn), 則通知信息通知模塊向主LSP上可達(dá)的另一直連節(jié)點(diǎn)發(fā)送端口 down拓樸變化 信息;路由切換模塊,用于在收到條件判斷模塊的通知后,執(zhí)行快速重路由切換, 將主LSP切換到保護(hù)LSP上;信息通知模塊,用于在收到條件判斷模塊的通知后,向主LSP上的上行直 連節(jié)點(diǎn)發(fā)送端口 down拓樸變化信息。
7、 根據(jù)權(quán)利要求6所述的節(jié)點(diǎn),其特征在于,當(dāng)條件判斷模塊判斷出故障 端口不位于主LSP上時,不作任何處理。
8、 根據(jù)權(quán)利要求6所述的節(jié)點(diǎn),其特征在于,所述端口 down中斷為普通 中斷或者為快速中斷。
9、 根據(jù)權(quán)利要求8所述的節(jié)點(diǎn),其特征在于,所述快速中斷是通過設(shè)置硬 件中斷寄存器、配置硬件中斷能力和中斷類型所獲得。
10、 根據(jù)權(quán)利要求9所述的節(jié)點(diǎn),其特征在于,該節(jié)點(diǎn)進(jìn)一步包括 中斷過濾模塊,用于在產(chǎn)生快速中斷后,根據(jù)軟件記錄的上下文和硬件配置寄存器的上下文進(jìn)行過濾,獲取端口 down中斷,并將端口 down中斷信息通 知條件判斷模塊。
全文摘要
本發(fā)明公開了一種快速重路由方法及節(jié)點(diǎn)。所述方法包括以下步驟A.節(jié)點(diǎn)收到端口down中斷或者端口down拓?fù)渥兓畔⒑?,判斷故障端口是否位于主?biāo)簽交換路徑LSP上,如果是,則執(zhí)行步驟B;B.判斷本節(jié)點(diǎn)是否為頭節(jié)點(diǎn),如果是,則執(zhí)行快速重路由切換,將業(yè)務(wù)流量從主LSP切換到保護(hù)LSP上;否則,向主LSP上可達(dá)的另一直連節(jié)點(diǎn)發(fā)送端口down拓?fù)渥兓畔?,所述另一直連節(jié)點(diǎn)收到端口down拓?fù)渥兓畔⒑?,?zhí)行步驟A。本發(fā)明能夠在不增加硬件成本的基礎(chǔ)上提高快速重路由的切換速度,并且既能保證網(wǎng)絡(luò)穩(wěn)定性,又不受中間節(jié)點(diǎn)個數(shù)的限制。
文檔編號H04L12/24GK101369981SQ20081022321
公開日2009年2月18日 申請日期2008年9月27日 優(yōu)先權(quán)日2008年9月27日
發(fā)明者李華舟 申請人:杭州華三通信技術(shù)有限公司