專利名稱:提高vpls中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機通訊技術(shù)領(lǐng)域,具體地說是一種提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法及裝置。
背景技術(shù):
VPLS(Virtual Private Local Area Network Service,虛擬專用局域網(wǎng)業(yè)務(wù))是在MPLS(Multi-Protocol Label Switch,多協(xié)議標簽交換)/IP網(wǎng)絡(luò)提供點到多點L2 VPN(Virtual Private Networks,虛擬專用網(wǎng))的技術(shù),也稱作透明局域網(wǎng)業(yè)務(wù)。越來越多的運營商采用VPLS技術(shù)為企業(yè)用戶提供VPN業(yè)務(wù)。VPLS可以看作是一組VSI(VirtualSwitch Instance,虛擬交換實例),VSI通過EoMPLS(Ethernet over MPLS,以太網(wǎng)承載于MPLS的一種技術(shù))虛擬電路連接起來形成一個邏輯的以太網(wǎng)交換機。VSI的工作原理與以太網(wǎng)交換機相似,如進行MAC地址學習,基于MAC地址進行以太網(wǎng)幀的轉(zhuǎn)發(fā)等等。如果以太網(wǎng)幀的目的MAC地址為未知地址單播,或者是組播或廣播地址,那么以太網(wǎng)幀將被洪泛到VSI內(nèi)的所有接口,包括物理接口和虛擬鏈路接口。連接到同一VPLS虛擬交換實例(VSI)的所有CE(Customer Equipment,客戶端設(shè)備)設(shè)備,就如同連接到一臺以太網(wǎng)交換機上一樣。
現(xiàn)有技術(shù)中,當某條客戶端設(shè)備與服務(wù)提供商設(shè)備之間的鏈路發(fā)生中斷時,將會為該客戶端設(shè)備重新建立一條鏈接,由于VPLS僅僅是透傳BPDU(Bridge Protocol Data Unite,橋接協(xié)議數(shù)據(jù)單元)報文,所以不能感知該拓撲的改變,無法及時刷新MAC表,當有其他用戶向該發(fā)生過故障的客戶端設(shè)備發(fā)送以太網(wǎng)幀時,VPLS仍按原來的路徑傳遞以太網(wǎng)幀,當傳遞到原來與該客戶端設(shè)備建立連接的服務(wù)提供商設(shè)備時,由于該連接已經(jīng)中斷,該服務(wù)提供商設(shè)備將該要傳遞的以太網(wǎng)幀丟棄,造成客戶端設(shè)備無法進行網(wǎng)絡(luò)通信。只有VSI學習的MAC地址老化以后重新學習MAC地址,才能恢復(fù)通信。
如圖1所示,PE-1,PE-2和PE-3是三臺PE(Provider Equipment,網(wǎng)絡(luò)提供商設(shè)備)設(shè)備,他們之間建立一個VPLS的虛擬交換實例(VSI),CE-1和CE-2是CE設(shè)備,它們是2層以太網(wǎng)交換機。CE-2雙歸屬連接到PE-2和PE-3上,為了實現(xiàn)無環(huán)路,CE-2上運行STP(Spanning Tree Protocol,生成樹協(xié)議)協(xié)議進行計算,用于計算無環(huán)路的轉(zhuǎn)發(fā)路徑。STP協(xié)議通過發(fā)送BPDU協(xié)議包,計算出一棵最短路徑樹。
假設(shè)STP計算的結(jié)果是E0接口處于forwarding(轉(zhuǎn)發(fā))狀態(tài),E1接口處于block(中斷)狀態(tài)。PC-1和PC-2是兩臺PC,它們通過VPLS網(wǎng)絡(luò)實現(xiàn)互通。在這個過程中,VSI將進行MAC地址學習的結(jié)果是PE-2在連接CE-2的接口學習到PC-2的MAC,PE-1在PW-1虛電路上學習到PC-2的MAC。
如果CE-2與PE-2之間的鏈路發(fā)生中斷,CE-2重新計算STP,計算的結(jié)果是E1接口處于forwarding狀態(tài)。由于VPLS僅僅是透傳BPDU報文,所以不能感知拓撲的改變,無法及時刷新MAC表。導致的結(jié)果是PC-1發(fā)送給PC-2的以太網(wǎng)幀轉(zhuǎn)發(fā)到PE-1時,PE-1上由于MAC表中PC-2的MAC地址對應(yīng)的出接口為PW-1,所以將該以太網(wǎng)幀發(fā)送給PE-2,PE-2與CE-2的鏈路中斷,PE-2將該以太網(wǎng)幀丟棄。導致PC-1與PC-2的通信中斷。只有等到PE-1的VSI學習的PC-2對應(yīng)的MAC老化之后,PC-1與PC-2的通信才能恢復(fù)。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)鏈路中斷時,VPLS不能感知網(wǎng)絡(luò)拓撲變化而導致發(fā)生故障的鏈路的客戶端設(shè)備的通訊中斷的問題,本發(fā)明提供一種提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法及裝置,它可以在網(wǎng)絡(luò)拓撲發(fā)生變化后,及時作出反應(yīng),以防止網(wǎng)絡(luò)通信的中斷。
本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法是虛擬交換實例對TCN報文進行監(jiān)聽,在虛擬交換實例接收到TCN BPDU報文之后,清空該虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
所述具體方法為A.在虛擬交換實例的服務(wù)提供商設(shè)備與客戶端設(shè)備連接的接口上啟動BPDU SNOOPING;B.當監(jiān)聽到TCN報文之后,清空該虛擬交換實例相的MAC地址表;C.向所述虛擬交換實例相關(guān)聯(lián)的虛擬交換實例內(nèi)的所有其他VPLS鄰居發(fā)送MAC撤消消息,通知這些鄰居清空關(guān)聯(lián)的MAC表;D.所述虛擬交換實例內(nèi)的其他VPLS鄰居接收到所述MAC撤消消息后,清空相關(guān)聯(lián)的MAC表。
所述另一種具體方法為A.在虛擬交換實例的服務(wù)提供商設(shè)備與客戶端設(shè)備連接的接口上以及服務(wù)提供商設(shè)備之間的虛電路上啟動BPDU SNOOPING;
B.監(jiān)聽到TCN報文之后,清空該虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
所述MAC地址表清空以后,虛擬交換實例接收到發(fā)往客戶端設(shè)備的以太網(wǎng)幀后,將該以太網(wǎng)幀在虛擬交換實例內(nèi)洪泛,最終將該以太網(wǎng)幀轉(zhuǎn)發(fā)給所述客戶端設(shè)備。
所述虛擬交換實例將以太網(wǎng)幀洪泛的同時,學習該以太網(wǎng)幀的源MAC地址,重新建立MAC地址表。
本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置,包括監(jiān)聽模塊,用于監(jiān)聽網(wǎng)絡(luò)中的TCN報文;清除模塊,用于在監(jiān)聽到TCN報文后清空虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
所述裝置還包括通知模塊,用于虛擬交換實例聽到TCN報文之后,在清空該虛擬交換實例相的MAC地址表的同時向該虛擬交換實例相關(guān)聯(lián)的虛擬交換實例內(nèi)的所有其他VPLS鄰居發(fā)送MAC撤消消息,通知這些鄰居清空關(guān)聯(lián)的MAC表。
所述裝置還包括洪泛傳播模塊,用于在MAC地址表被清空后,將要發(fā)送的報文在虛擬交換實例中洪泛。
所述裝置還包括學習模塊,用于重新學習以太網(wǎng)幀的源MAC地址,并重新建立虛擬交換實例的MAC地址表。
由于本發(fā)明的方法的VPLS隨時監(jiān)聽BPDU TCN報文,當網(wǎng)絡(luò)中某條鏈路中斷后,網(wǎng)絡(luò)及時的建立新的連接,并向虛擬實例發(fā)送BPDU TCN報文,虛擬實例接收到報文后及時更新MAC地址表,需要發(fā)送的報文不會因發(fā)送到錯誤的鏈路上而導致丟失,因此達到減小CE之間通信中斷時間的目的,提高了網(wǎng)絡(luò)傳輸?shù)目煽啃浴?br>
下面結(jié)合附圖和實施例對本發(fā)明進一步說明。
圖1為一種VPLS的虛擬實例網(wǎng)絡(luò)結(jié)構(gòu)的示意圖。
圖2為本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法的一種實施例的總流程圖。
圖3為本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法的一種實施例的具體流程圖。
圖4為本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法的另一種實施例的具體流程圖。
圖5為MAC地址清空后報文發(fā)送及重新建立MAC地址表的一種實施例的流程圖。
圖6為本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置的一種實施例的結(jié)構(gòu)框圖。
具體實施例方式
如圖1所示,服務(wù)提供商設(shè)備PE-1,PE-2和PE-3之間建立一個VPLS的虛擬交換實例,客戶端設(shè)備CE-2雙歸屬連接到服務(wù)提供商設(shè)備PE-2和PE-3上,為了實現(xiàn)無環(huán)路,客戶端設(shè)備CE-2上運行STP協(xié)議進行計算,用于計算無環(huán)路的轉(zhuǎn)發(fā)路徑。假設(shè)STP計算的結(jié)果是E0接口處于forwarding狀態(tài),E1接口處于block狀態(tài)。用戶PC-1和PC-2是兩臺PC,它們通過VPLS網(wǎng)絡(luò)實現(xiàn)互通。在這個過程中,VSI將進行MAC地址學習的結(jié)果是PE-2在連接CE-2的接口學習到PC-2的MAC,PE-1在PW-1虛電路上學習到PC-2的MAC。
如果CE-2與PE-2之間的鏈路發(fā)生中斷,CE-2重新計算STP,計算的結(jié)果是E1接口處于forwarding狀態(tài)。同時,STP會向網(wǎng)絡(luò)中發(fā)送TCN(topology change notification,網(wǎng)絡(luò)拓撲改變通知)報文。
參見圖2,本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法包括以下步驟步驟201在VPLS中啟動BPDU SNOOPING,對TCN BPDU報文進行監(jiān)聽;步驟202當虛擬交換實例監(jiān)聽到TCN BPDU報文后,清空該虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
作為本發(fā)明的在提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法中更為具體的一種方法參見圖3,其步驟如下步驟301在虛擬交換實例的服務(wù)提供商設(shè)備與客戶端設(shè)備連接的接口上啟動BPDUSNOOPING;例如在圖1所示的VPLS中,在服務(wù)提供商設(shè)備PE-3與客戶端設(shè)備CE-2之間的接口上啟動BPDU SNOOPING,如果服務(wù)提供商設(shè)備PE-2與客戶端設(shè)備CE-2之間鏈路中斷,由服務(wù)提供商設(shè)備PE-3與客戶端設(shè)備CE-2建立新的鏈路連接,服務(wù)提供商設(shè)備PE-3會監(jiān)聽到TCN報文;步驟302當監(jiān)聽到TCN報文之后,清空該虛擬交換實例的MAC地址表;在圖1所示的VPLS中,即服務(wù)提供商設(shè)備PE-3清除關(guān)于用戶PC-2的MAC地址表;步驟303向所述虛擬交換實例相關(guān)聯(lián)的虛擬交換實例內(nèi)的所有其他VPLS鄰居發(fā)送MAC撤消消息,通知這些鄰居清空關(guān)聯(lián)的MAC表;在圖1所示的VPLS中,服務(wù)提供商設(shè)備PE-3發(fā)送MAC撤消消息通知其他服務(wù)提供商設(shè)備即服務(wù)提供商設(shè)備PE-1和PE-2;步驟304所述虛擬交換實例內(nèi)的其他VPLS鄰居接收到所述MAC撤消消息后,清空相關(guān)聯(lián)的MAC表;在圖1所示的VPLS中,即服務(wù)提供商設(shè)備PE-1和PE-2除關(guān)于用戶PC-2的MAC地址表。
作為本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法中另一種更為具體的方法參見圖4,其步驟如下步驟401在虛擬交換實例的服務(wù)提供商設(shè)備與客戶端設(shè)備連接的接口上以及服務(wù)提供商設(shè)備之間的虛電路上啟動BPDU SNOOPING;在圖1所示的VPLS中,即在服務(wù)提供商設(shè)備PE-2或PE-3與客戶端設(shè)備CE-2之間的接口上和服務(wù)提供商設(shè)備PE-1、PE-2、PE-3中兩兩之間的虛電路PW-1、PW-2、PW-3上同時啟動BPDU SNOOPING,如果服務(wù)提供商設(shè)備PE-2與客戶端設(shè)備CE-2之間鏈路中斷,由服務(wù)提供商設(shè)備PE-3與客戶端設(shè)備CE-2建立新的鏈路連接,服務(wù)提供商設(shè)備PE-1、PE-2和PE-3都會監(jiān)聽到TCN報文;步驟402在監(jiān)聽到TCN報文之后,清空該虛擬交換實例的MAC地址表及其關(guān)聯(lián)的虛擬交換實例的MAC地址表;在圖1所示的VPLS中,即服務(wù)提供商設(shè)備PE-1、PE-2和PE-3同時清除關(guān)于用戶PC-2的MAC地址表。
在清空MAC地址表后,如果VSI接收到發(fā)往出現(xiàn)過鏈路故障的客戶端設(shè)備的以太網(wǎng)幀,其操作步驟如圖5所示步驟501首先接收到該以太網(wǎng)幀的服務(wù)提供商設(shè)備將該以太網(wǎng)幀在虛擬交換實例內(nèi)洪泛;例如圖1中的用戶PC-1向用戶PC-2發(fā)送以太網(wǎng)幀,首先由客戶端設(shè)備CE-1轉(zhuǎn)發(fā)給服務(wù)提供商設(shè)備PE-1,由于MAC地址表中沒有關(guān)于用戶PC-2的MAC地址,于是服務(wù)提供商設(shè)備PE-1將該以太網(wǎng)幀洪泛給服務(wù)提供商設(shè)備PE-2和PE-3;步驟502與目的客戶端設(shè)備相連接的那臺服務(wù)提供商設(shè)備將以太網(wǎng)幀發(fā)送給相應(yīng)的客戶端設(shè)備;例如圖1中的服務(wù)提供商設(shè)備PE-3將以太網(wǎng)幀發(fā)送給客戶端設(shè)備CE-2,再由客戶端設(shè)備CE-2轉(zhuǎn)發(fā)給用戶PC-2;步驟503與目的客戶端設(shè)備相連接的那臺服務(wù)提供商設(shè)備將以太網(wǎng)幀發(fā)送給相應(yīng)的客戶端設(shè)備的同時,上學習到以該太網(wǎng)幀的源MAC地址;例如圖1中的服務(wù)提供商設(shè)備PE-3將以太網(wǎng)幀發(fā)送給客戶端設(shè)備CE-2的同時從客戶端設(shè)備CE-2處學習得到用戶PC-2的MAC地址,服務(wù)提供商設(shè)備PE-1從服務(wù)提供商設(shè)備PE-3處學習得到用戶PC-2的MAC地址;步驟504服務(wù)提供商設(shè)備根據(jù)學習的MAC地址重新建立MAC地址表;例如圖1中的服務(wù)提供商設(shè)備PE-3和PE-1分別建立關(guān)于用戶PC-2的MAC地址表。
如圖6所示,本發(fā)明的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置包括監(jiān)聽模塊601,用于監(jiān)聽網(wǎng)絡(luò)中的TCN報文;清除模塊602,用于在監(jiān)聽到TCN報文后清空虛擬交換實例相關(guān)聯(lián)的虛擬交換實例的MAC地址。
通知模塊603,用于虛擬交換實例聽到TCN報文之后,在清空該虛擬交換實例相關(guān)聯(lián)的虛擬交換實例的MAC地址表的同時向該虛擬交換實例相關(guān)聯(lián)的虛擬交換實例內(nèi)的所有其他VPLS鄰居發(fā)送MAC撤消消息,通知這些鄰居清空虛擬交換實例關(guān)聯(lián)的MAC表。
洪泛傳播模塊604,用于在MAC地址表被清空后,將要發(fā)送的報文在虛擬交換實例中洪泛。
學習模塊605,用于重新學習以太幀的源MAC地址,并重新建立虛擬交換實例的MAC地址表。
在本發(fā)明中,在VSI參與STP計算,同樣也可以達到感知CE側(cè)交換網(wǎng)絡(luò)拓撲改變信息,重新計算新的STP樹,達到減小CE之間通信中斷時間的目的。
本發(fā)明除了可以利用STP(包括STP/RSTP/MSTP)協(xié)議實現(xiàn)VSI監(jiān)聽BPDU協(xié)議包,還可以適用于其他二層網(wǎng)絡(luò)協(xié)議如RRPP(Rapid Ring Protection Protocol,拓撲改變報文)或EAPS(Ethernet Automatic Protection Switching,MAC地址更新報文)的監(jiān)聽,與BPDUSNOOPING實現(xiàn)原理類似,收到上述報文之后進行MAC表更新。
權(quán)利要求
1.一種提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法,其特征在于,虛擬交換實例對TCN報文進行監(jiān)聽,在虛擬交換實例接收到TCN BPDU報文之后,清空該虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
2.根據(jù)權(quán)利要求1所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法,其特征在于,所述具體方法為A.在虛擬交換實例的服務(wù)提供商設(shè)備與客戶端設(shè)備連接的接口上啟動BPDU SNOOPING;B.當監(jiān)聽到TCN報文之后,清空該虛擬交換實例的MAC地址表;C.向所述虛擬交換實例相關(guān)聯(lián)的虛擬交換實例內(nèi)的所有其他VPLS鄰居發(fā)送MAC撤消消息,通知這些鄰居清空關(guān)聯(lián)的MAC表;D.所述虛擬交換實例內(nèi)的其他VPLS鄰居接收到所述MAC撤消消息后,清空相關(guān)聯(lián)的MAC表。
3.根據(jù)權(quán)利要求1所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法,其特征在于,所述具體方法為A.在虛擬交換實例的服務(wù)提供商設(shè)備與客戶端設(shè)備連接的接口上以及服務(wù)提供商設(shè)備之間的虛電路上啟動BPDU SNOOPING;B.監(jiān)聽到TCN報文之后,清空該虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
4.根據(jù)權(quán)利要求2或3所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法,其特征在于,所述MAC地址表清空以后,虛擬交換實例接收到發(fā)往客戶端設(shè)備的以太網(wǎng)幀后,將該以太網(wǎng)幀在虛擬交換實例內(nèi)洪泛,最終將該以太網(wǎng)幀轉(zhuǎn)發(fā)給所述客戶端設(shè)備。
5.根據(jù)權(quán)利要求4所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法,其特征在于,所述虛擬交換實例將以太網(wǎng)幀洪泛的同時,學習該以太網(wǎng)幀的源MAC地址,重新建立MAC地址表。
6.一種提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置,其特征在于,所述裝置包括監(jiān)聽模塊,用于監(jiān)聽網(wǎng)絡(luò)中的TCN報文;清除模塊,用于在監(jiān)聽到TCN報文后清空虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。
7.根據(jù)權(quán)利要求6所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置,其特征在于,所述裝置還包括通知模塊,用于虛擬交換實例聽到TCN報文之后,在清空該虛擬交換實例的MAC地址表的同時向該虛擬交換實例相關(guān)聯(lián)的虛擬交換實例內(nèi)的所有其他VPLS鄰居發(fā)送MAC撤消消息,通知這些鄰居清空關(guān)聯(lián)的MAC表。
8.根據(jù)權(quán)利要求6或7所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置,其特征在于,所述裝置還包括洪泛傳播模塊,用于在MAC地址表被清空后,將要發(fā)送的報文在虛擬交換實例中洪泛。
9.根據(jù)權(quán)利要求8所述的提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的裝置,其特征在于,所述裝置還包括學習模塊,用于重新學習以太網(wǎng)幀的源MAC地址,并重新建立虛擬交換實例的MAC地址表。
全文摘要
本發(fā)明公開了一種提高VPLS中客戶端設(shè)備雙歸屬網(wǎng)絡(luò)可靠性的方法及裝置,屬于計算機通訊技術(shù)領(lǐng)域。本發(fā)明是由虛擬交換實例對TCN報文進行監(jiān)聽,在虛擬交換實例接收到TCN BPDU報文之后,清空該虛擬交換實例的MAC地址表及其相關(guān)聯(lián)的虛擬交換實例的MAC地址表。由于本發(fā)明的方法的VPLS隨時監(jiān)聽BPDU TCN報文,當網(wǎng)絡(luò)中某條鏈路中斷后,網(wǎng)絡(luò)及時建立新的連接,并向虛擬實例發(fā)送BPDU TCN報文,虛擬實例接收到報文后及時更新MAC地址表,需要發(fā)送的報文不會因發(fā)送到錯誤的鏈路上而導致丟失,因此達到減小CE之間通信中斷時間的目的,提高了網(wǎng)絡(luò)傳輸?shù)目煽啃浴?br>
文檔編號H04L12/66GK1909497SQ200610111710
公開日2007年2月7日 申請日期2006年8月24日 優(yōu)先權(quán)日2006年8月24日
發(fā)明者徐小虎 申請人:華為技術(shù)有限公司