專利名稱:一種網(wǎng)絡(luò)流量恢復(fù)的方法和路由設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及一種網(wǎng)絡(luò)流量恢復(fù)的方法和網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
虛擬路由冗余協(xié)議(VirtualRouter Redundancy Protocol,簡(jiǎn)稱 VRRP),是一種容錯(cuò)協(xié)議。該協(xié)議通過把幾臺(tái)物理路由設(shè)備聯(lián)合組成一臺(tái)虛擬路由設(shè)備,使用一定的機(jī)制保證當(dāng)主機(jī)的下一跳路由器出現(xiàn)故障時(shí),及時(shí)將業(yè)務(wù)切換到其它路由器,從而保持通訊的連續(xù)性和可靠性。VRRP將局域網(wǎng)的一組物理路由設(shè)備構(gòu)成一個(gè)VRRP備份組,相當(dāng)于一臺(tái)虛擬路由器。局域網(wǎng)內(nèi)的主機(jī)只需要知道這個(gè)虛擬路由器的IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址,并不需知道具體某臺(tái)物理路由設(shè)備自身的IP地址,將網(wǎng)絡(luò)內(nèi)主機(jī)的缺省網(wǎng)關(guān)設(shè)置為 該虛擬路由器的IP地址,主機(jī)就可以利用該虛擬路由器與外部網(wǎng)絡(luò)進(jìn)行通信。VRRP將該虛擬路由器動(dòng)態(tài)關(guān)聯(lián)到承擔(dān)傳輸業(yè)務(wù)的物理路由設(shè)備上,當(dāng)該承擔(dān)傳輸業(yè)務(wù)的物理路由設(shè)備出現(xiàn)故障時(shí),再次選擇新承擔(dān)傳輸業(yè)務(wù)的物理路由設(shè)備來接替業(yè)務(wù)傳輸工作,整個(gè)過程對(duì)用戶完全透明,實(shí)現(xiàn)了內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)不間斷通信。雙向轉(zhuǎn)發(fā)檢測(cè)(BidirectionalForwarding Detection,簡(jiǎn)稱 BFD)用于快速檢測(cè)系統(tǒng)設(shè)備之間鏈路的通信故障,并在出現(xiàn)故障時(shí)通知上層應(yīng)用。BFD用于檢測(cè)轉(zhuǎn)發(fā)引擎之間的通信故障。這條路徑可以是直連物理鏈路、虛電路、隧道、MPLS LSP、多跳路由路徑以及單向鏈路。一種利用BFD和VRRP追蹤改善網(wǎng)絡(luò)通訊的方法描述了在主節(jié)點(diǎn)與主路由器以及多個(gè)VRRP路由器之間存在第一通信鏈路,并在主節(jié)點(diǎn)與主路由器之間建立BFD通信。當(dāng)BFD通信失敗時(shí),主路由器的VRRP優(yōu)先級(jí)將被降低并激活一個(gè)備用路由器,并且直到BFD通信恢復(fù)之前,備用路由器實(shí)施主用路由器的功能并作為主用路由器使用。
發(fā)明內(nèi)容
根據(jù)第一方面,提供一種用于網(wǎng)絡(luò)流量恢復(fù)的方法,其包括當(dāng)虛擬路由器中的第一路由器相應(yīng)的第一交換網(wǎng)絡(luò)和第二路由器相應(yīng)的第二交換網(wǎng)絡(luò)之間的鏈路出現(xiàn)故障后,所述第一路由器和第二路由器之間持續(xù)發(fā)送狀態(tài)為DOWN的BFD報(bào)文;以及所述狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述第一路由器的VRRP優(yōu)先級(jí),或者所述虛擬路由器的標(biāo)識(shí)和所述第二路由器的VRRP優(yōu)先級(jí)。第一方面的技術(shù)方案采用狀態(tài)為DOWN的BFD報(bào)文持續(xù)發(fā)送虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí),發(fā)送頻率很快。一旦第一交換網(wǎng)絡(luò)和第二交換網(wǎng)絡(luò)之間的鏈路恢復(fù),可以虛擬使路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或虛擬使路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)快速到達(dá)對(duì)端的路由器。根據(jù)第一方面的網(wǎng)絡(luò)流量恢復(fù)的方法的第一實(shí)施方式,該方法中的所述狀態(tài)為DOWN的BFD報(bào)文以標(biāo)簽-長(zhǎng)度-值TLV (Tag-Length-Value,標(biāo)簽-長(zhǎng)度-值)格式中的賦值字段攜帶所述虛擬路由器的標(biāo)識(shí)和VRRP優(yōu)先級(jí)。根據(jù)第一方面的網(wǎng)絡(luò)流量恢復(fù)的方法的第二實(shí)施方式,該方法還包括當(dāng)所述第一交換網(wǎng)絡(luò)和第二交換網(wǎng)絡(luò)之間的鏈路恢復(fù)時(shí),所述第一路由器和第二路由器分別接收到對(duì)方發(fā)送的狀態(tài)為DOWN的BFD報(bào)文;所述第一路由器讀取所述虛擬路由器的標(biāo)識(shí)和所述第二路由器的VRRP優(yōu)先級(jí),所述第二路由器讀取所述虛擬路由器的標(biāo)識(shí)和所述第一路由器的VRRP優(yōu)先級(jí)。根據(jù)第一方面的網(wǎng)絡(luò)流量恢復(fù)的方法的第三實(shí)施方式,或根據(jù)第一方面的第一實(shí)施方式的第三實(shí)施方式,或根據(jù)第一方面的第二實(shí)施方式的第三實(shí)施方式,該方法還包括當(dāng)所述第一路由器的VRRP優(yōu)先級(jí)低于所述第二路由器的VRRP優(yōu)先級(jí)時(shí),所述第一路由器將其狀態(tài)調(diào)整為備用路由器并停止從所述第一路由器向第一交換網(wǎng)絡(luò)下發(fā)數(shù)據(jù);以及當(dāng)所述第二路由器的VRRP優(yōu)先級(jí)低于所述第一路由器的VRRP優(yōu)先級(jí)時(shí),所述第二路由器將其狀態(tài)調(diào)整為備用路由器并停止從所述第二路由器向第二交換網(wǎng)絡(luò)下發(fā)數(shù)據(jù)。 根據(jù)第一方面的網(wǎng)絡(luò)流量恢復(fù)的方法的第四實(shí)施方式,或根據(jù)第一方面的第一實(shí)施方式的第四實(shí)施方式,或根據(jù)第一方面的第二實(shí)施方式的第四實(shí)施方式,或根據(jù)第一方面的第三實(shí)施方式的第四實(shí)施方式,當(dāng)所述第一路由器和第二路由器分別接收到對(duì)方發(fā)送的狀態(tài)為DOWN的BFD報(bào)文后,并且所述第一路由器和第二路由器進(jìn)行BFD協(xié)商不成功時(shí),第一路由器和第二路由器之間持續(xù)發(fā)送狀態(tài)為INIT的BFD報(bào)文,所述狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或者所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。根據(jù)第二方面,提供一種路由設(shè)備,所述路由設(shè)備與第二路由設(shè)備組成虛擬路由器的至少一部分,所述路由設(shè)備通過第一交換網(wǎng)絡(luò)與用戶設(shè)備通信,所述第一交換網(wǎng)絡(luò)通過第一鏈路連接第二交換網(wǎng)絡(luò),所述路由設(shè)備通過第一交換網(wǎng)絡(luò)、第一鏈路和第二交換網(wǎng)絡(luò)與第二路由設(shè)備通信,所述路由設(shè)備包括檢測(cè)器,當(dāng)所述第一鏈路出現(xiàn)故障后,所述檢測(cè)器用于向第二路由器持續(xù)發(fā)送狀態(tài)為DOWN的BFD報(bào)文;以及所述狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由設(shè)備的VRRP優(yōu)先級(jí)。根據(jù)第二方面的路由設(shè)備的第一實(shí)施方式,所述檢測(cè)器所發(fā)送的所述狀態(tài)為DOWN的BFD報(bào)文以TLV格式中的賦值字段攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由設(shè)備的VRRP優(yōu)先級(jí)。根據(jù)第二方面的路由設(shè)備的第二實(shí)施方式,所述路由設(shè)備還包括處理器,當(dāng)所述第一鏈路恢復(fù)時(shí),所述處理器用于接收來自所述第二路由設(shè)備的狀態(tài)為DOWN的BFD報(bào)文,所述來自第二路由設(shè)備的狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述第二路由設(shè)備的VRRP優(yōu)先級(jí);所述處理器還用于讀取所述虛擬路由器的標(biāo)識(shí)和所述第二路由設(shè)備的VRRP優(yōu)先級(jí)。根據(jù)第二方面的路由設(shè)備的第三實(shí)施方式,或根據(jù)第二方面的路由設(shè)備的第一實(shí)施方式的第三實(shí)施方式,或根據(jù)第二方面的路由設(shè)備的第二實(shí)施方式的第三實(shí)施方式,當(dāng)所述路由設(shè)備的VRRP優(yōu)先級(jí)低于所述第二路由設(shè)備的VRRP優(yōu)先級(jí)時(shí),所述路由設(shè)備將其狀態(tài)調(diào)整為備用路由器并停止從所述路由設(shè)備向第一交換網(wǎng)絡(luò)下發(fā)數(shù)據(jù)。根據(jù)第二方面的路由設(shè)備的第四實(shí)施方式,或根據(jù)第二方面的路由設(shè)備的第一實(shí)施方式的第四實(shí)施方式,或根據(jù)第二方面的路由設(shè)備的第二實(shí)施方式的第四實(shí)施方式,或根據(jù)第二方面的路由設(shè)備的第二實(shí)施方式的第四實(shí)施方式,當(dāng)所述路由設(shè)備接收到來自第二路由設(shè)備的狀態(tài)為DOWN的BFD報(bào)文后,且所述路由設(shè)備與第二路由設(shè)備進(jìn)行BFD協(xié)商不成功時(shí),所述檢測(cè)器向第二路由器持續(xù)發(fā)送狀態(tài)為INIT的BFD報(bào)文,以及所述狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由器的VRRP優(yōu)先級(jí)。由于VRRP報(bào)文的傳輸間隔較大,當(dāng)交換網(wǎng)絡(luò)之間的鏈路恢復(fù)后,網(wǎng)絡(luò)環(huán)境中可能存在雙主用路由器,并且有雙份流量在每個(gè)交換網(wǎng)絡(luò)向用戶設(shè)備傳輸。因此,需要在鏈路恢復(fù)后及時(shí)的恢復(fù)路由器之間的通信,通過路由器的VRRP優(yōu)先級(jí)決定主用路由器和備用路由器,避免雙主用路由器和雙份流量的情況。
圖I為本發(fā)明實(shí)施例的方法的流程圖;
圖2為本發(fā)明實(shí)施例的網(wǎng)絡(luò)環(huán)境示意圖;圖3為本發(fā)明實(shí)施例的網(wǎng)絡(luò)環(huán)境示意圖;圖4為本發(fā)明實(shí)施例的網(wǎng)絡(luò)環(huán)境示意圖;圖5為本發(fā)明實(shí)施例所涉及的數(shù)據(jù)報(bào)文的示意圖;圖6為本發(fā)明實(shí)施例的方法的流程圖;圖7為本發(fā)明實(shí)施例的方法的流程圖;
圖8為本發(fā)明實(shí)施例的方法的流程圖;圖9為本發(fā)明實(shí)施例的模塊示意圖;圖10為本實(shí)施發(fā)明實(shí)施例的裝置示意圖。
具體實(shí)施例方式為了使本發(fā)明實(shí)施例的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。根據(jù)一個(gè)實(shí)施例,一種用于網(wǎng)絡(luò)流量恢復(fù)的方法,其應(yīng)用場(chǎng)景如圖2所示。虛擬路由器包括第一路由器RTl和第二路由器RT2。第一路由器RTl與第一交換網(wǎng)絡(luò)SWl連接,第二路由器RT2與第二交換網(wǎng)絡(luò)SW2連接,并且第一交換網(wǎng)絡(luò)SWl與第二交換網(wǎng)絡(luò)SW2之間通過第一鏈路連接。第一交換網(wǎng)絡(luò)SWl和第二交換網(wǎng)絡(luò)SW2可以分別是單臺(tái)交換機(jī)或者有多臺(tái)交換機(jī)構(gòu)成的交換網(wǎng)絡(luò)。該第一鏈路可以是物理鏈路或者邏輯鏈路,例如,偽線(PseudoWire,簡(jiǎn)稱PW)。假定起始狀態(tài)時(shí),第一路由器RTl的VRRP優(yōu)先級(jí)高于第二路由器RT2的優(yōu)先級(jí),在第一鏈路無故障的情況下,VRRP心跳報(bào)文從第一路由器RTl經(jīng)第一交換網(wǎng)絡(luò)SW1、第一鏈路和第二交換網(wǎng)絡(luò)SW2發(fā)送到第二路由器RT2。第二路由器RT2接收到第一路由器RTl發(fā)出的VRRP心跳報(bào)文,通過讀取VRRP心跳報(bào)文中攜帶的第一路由器RTl的VRRP優(yōu)先級(jí),第二路由器RT2比較自身VRRP優(yōu)先級(jí)與第一路由器RTl的VRRP優(yōu)先級(jí),確定第二路由器RT2的自身VRRP優(yōu)先級(jí)低。第二路由器RT2被設(shè)置為備用路由器,并阻塞從第二路由器RT2到第二交換網(wǎng)絡(luò)SW2的流量,從而實(shí)現(xiàn)組播流量的從第一路由器RTl到第一交換網(wǎng)絡(luò)Sffl,第一交換網(wǎng)絡(luò)SWl復(fù)制組播流量,并向與該第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備,同時(shí)向第二交換網(wǎng)絡(luò)SW2轉(zhuǎn)發(fā),第二交換網(wǎng)絡(luò)SW2接收到流量后向與該第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備轉(zhuǎn)發(fā)。這樣與第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備以及與第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備都可以正常接收到的組播流量。當(dāng)?shù)谝绘溌饭收蠒r(shí),如圖3所示,第一交換網(wǎng)絡(luò)SWl到第二交換網(wǎng)絡(luò)SW2的鏈路故障情況下,第一路由器RTl和第二路由器RT2上相互收不到對(duì)方的VRRP心跳報(bào)文。由于第二路由器RT2收不到第一路由器RTl發(fā)出的VRRP心跳報(bào)文,導(dǎo)致第二路由器RT2升級(jí)為主用路由器,并進(jìn)行流量轉(zhuǎn)發(fā)。組播流量從第一路由器RTl到第一交換網(wǎng)絡(luò)SW1,第一交換網(wǎng)絡(luò)SWl向與該第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備轉(zhuǎn)發(fā);同時(shí),組播流量也從第二路由器RT2轉(zhuǎn)發(fā)到第二交換網(wǎng)絡(luò)SW2,第二交換網(wǎng)絡(luò)SW2向與第二交換網(wǎng)絡(luò)SW相連的用戶設(shè)備轉(zhuǎn)發(fā)。這樣與第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備,以及與第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備都可以正常接收到組播流量。當(dāng)?shù)谝绘溌返墓收匣謴?fù)時(shí),如圖4所示,如果第二路由器RT2收到來自第一路由器RTl的VRRP心跳報(bào)文,第二路由器RT2才會(huì)阻塞與第二交換網(wǎng)絡(luò)SW2相連的下游端口。由于 第一路由器RTl按照固定的時(shí)隙發(fā)送VRRP心跳報(bào)文,第二路由器RT2可能感知很晚,一段時(shí)間內(nèi)存在雙主用路由器。一方面,組播流量從第一路由器RTl到第一交換網(wǎng)絡(luò)SW1,第一交換網(wǎng)絡(luò)SWl向與該第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備,及第二交換網(wǎng)絡(luò)SW2轉(zhuǎn)發(fā),第二交換網(wǎng)絡(luò)SW2收到第一交換網(wǎng)絡(luò)SWl的流量向與該第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備轉(zhuǎn)發(fā)。另一方面,組播流量的從第二路由器RT2到第二交換網(wǎng)絡(luò)SW2,第二交換網(wǎng)絡(luò)SW2向與第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備轉(zhuǎn)發(fā),同時(shí)也向第一交換網(wǎng)絡(luò)SWl轉(zhuǎn)發(fā),第一交換網(wǎng)絡(luò)SWl接收到第二交換網(wǎng)絡(luò)SW2的流量向與第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備轉(zhuǎn)發(fā)。這樣與第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備以及與第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備在一段時(shí)間內(nèi)都接收到雙份同樣的組播流量。該雙份流量的持續(xù)時(shí)間長(zhǎng)短和VRRP心跳報(bào)文發(fā)送周期有關(guān)。比如VRRP心跳報(bào)文發(fā)送周期為10s,則雙份流量的持續(xù)時(shí)間大概在O-IOs之間隨機(jī)分布。根據(jù)本實(shí)施例,如圖I所示。在S101,當(dāng)虛擬路由器中的第一路由器對(duì)應(yīng)的第一交換網(wǎng)絡(luò)和第二路由器對(duì)應(yīng)的第二交換網(wǎng)絡(luò)之間的鏈路出現(xiàn)故障,第一路由器和第二路由器之間持續(xù)向?qū)Χ寺酚善靼l(fā)送狀態(tài)為DOWN的BFD報(bào)文。S卩,第一路由器向第二路由器發(fā)送狀態(tài)為DOWN的BFD報(bào)文,第二路由器向第一路由器發(fā)送狀態(tài)為DOWN的BFD報(bào)文。所述第一路由器向第二路由器發(fā)送的狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),所述第二路由器向第一路由器發(fā)送的狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。狀態(tài)為DOWN的BFD報(bào)文是BFD協(xié)商過程的起始狀態(tài)。BFD報(bào)文可呈現(xiàn)3種狀態(tài),DOWN狀態(tài)、INIT狀態(tài)和UP。DOWN狀態(tài)意味著會(huì)話剛剛建立,會(huì)話將保持DOWN狀態(tài),直到對(duì)端通過發(fā)送狀態(tài)為DOWN狀態(tài)或INIT狀態(tài)的BFD報(bào)文來表明其認(rèn)同當(dāng)前的DOWN狀態(tài),如果收到的BFD報(bào)文是DOWN狀態(tài),則會(huì)話變成INIT狀態(tài),如果收到的BFD報(bào)文是INIT狀態(tài),則會(huì)話變成UP狀態(tài)。INIT狀態(tài)表明對(duì)端系統(tǒng)正在通信,本地系統(tǒng)希望會(huì)話變成UP狀態(tài),但對(duì)端系統(tǒng)如果沒有意識(shí)到這一點(diǎn),會(huì)話將保持在INIT狀態(tài),直到接收一個(gè)狀態(tài)為INIT或UP的BFD報(bào)文;或者直到檢測(cè)超時(shí),則意味著對(duì)端系統(tǒng)的通信已經(jīng)丟失,則會(huì)話將重新變?yōu)镈OWN狀態(tài)。構(gòu)成虛擬路由器的多個(gè)物理路由器的VRRP優(yōu)先級(jí)是根據(jù)VRRP協(xié)議配置的,根據(jù)VRRP優(yōu)先級(jí)的高低選擇主路由器,VRRP優(yōu)先級(jí)最高的物理路由器作為主路由器,狀態(tài)為Master。若構(gòu)成虛擬路由器的多個(gè)物理路由器中的一個(gè)或多個(gè)物理路由器的VRRP優(yōu)先級(jí)相同(如果路由器沒有配置優(yōu)先級(jí),就采用默認(rèn)值100),則比較這些VRRP優(yōu)先級(jí)相同的路由器與其對(duì)應(yīng)的網(wǎng)絡(luò)的接口的主IP地址,主IP地址大的就成為主路由器,由選中的主路由器提供實(shí)際的路由服務(wù),其他路由器作為備份路由器,隨時(shí)監(jiān)測(cè)主路由器的狀態(tài)。當(dāng)主路由器正常工作時(shí),主路由器會(huì)每隔一段時(shí)間向所有的備份路由器發(fā)送一個(gè)VRRP組播報(bào)文,以通知VRRP虛擬路由器組內(nèi)的備份路由器,主路由器處于正常工作狀態(tài)。如果組內(nèi)的備份路由器長(zhǎng)時(shí)間沒有接收到來自主路由器的VRRP組播報(bào)文,則將自己狀態(tài)轉(zhuǎn)換為Master。當(dāng)組內(nèi)有多臺(tái)備份路由器,將有可能產(chǎn)生多個(gè)主路由器。這時(shí)每一個(gè)主路由器就會(huì)比較VRRP組播報(bào)文中的VRRP優(yōu)先級(jí)和自身的VRRP優(yōu)先級(jí),如果自身的VRRP優(yōu)先級(jí)低于收到的VRRP組播報(bào)文中的優(yōu)先級(jí),則將自己的狀態(tài)轉(zhuǎn)換為Backup,否則保持自己的狀態(tài)不變。通過這樣一個(gè)過程,就會(huì)將VRRP優(yōu)先級(jí)最高的路由器選成新的主路由器,完成VRRP的備份功能。采用本實(shí)施方式的技術(shù)方案,可以利用BFD報(bào)文發(fā)送頻率高、間隔時(shí)間短的優(yōu)勢(shì)。通常BFD報(bào)文的發(fā)送間隔小于I秒,可選的,采用發(fā)送周期為3ms的BFD報(bào)文。此外,利用狀態(tài)為DOWN的BFD報(bào)文攜帶路由器標(biāo)識(shí)和VRRP優(yōu)先級(jí)可以提高報(bào)文接收端路由器的處理 效率,例如,采用VRRP心跳報(bào)文快速發(fā)送,需要對(duì)VRRP報(bào)文進(jìn)行CPU (Central ProcessingUnit,中央處理器)處理,可能導(dǎo)致CPU使用率大幅上升。而BFD報(bào)文對(duì)于CPU的資源消耗相對(duì)較低。在一個(gè)例子中,狀態(tài)為DOWN的BFD報(bào)文以TLV格式中的賦值字段攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。即,可以在第一路由器發(fā)送的BFD報(bào)文的TLV字段中攜帶第一路由器的VRRP優(yōu)先級(jí)和虛擬路由器的標(biāo)識(shí),在第二路由器發(fā)送的BFD報(bào)文的TLV字段中攜帶第二路由器的VRRP優(yōu)先級(jí)和虛擬路由器的標(biāo)識(shí)。報(bào)文格式如圖5所示,VRRPID標(biāo)示發(fā)出該第一路由器所屬的虛擬路由器的標(biāo)識(shí)或者第二路由器所屬的虛擬路由器的標(biāo)識(shí),VRRP Priority標(biāo)示報(bào)文發(fā)送端路由器(比如第一路由器或第二路由器)的VRRP優(yōu)先級(jí)。可選的,VRRP ID和VRRP Priority都采用2字節(jié)。一個(gè)BFD報(bào)文里可以存在多個(gè)TLV字段。可選的,當(dāng)?shù)谝宦酚善骰虻诙酚善鞯臓顟B(tài)不是主用路由器時(shí),VRRP優(yōu)先級(jí)的值為O。在另一個(gè)例子中,如圖6所示,在S601,當(dāng)所述第一交換網(wǎng)絡(luò)和第二交換網(wǎng)絡(luò)之間的鏈路恢復(fù)時(shí),所述第一路由器和第二路由器分別接收到對(duì)方發(fā)送的狀態(tài)為DOWN的BFD報(bào)文。在S603,所述第一路由器讀取所述虛擬路由器的標(biāo)識(shí)和所述第二路由器的VRRP優(yōu)先級(jí)。在S604,所述第二路由器讀取所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí)。S603和S604可能先后執(zhí)行或者同時(shí)執(zhí)行,對(duì)順序沒有要求。在另一個(gè)例子中,如圖7所示,在S701,當(dāng)所述第一路由器的VRRP優(yōu)先級(jí)低于所述第二路由器的VRRP優(yōu)先級(jí)時(shí),在S703,所述第一路由器將其狀態(tài)調(diào)整為備用路由器并停止從所述第一路由器RTl向第一交換網(wǎng)絡(luò)SWl轉(zhuǎn)發(fā)數(shù)據(jù)。在S702,當(dāng)所述第二路由器RT2的VRRP優(yōu)先級(jí)低于所述第一路由器RTl的VRRP優(yōu)先級(jí)時(shí),在S704,所述第二路由器RT2將其狀態(tài)調(diào)整為備用路由器并停止從所述第二路由器RT2向第二交換網(wǎng)絡(luò)SW2轉(zhuǎn)發(fā)數(shù)據(jù)。采用本實(shí)施方式的技術(shù)方案,如圖2所示,故障恢復(fù)后,第二路由器RT2接收到來自第一路由器RTl的狀態(tài)為DOWN的BFD報(bào)文,比較第二路由器RT2的優(yōu)先權(quán)與第一路由器RTl的優(yōu)先權(quán)。由于第二路由器RT2的優(yōu)先級(jí)較低,第二路由器RT2將自身設(shè)置為備用路由器,并阻塞第二路由器RT2到第二交換網(wǎng)絡(luò)SW2的流量。從而實(shí)現(xiàn)組播流量的從第一路由器RTl到第一交換網(wǎng)絡(luò)SW1,第一交換網(wǎng)絡(luò)SWl復(fù)制流量,向與第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備,及第二交換網(wǎng)絡(luò)SW2轉(zhuǎn)發(fā),第二交換網(wǎng)絡(luò)SW2接收到流量后向與第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備轉(zhuǎn)發(fā)。這樣與第一交換網(wǎng)絡(luò)SWl相連的用戶設(shè)備及與第二交換網(wǎng)絡(luò)SW2相連的用戶設(shè)備都可以正常接收到的組播流量。
在另一個(gè)例子中,如圖8所示,在S801,當(dāng)?shù)谝宦酚善骱偷诙酚善鞣謩e接收到對(duì)方發(fā)送的狀態(tài)為DOWN的BFD報(bào)文后,并且第一路由器和第二路由器進(jìn)行BFD協(xié)商不成功,例如第一路由器接收到來自第二路由器的狀態(tài)為DOWN的BFD報(bào)文,但是,第一路由器向第二路由器發(fā)送狀態(tài)為INIT的BFD報(bào)文卻沒有收到反饋。這種情況可能是由于鏈路故障部分恢復(fù),導(dǎo)致鏈路呈現(xiàn)單通狀態(tài),單向BFD報(bào)文可以傳遞,但是反向BFD報(bào)文不能傳輸。在S802,第一路由器和第二路由器之間持續(xù)互相發(fā)送狀態(tài)為INIT的BFD報(bào)文,S卩,第一路由器向第二路由器發(fā)送的狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),第二路由器向第一路由器發(fā)送的狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。根據(jù)一個(gè)實(shí)施例,提供一種路由設(shè)備。所述路由設(shè)備可以作為圖2所示的組成虛擬路由器的若干個(gè)路由器中的一個(gè),比如所述路由器可以是圖2所示的第一路由設(shè)備RT1,第一路由設(shè)備RTl通過第一交換網(wǎng)絡(luò)SWl與用戶設(shè)備通信,第一交換網(wǎng)絡(luò)SWl通過第一鏈路連接第二交換網(wǎng)絡(luò)SW2,路由設(shè)備RTl通過第一交換網(wǎng)絡(luò)SW1、第一鏈路和第二交換網(wǎng)絡(luò)SW2與第二路由設(shè)備RT2通信。如圖9所示,所述路由設(shè)備900包括檢測(cè)器901。當(dāng)?shù)谝绘溌烦霈F(xiàn)故障后,檢測(cè)器901用于向第二路由器RT2持續(xù)發(fā)送狀態(tài)為DOWN的BFD報(bào)文。所述狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由設(shè)備900的VRRP優(yōu)先級(jí)。根據(jù)一個(gè)例子,檢測(cè)器901所發(fā)送的狀態(tài)為DOWN的BFD報(bào)文以TLV格式中的賦值字段攜帶虛擬路由器的標(biāo)識(shí)和路由設(shè)備900的VRRP優(yōu)先級(jí)。采用本實(shí)施方式的技術(shù)方案,可以利用BFD報(bào)文發(fā)送頻率高、間隔時(shí)間短的優(yōu)勢(shì)。通常BFD報(bào)文的發(fā)送間隔小于I秒,可選的,采用發(fā)送周期為3ms的BFD報(bào)文。此外,利用狀態(tài)為DOWN的BFD報(bào)文攜帶路由器標(biāo)識(shí)和VRRP優(yōu)先級(jí)可以提高報(bào)文接收端路由器的處理效率,例如,采用VRRP心跳報(bào)文快速發(fā)送,需要對(duì)VRRP報(bào)文進(jìn)行CPU處理,可能導(dǎo)致CPU使用率大幅上升。而BFD報(bào)文對(duì)于CPU的資源消耗相對(duì)較低。根據(jù)另一個(gè)例子,路由設(shè)備900還包括處理器902。當(dāng)所述第一鏈路恢復(fù)時(shí),處理器902用于接收來自所述第二路由設(shè)備RT2的狀態(tài)為DOWN的BFD報(bào)文,來自第二路由設(shè)備RT2的狀態(tài)為DOWN的BFD報(bào)文攜帶虛擬路由器的標(biāo)識(shí)和第二路由設(shè)備RT2的VRRP優(yōu)先級(jí);處理器902還用于讀取所述虛擬路由器的標(biāo)識(shí)和所述第二路由設(shè)備RT2的VRRP優(yōu)先級(jí)。根據(jù)另一個(gè)例子,當(dāng)路由設(shè)備900的VRRP優(yōu)先級(jí)低于第二路由設(shè)備RT2的VRRP優(yōu)先級(jí)時(shí),處理器902將路由設(shè)備900的狀態(tài)調(diào)整為備用路由器并停止從路由設(shè)備900向第一交換網(wǎng)絡(luò)SWl下發(fā)數(shù)據(jù)。根據(jù)另一個(gè)例子,當(dāng)路由設(shè)備900接收到來自第二路由設(shè)備RT2的狀態(tài)為DOWN的BFD報(bào)文后,且路由設(shè)備900與第二路由設(shè)備RT2進(jìn)行BFD協(xié)商不成功時(shí),檢測(cè)器901向第二路由器RT2持續(xù)發(fā)送狀態(tài)為INIT的BFD報(bào)文,所述狀態(tài)為INIT的BH)報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由器900的VRRP優(yōu)先級(jí)。由于快速檢測(cè)手段有 BFD、0AM(Operation Administration and Maintenance,操作管理維護(hù))等很多種技術(shù),本申請(qǐng)中提及方案只以BFD舉例。圖10是實(shí)施本發(fā)明的方法的網(wǎng)絡(luò)設(shè)備的一個(gè)簡(jiǎn)化的例子,該網(wǎng)絡(luò)設(shè)備通過執(zhí)行一系列的指令執(zhí)行本發(fā)明的方法??蛇x的,該網(wǎng)絡(luò)設(shè)備可以通過例如網(wǎng)絡(luò)連接與其它設(shè)備相連。該網(wǎng)絡(luò)設(shè)備可以按順序或并行執(zhí)行一系列的指令。此外,盡管圖10中只展示了 I個(gè)網(wǎng)絡(luò)設(shè)備,但是應(yīng)該理解“設(shè)備”可以解釋為通過指令執(zhí)行本發(fā)明的方法的單個(gè)設(shè)備或多個(gè)設(shè)備的集合。網(wǎng)絡(luò)設(shè)備1000包括處理器1002、主內(nèi)存1004、靜態(tài)內(nèi)存1006、總線1008,處理器 1002可以執(zhí)行計(jì)算、選擇或比較等功能,處理器1002可以是CPU。主內(nèi)存1004可以存儲(chǔ)本發(fā)明的方法相關(guān)的參數(shù),例如,虛擬路由器的標(biāo)識(shí)或網(wǎng)絡(luò)設(shè)備1000的VRRP優(yōu)先級(jí)等。靜態(tài)內(nèi)存1006可以存儲(chǔ)本發(fā)明的方法的執(zhí)行所需的指令等。所述處理器1002、主內(nèi)存1004和靜態(tài)內(nèi)存1006通過總線1008通信。網(wǎng)絡(luò)設(shè)備1000還可包括磁盤驅(qū)動(dòng)器單元1016和網(wǎng)絡(luò)接口裝置1020。磁盤驅(qū)動(dòng)器單元1016也可以存儲(chǔ)本發(fā)明的方法的執(zhí)行所需的指令等。網(wǎng)絡(luò)接口裝置1020可以使網(wǎng)絡(luò)設(shè)備1000與外部通信,例如,發(fā)送狀態(tài)為DOWN的BFD報(bào)文或發(fā)送狀態(tài)為INIT的BFD報(bào)文等。磁盤驅(qū)動(dòng)器單元1016包括機(jī)器可讀介質(zhì)1022,機(jī)器可讀介質(zhì)1022存儲(chǔ)一個(gè)以上的指令和執(zhí)行本發(fā)明的方法的數(shù)據(jù)結(jié)構(gòu)1024(例如,軟件或者指令)。上述指令可部分或全部的存儲(chǔ)于主內(nèi)存1004或處理器1002中。指令和主內(nèi)存1004或處理器1002也可以構(gòu)成前述的機(jī)器可讀介質(zhì)。此外,前述指令可以通過網(wǎng)絡(luò)接口裝置1020,并利用現(xiàn)有通訊協(xié)議,發(fā)送至或從網(wǎng)絡(luò)端1026接收。機(jī)器可讀介質(zhì)1022可包括存儲(chǔ)指令的單介質(zhì)或多介質(zhì)(例如,集中或分散式的數(shù)據(jù)庫(kù)或與之相關(guān)的緩存)。術(shù)語“機(jī)器可讀介質(zhì)”也可理解為由機(jī)器執(zhí)行的任何可以實(shí)施本發(fā)明的方法的指令的存儲(chǔ)、編碼或承載介質(zhì)。術(shù)語“機(jī)器可讀介質(zhì)”也可理解為包括固態(tài)內(nèi)存和光磁介質(zhì)。通過以上的實(shí)施方式的描述,本領(lǐng)域的普通技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件來實(shí)現(xiàn)。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備、或者服務(wù)器、或者其他網(wǎng)絡(luò)設(shè)備執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上僅為本發(fā)明的較佳實(shí)施例,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)流量恢復(fù)的方法,其特征在于,包括 當(dāng)虛擬路由器中的第一路由器相連的第一交換網(wǎng)絡(luò)和第二路由器相連的第二交換網(wǎng)絡(luò)之間的鏈路出現(xiàn)故障后,所述第一路由器和第二路由器之間持續(xù)發(fā)送狀態(tài)為DOWN的雙向轉(zhuǎn)發(fā)檢測(cè)BFD報(bào)文;以及 所述狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或者所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述狀態(tài)為DOWN的BFD報(bào)文以標(biāo)簽長(zhǎng)度值TLV格式中的賦值字段攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,當(dāng)所述第一交換網(wǎng)絡(luò)和所述第二交換網(wǎng)絡(luò)之間的鏈路恢復(fù)時(shí),所述第一路由器和第二路由器分別接收到對(duì)方發(fā)送的狀態(tài)為DOWN的BFD報(bào)文; 所述第一路由器讀取所述第二路由器的VRRP優(yōu)先級(jí),所述第二路由器讀取所述第一路由器的VRRP優(yōu)先級(jí)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)所述第一路由器的VRRP優(yōu)先級(jí)低于所述第二路由器的VRRP優(yōu)先級(jí)時(shí),所述第一路由器將其狀態(tài)調(diào)整為備用路由器并停止從所述第一路由器向所述第一交換網(wǎng)絡(luò)下發(fā)數(shù)據(jù);以及 當(dāng)所述第二路由器的VRRP優(yōu)先級(jí)低于所述第一路由器的VRRP優(yōu)先級(jí)時(shí),所述第二路由器將其狀態(tài)調(diào)整為備用路由器并停止從所述第二路由器向所述第二交換網(wǎng)絡(luò)下發(fā)數(shù)據(jù)。
5.根據(jù)權(quán)利要求I或3所述的方法,其特征在于,當(dāng)所述第一路由器和第二路由器分別接收到對(duì)方發(fā)送的狀態(tài)為DOWN的BFD報(bào)文后,并且所述第一路由器和第二路由器進(jìn)行BFD協(xié)商不成功時(shí),第一路由器和第二路由器之間持續(xù)發(fā)送狀態(tài)為INIT的BFD報(bào)文,以及 所述狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述第一路由器的VRRP優(yōu)先級(jí),或者所述狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。
6.一種路由設(shè)備,其特征在于所述路由設(shè)備與第二路由設(shè)備組成虛擬路由器的至少一部分,所述路由設(shè)備通過第一交換網(wǎng)絡(luò)與用戶設(shè)備通信,所述第一交換網(wǎng)絡(luò)通過第一鏈路連接第二交換網(wǎng)絡(luò),所述路由設(shè)備通過第一交換網(wǎng)絡(luò)、第一鏈路、第二交換網(wǎng)絡(luò)與所述第二路由設(shè)備通信, 所述路由設(shè)備包括檢測(cè)器,當(dāng)所述第一鏈路出現(xiàn)故障后,所述檢測(cè)器用于向第二路由器持續(xù)發(fā)送狀態(tài)為DOWN的雙向轉(zhuǎn)發(fā)檢測(cè)BFD報(bào)文;以及 所述狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由設(shè)備的VRRP優(yōu)先級(jí)。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述檢測(cè)器所發(fā)送的所述狀態(tài)為DOWN的BFD報(bào)文以標(biāo)簽長(zhǎng)度值TLV格式中的賦值字段攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由設(shè)備的VRRP優(yōu)先級(jí)。
8.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于所述路由設(shè)備還包括處理器, 當(dāng)所述第一鏈路恢復(fù)時(shí),所述處理器用于接收來自所述第二路由設(shè)備的狀態(tài)為DOWN的BFD報(bào)文,所述來自第二路由設(shè)備的狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述第二路由設(shè)備的VRRP優(yōu)先級(jí); 所述處理器還用于讀取所述虛擬路由器的標(biāo)識(shí)和所述第二路由設(shè)備的VRRP優(yōu)先級(jí)。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,當(dāng)所述路由設(shè)備的VRRP優(yōu)先級(jí)低于所述第二路由設(shè)備的VRRP優(yōu)先級(jí)時(shí),所述路由設(shè)備將其狀態(tài)調(diào)整為備用路由器并停止從所述路由設(shè)備向第一交換網(wǎng)絡(luò)下發(fā)數(shù)據(jù)。
10.根據(jù)權(quán)利要求6或8所述的設(shè)備,其特征在于,當(dāng)所述路由設(shè)備接收到來自第二路由設(shè)備的狀態(tài)為DOWN的BFD報(bào)文后,且所述路由設(shè)備與第二路由設(shè)備進(jìn)行BFD協(xié)商不成功時(shí),所述檢測(cè)器向第二路由器持續(xù)發(fā)送狀態(tài)為INIT的BFD報(bào)文,以及 所述狀態(tài)為INIT的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和所述路由器的VRRP優(yōu)先級(jí)。
全文摘要
一種網(wǎng)絡(luò)流量恢復(fù)的方法,包括當(dāng)虛擬路由器中的第一路由器和第二路由器之間的鏈路故障時(shí),第一路由器和第二路由器相互持續(xù)發(fā)送狀態(tài)為DOWN的BFD報(bào)文,所述狀態(tài)為DOWN的BFD報(bào)文攜帶所述虛擬路由器的標(biāo)識(shí)和第一路由器的VRRP優(yōu)先級(jí),或者所述虛擬路由器的標(biāo)識(shí)和第二路由器的VRRP優(yōu)先級(jí)。從而保證比VRRP心跳報(bào)文更快的檢測(cè),避免故障解除后產(chǎn)生的雙主用路由器和雙份網(wǎng)絡(luò)流量的情況。
文檔編號(hào)H04L12/46GK102724073SQ20121020351
公開日2012年10月10日 申請(qǐng)日期2012年6月20日 優(yōu)先權(quán)日2012年6月20日
發(fā)明者周沖, 曾鍇, 王沖, 黃宗和 申請(qǐng)人:華為技術(shù)有限公司