两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于虛擬路由器冗余協(xié)議備份組恢復流量的方法和裝置的制作方法

文檔序號:7866244閱讀:225來源:國知局
專利名稱:用于虛擬路由器冗余協(xié)議備份組恢復流量的方法和裝置的制作方法
技術領域
本發(fā)明涉及VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗余協(xié)議)技術,特別涉及用于VRRP備份組恢復流量的方法和裝置。
背景技術
VRRP能夠將可承擔網(wǎng)關功能的多臺路由設備加入到一個VRRP備份組中、并利用該VRRP備份組形成一臺虛擬路由設備,以使得二層網(wǎng)絡(例如局域網(wǎng))中處在VRRP備份組所在網(wǎng)段內的各臺本地主機只需將虛擬路由設備配置為缺省網(wǎng)關,從而能夠簡化網(wǎng)絡主機的配置。其中,VRRP備份組中的每臺路由設備可稱為該VRRP備份組的成員設備;并且,在VRRP備份組中,優(yōu)先級最高的一臺成員設備會被選舉為Master (主)狀態(tài)、其余成員設備則均處在Backup (備)狀態(tài)。當產(chǎn)生各本地主機之間的二層報文流量時,二層網(wǎng)絡中的交換設備可以直接轉發(fā)、而無需由VRRP備份組承擔。當產(chǎn)生各本地主機與三層網(wǎng)絡交互的上、下行報文流量時,則需要由VRRP備份組來承擔。具體說,Master狀態(tài)的成員設備和Backup狀態(tài)的成員設備都會發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,通過網(wǎng)段路由信息的發(fā)布,從本地主機通過VRRP備份組發(fā)向三層網(wǎng)絡(例如Internet)的上行報文流量就會全部被Master狀態(tài)的成員設備單獨承擔,而三層網(wǎng)絡通過VRRP備份組發(fā)向本地主機的下行流量就能夠被Master狀態(tài)的成員設備和Backup狀態(tài)的成員設備共同分擔。在圖Ia至圖Ic中,二層網(wǎng)絡中包括順序相連的三臺交換機SW1 SW3,三臺交換機SffrSff3分別接入有本地主機Cf C3 ;VRRP備份組作為本地主機Cf C3的網(wǎng)關、并包括三臺成員設備Rf R3,三臺成員設備Rf R3分別連接交換機SWf SW3、并均接入三層網(wǎng)絡。其中,本地主機Cf C3的IP地址依次為10. I. I. 12、10. I. I. 13、10. I. I. 14,成員設備R1 R3具有相同的虛擬IP地址(vIP) 10. I. I. 1,且成員設備RfR3的真實IP地址依次為10. I. 1.2、
10.I. I. 3,10. I. I. 4。其中,參見圖la,本地主機Cl與C2之間的二層報文流量可以由交換機SWl和SW2來轉發(fā);同理,本地主機Cl與C3之間的二層報文流量能夠由交換機SWf SW3轉發(fā)、本地主機C2與C3之間的二層報文流量能夠由交換機SW2和SW3轉發(fā)。而且,成員設備Rf R3均會發(fā)布VRRP備份組所在網(wǎng)段10. I. 1.0/24的網(wǎng)段路由信息;相應地,參見圖lb,成員設備Rl處在Master狀態(tài)、并承擔本地主機C1 C3的上行報文流量;以及,參見圖lc,成員設備R2和R3則均處在Backup狀態(tài)、并與成員設備Rl共同分擔本地主機Cf C3的下行報文流量。另外,在實際應用中,有可能會出現(xiàn)Master狀態(tài)的成員設備發(fā)生故障的情況,以及,二層網(wǎng)絡分裂的情況。對于Master狀態(tài)的成員設備發(fā)生故障的情況,Backup狀態(tài)的各臺成員設備會長期無法收到由原Master狀態(tài)的成員設備發(fā)送的VRRP通告報文,因而會認定原Master狀態(tài)的成員設備已發(fā)生故障,并觸發(fā)Backup狀態(tài)的各臺成員設備重新選舉出一臺成員設備切換至Master狀態(tài)。此時,由交換設備承擔的二層報文流量不受影響、上行報文流量會切換至新Master狀態(tài)的成員設備、下行報文流量則仍能夠由新Master狀態(tài)的成員設備和剩余的Backup狀態(tài)的成員設備共同分擔。g卩,對于如圖Ia至圖Ic所示的實例,只需更換成員設備R2或R3為Master狀態(tài)、并且成員設備Rl不再承擔上、下行報文流量。對于二層網(wǎng)絡分裂的情況,交換設備之間的二層鏈路會斷開、并導致VRRP通告報文無法通過二層網(wǎng)絡到達所有Backup狀態(tài)的成員設備,相應地,若有Backup狀態(tài)的成員設備與Master狀態(tài)的成員設備分屬于不同的分裂子網(wǎng),則這些Backup狀態(tài)的成員設備就會長期無法收到VRRP通告報文、且這些Backup狀態(tài)的成員設備中會有一臺被選舉為Master狀態(tài),從而在每個分裂子網(wǎng)中均有一臺成員設備處在Master狀態(tài)。此時,只有上行報文流量能夠正確地被所屬分裂子網(wǎng)內的Master狀態(tài)的成員設備轉發(fā)。但本地主機之間的二層報文流量會由于交換設備之間的二層鏈路而中斷;而且,由于分屬于不同分裂子網(wǎng)的所有成員設備均在分裂之前發(fā)布了相同網(wǎng)段的網(wǎng)段路由信息、并導致三層網(wǎng)絡中同時存在多條可用的相同網(wǎng)段的網(wǎng)段路由信息,因此,對于無法分辨出本地主機所屬分裂子網(wǎng)的三層網(wǎng)絡來說,每一臺本地主機的下行報文流量就有可能被錯誤地路由至與其分屬不同分裂子網(wǎng)的成員設備,從而導致該本地主機無法接收到其下行報文流量、即該本地主機的下行流量中斷。在圖2a至圖2c中,當交換機SWl與SW2之間的鏈路發(fā)生故障、并導致二層網(wǎng)絡發(fā)生網(wǎng)絡分裂后,交換機SWl與本地主機Cl處在一個分裂子網(wǎng)、交換機SW2和SW3與本地主機C2和C3處在另一個分裂子網(wǎng);相應地,Backup狀態(tài)的成員設備R2和R3就無法通過二層網(wǎng)絡接收到成員設備Rl的VRRP通告報文,進而導致其中的成員設備R2被選舉為Master狀態(tài)、并由成員設備R2再次發(fā)布VRRP備份組所在網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息。而且,Master狀態(tài)的成員設備Rl僅與接入在交換機SWl的本地主機Cl保持連接、但與分別接入在交換機SW2和SW3的本地主機C2和C3失去連接,而切換至Master狀態(tài)的成員設備R2以及繼續(xù)保持在Backup的成員設備R3則與接入在交換機SW2和SW3的本地主機C2和C3保持連接、但與接入在交換機SWl的本地主機Cl失去連接。其中,參見圖2a,本地主機Cl與C2之間的二層報文流量、以及本地主機Cl與C3之間的二層報文流量均會中斷。參見圖2b,成員設備Rl處在Master狀態(tài)、并承擔其所在分裂子網(wǎng)內的本地主機Cl的上行報文流量,而成員設備R2處在Master狀態(tài)、并承擔其所在分裂子網(wǎng)內的本地主機C2^C3的上行報文流量;參見圖2c,當三層網(wǎng)絡產(chǎn)生本地主機Cl的下行報文流量時,該下行報文流量既有可能以本地主機Cl所在分裂子網(wǎng)中的成員設備Rl為下一跳、也有可能以另一分裂子網(wǎng)中的成員設備R2或R3為下一跳,但若該下行報文流量被路由至成員設備R2或R3、而不是成員設備Rl,則會導致成員設備R2或R3無法將該下行報文流量轉發(fā)至與其失去連接的本地主機Cl,從而導致本地主機Cl的下行報文流量中斷。同理,當三層網(wǎng)絡產(chǎn)生本地主機C2或C3的下行報文流量時,若該下行報文流量被路由至成員設備R1,同樣也會導致成員設備Rl無法將該下行報文流量轉發(fā)與其失去連接的本地主機C2或C3,從而導致本地主機C2或C3的下行報文流量中斷??梢姡诂F(xiàn)有技術中,二層網(wǎng)絡分裂所導致的二層報文流量中斷無法被恢復;而且,由于所有成員設備均會發(fā)布相同網(wǎng)段的網(wǎng)段路由信息,因此,當VRRP備份組由于二層網(wǎng)絡發(fā)生網(wǎng)絡分裂時,三層網(wǎng)絡會無法正確區(qū)分出下行報文流量的下一跳成員設備,進而就有可能導致本地主機的下行報文流量中斷。

發(fā)明內容
有鑒于此,本發(fā)明提供了一種用于VRRP備份組恢復流量的方法和裝置。本發(fā)明提供的一種用于VRRP備份組恢復流量的方法,該方法包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟alO、當本機從Backup狀態(tài)切換至Master狀態(tài)后,判斷在本機切換之前處于Master狀態(tài)的其他成員設備目前是否仍在Master狀態(tài)正常工作;a20、若步驟alO判斷為是,則偵測VRRP備份組所在網(wǎng)段內的本地ARP表項是否有效;a30、若步驟a20偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則發(fā)布有效的本地ARP表項所對應的本地主機IP地址的主機路由信息;b 10、當本機在Master狀態(tài)接收到其他成員設備發(fā)布的本地主機IP地址的主機路由信息后,判斷該本地主機IP地址是否與本機的二層接口同處在VRRP備份組所在網(wǎng)段;b20、若步驟blO判斷為是,則檢測該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟b20所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;b30、若步驟b20檢測出無IP地址沖突,則為其他成員發(fā)布的該本地主機IP地址在本機創(chuàng)建遠程ARP代理表項;clO、當本機在Master狀態(tài)從本機連接三層網(wǎng)絡的三層接口接收到數(shù)據(jù)報文后,判斷該數(shù)據(jù)報文的源IP地址和目的IP地址是否均與本機的二層接口同處在VRRP備份組所在網(wǎng)段;c20、若步驟ClO判斷為是、且該數(shù)據(jù)報文的源IP地址目前尚未在本機創(chuàng)建對應的遠程ARP代理表項,則檢測該數(shù)據(jù)報文的源IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟c20所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應該數(shù)據(jù)報文的源IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;c30、若步驟c20檢測出無IP地址沖突,則為該數(shù)據(jù)報文的源IP地址在本機創(chuàng)建遠程ARP代理表項;其中,與遠程ARP代理表項對應相同IP地址的本地ARP表項會被本機刪除;遠程ARP代理表項中的Mac地址為本機的Mac地址;由本機利用遠程ARP代理表項所轉發(fā)的數(shù)據(jù)報文中的Mac地址會被設置為本機的Mac地址。該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟dlO、當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機通過步驟a30發(fā)布了本地主機IP地址的主機路由信息,則撤銷本機發(fā)布的該本地主機IP地址的主機路由信息;d21、當本機接收到其他成員設備撤銷了已發(fā)布的本地主機IP地址的主機路由信息的通知后,若判斷出被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口同處在VRRP備份組所在網(wǎng)段、且被撤銷的主機路由信息所對應的該本地主機IP地址在本機存在對應的遠程ARP代理表項,則檢測被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突;d22、若步驟d21檢測出存在IP地址沖突,則刪除該本地主機IP地址對應的遠程ARP代理表項、并為該本地主機IP地址創(chuàng)建對應的本地ARP表項;d31、當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機已創(chuàng)建有遠程ARP代理表項,則檢查已創(chuàng)建的各遠程ARP代理表項所對應的IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突;d32、若步驟d31檢測出有遠程ARP代理表項存在IP地址沖突,則刪除存在IP地址沖突的遠程ARP代理表項、并為沖突的IP地址創(chuàng)建對應的本地ARP表項。步驟b20和步驟c20通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測、以及觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟b20發(fā)出的免費ARP報文的源IP地址和目的IP地址均為其他成員發(fā)布的主機路由信息所對應的本地主機IP地址;步驟c30發(fā)出的免費ARP報文的源IP地址和目的IP地址均為接收到的數(shù)據(jù)報文的源IP地址、源Mac地址為本機的Mac地址;步驟d21和步驟d31通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)IP地址沖的檢測;其中,步驟d21發(fā)出的該免費ARP報文的源IP地址和目的IP地址均為被撤銷的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;步驟d31發(fā)出的免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)建的遠程ARP代理表項所對應的IP地址、源Mac地址為本機的Mac地址;若步驟b20、步驟c20、步驟d21、以及步驟d31在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。在應用該方法的VRRP備份組中,每臺成員設備進一步在切換至Backup狀態(tài)后被禁止發(fā)布所述網(wǎng)段路由信息,并且,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟b00、當本機從Initialize狀態(tài)切換至Master狀態(tài)后,發(fā)布所述網(wǎng)段路由信息。該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟a40、若步驟alO判斷為否,則發(fā)布所述網(wǎng)段路由信息;a50、當本機在發(fā)布了所述網(wǎng)段路由信息之后從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的所述網(wǎng)段路由信息。該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟a60、當本機通過重選舉而使在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)、并發(fā)布了所述網(wǎng)段路由信息的其他成員設備又切換至了 Backup狀態(tài)之后,發(fā)
1布所述網(wǎng)段路由信息。該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟elO、當本機發(fā)布所述網(wǎng)段信息時,還發(fā)布本機真實IP地址的主機路由信息;e20、當本機在Backup狀態(tài)接收到其他成員設備真實IP地址的主機路由信息后,記錄該主機路由信息;e30、當本機在連接三層網(wǎng)絡的接口接收到其他成員設備真實IP地址的主機路由信息被撤銷后,將本機記錄的該主機路由信息刪除;e40、當本機從Master狀態(tài)切換至Backup狀態(tài)后,撤銷本機發(fā)布的本機真實IP地址的主機路由信息;以及,步驟alO包括alOl、當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;al02、當步驟alOl查詢到本機記錄有其他成員設備真實IP地址的主機路由信息后,依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;al03、若步驟alOl未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息、或步驟al02在所述查詢等待周期內未接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前未在Master狀態(tài)正常工作;al04、若步驟al02在所述查詢等待周期內接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前仍在Master狀態(tài)正常工作;或者,步驟alO包括alOl、當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;al02、若步驟alOl未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前未在Master狀態(tài)正常工作;al03、若步驟alOl查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前仍在Master狀態(tài)正常工作。步驟a20通過在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項發(fā)送對應的ARP查詢報文來偵測本地ARP表項是否有效;若在所述應答等待周期內未接收到ARP應答報文,則確認對應的本地ARP表項無效;若在所述應答等待周期內收到了 ARP應答報文,則確認對應的本地ARP表項有效。該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟HO、當本機在Backup狀態(tài)接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);f20、若步驟a20偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則為有效的本地ARP表項配置老化時間;
f30、當本機的有效本地ARP表項老化時,刪除老化的有效的本地ARP表項、并更新本機已發(fā)布的本地主機IP地址的主機路由信息;f40、當本機從Master狀態(tài)切換至Backup狀態(tài)后,將本機在Master狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。本發(fā)明提供的一種用于VRRP備份組恢復流量的裝置,在應用該方法的VRRP備份組中,每臺成員設備連接二層網(wǎng)絡的二層接口可啟用ARP遠程代理功能,并且,該裝置包括在VRRP備份組中的每臺成員設備承載的如下模塊成員狀態(tài)判斷模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,判斷在本機從Backup狀態(tài)切換至Master之前處于Master狀態(tài)的其他成員設備目前是否仍在Master狀態(tài)正常工作;ARP表項偵測模塊,若所述成員狀態(tài)判斷模塊判斷為是,則偵測VRRP備份組所在網(wǎng)段內的本地ARP表項是否有效;主機路由發(fā)布模塊,若所述ARP表項偵測模塊偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則發(fā)布有效的本地ARP表項所對應的本地主機IP地址的主機路由信息;第一地址判斷模塊,當本機在Master狀態(tài)接收到其他成員設備發(fā)布的本地主機IP地址的主機路由信息后,判斷該本地主機IP地址是否與本機的二層接口同處在VRRP備份組所在網(wǎng)段;第一檢測刷新模塊,若所述主機地址判斷模塊判斷為是,則檢測該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,所述第一檢測刷新模塊所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;第一代理創(chuàng)建模塊,若所述第一沖突檢測模塊檢測出無IP地址沖突,則為其他成員發(fā)布的該本地主機IP地址在本機創(chuàng)建遠程ARP代理表項;第二地址判斷模塊,當本機在Master狀態(tài)從本機連接三層網(wǎng)絡的三層接口接收到數(shù)據(jù)報文后,判斷該數(shù)據(jù)報文的源IP地址和目的IP地址是否均與本機的二層接口同處在VRRP備份組所在網(wǎng)段;第二檢測刷新模塊,若所述第一地址判斷模塊判斷為是、且該數(shù)據(jù)報文的源IP地址目前尚未在本機創(chuàng)建對應的遠程ARP代理表項,則檢測該數(shù)據(jù)報文的源IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,所述第二檢測刷新模塊所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應該數(shù)據(jù)報文的源IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;第二代理創(chuàng)建模塊,若所述第二沖突檢測模塊檢測出無IP地址沖突,則為該數(shù)據(jù)報文的源IP地址在本機創(chuàng)建遠程ARP代理表項;其中,與遠程ARP代理表項對應相同IP地址的本地ARP表項會被本機刪除;遠程ARP代理表項中的Mac地址為本機的Mac地址;由本機利用遠程ARP代理表項所轉發(fā)的數(shù)據(jù)報文中的Mac地址會被設置為本機的Mac地址。該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊主機路由撤銷模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機通過所述主機路由發(fā)布模塊發(fā)布了本地主機IP地址的主機路由信息,則撤銷本機發(fā)布的該本地主機IP地址的主機路由信息;第一撤銷檢測模塊,當本機接收到其他成員設備撤銷了已發(fā)布的本地主機IP地址的主機路由信息的通知后,若判斷出被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口同處在VRRP備份組所在網(wǎng)段、且被撤銷的主機路由信息所對應的該本地主機IP地址在本機存在對應的遠程ARP代理表項,則檢測被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖關;第一代理撤銷模塊,若所述第一撤銷檢測模塊檢測出存在IP地址沖突,則刪除該本地主機IP地址對應的遠程ARP代理表項、并為該本地主機IP地址創(chuàng)建對應的本地ARP表項;第二撤銷檢測模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機已創(chuàng)建有遠程ARP代理表項,則檢查已創(chuàng)建的各遠程ARP代理表項所對應的IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突;第二代理撤銷模塊,若所述第二撤銷檢測模塊檢測出有遠程ARP代理表項存在IP地址沖突,則刪除存在IP地址沖突的遠程ARP代理表項、并為沖突的IP地址創(chuàng)建對應的本地ARP表項。所述第一檢測刷新模塊和所述第二檢測刷新模塊通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測、以及觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,所述第一檢測刷新模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為其他成員發(fā)布的主機路由信息所對應的本地主機IP地址;所述第二檢測刷新模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為接收到的數(shù)據(jù)報文的源IP地址、源Mac地址為本機的Mac地址;所述第一撤銷檢測模塊和所述第二撤銷檢測模塊通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測;其中,所述第一撤銷檢測模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為被撤銷的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;所述第二撤銷檢測模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)建的遠程ARP代理表項所對應的IP地址、源Mac地址為本機的Mac地址;若所述第一檢測刷新模塊、所述第二檢測刷新模塊、所述第一撤銷檢測模塊、所述第二撤銷檢測模塊在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊第一網(wǎng)段發(fā)布模塊,當本機從Initialize狀態(tài)切換至Master狀態(tài)后,發(fā)布所述網(wǎng)段路由信息。該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊
第二網(wǎng)段發(fā)布模塊,若所述成員狀態(tài)判斷模塊判斷為否,則發(fā)布所述網(wǎng)段路由信網(wǎng)段撤銷通告模塊,當本機在發(fā)布了所述網(wǎng)段路由信息之后從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的所述網(wǎng)段路由信息。該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊第三網(wǎng)段發(fā)布模塊,當本機通過重選舉而使在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)、并發(fā)布了所述網(wǎng)段路由信息的的其他成員設備又切換至了Backup狀態(tài)之后,發(fā)布所述網(wǎng)段路由信息。該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊成員路由發(fā)布模塊,當本機發(fā)布所述網(wǎng)段信息時,還發(fā)布本機真實IP地址的主機
路由信息;成員路由記錄模塊,當本機在Backup狀態(tài)接收到其他成員設備真實IP地址的主機路由信息后,記錄該主機路由信息;成員路由刪除模塊,當本機在連接三層網(wǎng)絡的接口接收到其他成員設備真實IP地址的主機路由信息被撤銷后,將本機記錄的該主機路由信息刪除;成員路由撤銷模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,撤銷本機發(fā)布的本機真實IP地址的主機路由信息;所述成員狀態(tài)判斷模塊包括記錄查詢子模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;成員查詢子模塊,當所述記錄查詢子模塊查詢到本機記錄有其他成員設備真實IP地址的主機路由信息后,依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;應答異常子模塊,若所述記錄查詢子模塊未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息、或所述成員查詢子模塊在所述查詢等待周期內未接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;應答正常子模塊,若所述成員查詢子模塊在所述查詢等待周期內接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作;或者,所述成員狀態(tài)判決模塊包括記錄查詢子模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;查詢失敗子模塊,若所述記錄查詢子模塊未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;查詢成功子模塊,若所述記錄查詢子模塊查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信
1息的其他成員設備目前仍在Master狀態(tài)正常工作。所述ARP表項偵測模塊通過在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項發(fā)送對應的ARP查詢報文來偵測本地ARP表項是否有效;若在所述應答等待周期內未接收到ARP應答報文,則確認對應的本地ARP表項無效;若在所述應答等待周期內收到了 ARP應答報文,則確認對應的本地ARP表項有效。該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊ARP老化禁止模塊,當本機在Backup狀態(tài)接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)所述免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);ARP老化開啟模塊,若所述本地ARP表項偵測模塊偵測到與本機保持連接的本地主機所對應的有效本地ARP表項,則為有效本地ARP表項配置老化時間;主機路由更新模塊,當本機的有效本地ARP表項老化時,刪除老化的有效本地ARP表項、并更新本機已發(fā)布的本地主機IP地址的主機路由信息;ARP老化關閉模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,將本機在Master狀態(tài)依據(jù)所述免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。由此可見,在本發(fā)明中,二層網(wǎng)絡分裂產(chǎn)生的新Master成員設備能夠針對與其處在同一分裂子網(wǎng)的本地主機發(fā)布主機路由信息,并且,原Master成員設備能夠依據(jù)新Master成員設備所發(fā)布的主機路由信息識別出與新Master成員設備處在相同分裂子網(wǎng)的本地主機、并創(chuàng)建相應的遠程ARP代理表項,因此,原Master所在分裂子網(wǎng)中的本地主機所發(fā)出的二層報文能夠由原Master成員設備通過ARP遠程代理而作為三層報文從三層網(wǎng)絡轉發(fā)至新Master成員設備所在分裂子網(wǎng);相應地,新Master成員設備能夠依據(jù)從三層網(wǎng)絡接收到的以三層報文方式轉發(fā)的二層報文識別出與原Master成員設備處在同一分裂子網(wǎng)的本地主機、并同樣創(chuàng)建相應的遠程ARP代理表項,因此,新Master所在分裂子網(wǎng)中的本地主機所發(fā)出的二層報文能夠由新Master成員設備通過ARP遠程代理而作為三層報文從三層網(wǎng)絡轉發(fā)至原Master成員設備所在分裂子網(wǎng)。從而,本發(fā)明即可使得二層報文流量在二層網(wǎng)絡分裂之后能夠得以恢復。此外,本發(fā)明還可以設置所有成員設備在處于Backup狀態(tài)時均被禁止發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,即,所有上行和下行報文流量均由VRRP備份組中的Master成員設備承擔;并且,當二層網(wǎng)絡發(fā)生網(wǎng)絡分裂后,新Master針對分裂后與其處在同一分裂子網(wǎng)的本地主機所發(fā)布的主機路由信息,能夠區(qū)別于原Master成員設備在分裂前已發(fā)布的網(wǎng)段路由信息。因此對于原Master成員設備所在分裂子網(wǎng)中的本地主機,在三層網(wǎng)絡中唯一可用的網(wǎng)段路由信息能夠確保對應的下行流量被路由至原Master成員設備;而對于新Master成員設備所在分裂子網(wǎng)中的本地主機,基于最長匹配原則而被優(yōu)先選用的主機路由信息能夠確保對應的下行流量被路由至新Master成員設備。從而,由于所有上行和下行報文流量均由VRRP備份組中的Master成員設備承擔,且當VRRP備份組由于二層網(wǎng)絡發(fā)生網(wǎng)絡分裂而導致Master狀態(tài)的成員設備多于一個時,處在Master狀態(tài)的各成員設備所發(fā)布的路由信息也互不相同,因而使得三層網(wǎng)絡能夠正確區(qū)分出正確的下一跳成員設備,進而就能夠有效減少本地主機的下行報文流量中斷。


現(xiàn)有技術中的VRRP備份組在二層網(wǎng)絡完整時的示意圖;現(xiàn)有技術中的VRRP備份組在二層網(wǎng)絡分裂后的示意圖;圖Ia至圖Ic
圖2a至圖2c
圖3a至圖3c示意圖
圖4a和圖4b
間的報文流量轉發(fā)的實例示意圖;圖5為本發(fā)明實施例中的VRRP備份組在二層網(wǎng)絡復原后恢復二層報文流的實例示意圖;圖6為本發(fā)明實施例中的VRRP備份組在二層網(wǎng)絡分裂后切換下行報文流量的實例示意圖;圖7為本發(fā)明實施例中的VRRP備份組在Master故障導致重選舉后切換下行報文流量的實例示意圖;圖8a和圖8b為本發(fā)明實施例中的VRRP備份組在二層網(wǎng)絡復原后切換下行報文流的實例不意圖;圖9a和圖9b為本發(fā)明實施例中的VRRP備份組在故障恢復后切換下行報文流的實例示意圖;圖IOa至圖IOc為本發(fā)明實施例中的VRRP備份組用于分辨是否發(fā)生二層網(wǎng)絡分裂的實例示意圖;圖11為本發(fā)明實施例中的VRRP備份組用于分辨本地ARP表項有效性的實例示意圖;圖12a和圖12b為本發(fā)明實施例中的VRRP備份組用于判斷是否存在IP沖突的實例示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進一步詳細說明。在本實施例中,為了實現(xiàn)對二層報文流量的恢復,首先設置所有成員設備連接二層網(wǎng)絡的二層接口可啟用ARP遠程代理功能,以使二層網(wǎng)絡分裂后分處在不同分裂子網(wǎng)的本地主機之間的二層報文流量能夠通過ARP遠程代理而作為三層報文由VRRP備份組通過三層網(wǎng)絡代為轉發(fā)。其中,當VRRP備份組由于成員設備故障而導致正常重選舉時,二層報文流量并不受影響,因此,本實施例用于恢復二層報文流量的方案中僅考慮二層網(wǎng)絡發(fā)生網(wǎng)絡分裂的情況、而不涉及VRRP備份組正常重選舉的情況。當二層網(wǎng)絡發(fā)生網(wǎng)絡分裂后,VRRP備份組中會同時存在二層網(wǎng)絡分裂之前選舉出的原Master成員設備、以及二層網(wǎng)絡分裂之后選舉出的新Master成員設備,此時新Master成員設備在識別出當前發(fā)生了二層網(wǎng)絡分裂后,需要先針對分裂后與其保持連接的本地主機發(fā)布相應本地主機IP地址的主機路由信息;
原Master成員設備能夠接收到新Master成員設備所發(fā)布的本地主機IP地址的主機路由信息,若判斷出該本地主機IP地址與原Master成員設備啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在的網(wǎng)段、且該本地主機IP地址與原Master成員設備啟用ARP遠程代理功能的二層接口所連接的本地主機無沖突,則可確認新Master成員設備所發(fā)布的主機路由信息的該本地主機IP地址所對應的本地主機在二層網(wǎng)絡分裂之前與原Master成員設備同處于一個二層網(wǎng)絡、但在二層網(wǎng)絡分裂后與原Master成員設備處在不同的分裂子網(wǎng);因此,為了使原Master成員設備所在分裂子網(wǎng)中的本地主機向新Master成員設備所在另一分裂子網(wǎng)中對應該本地主機IP地址的本地主機發(fā)送二層報文流量能夠被原Master成員設備接管,原Master成員設備中對應該本地主機IP地址的本地ARP表項就需要變更為遠程ARP代理表項(其IP地址為該本地主機IP地址、Mac地址為原Master成員設備的Mac地址),并且,在與原Master成員設備保持連接的本地主機中,對應新Master成員設備所在另一分裂子網(wǎng)中的本地主機IP地址的主機ARP表項的Mac地址需要被原Master成員設備刷新為原Master成員設備的Mac地址;相應地,基于原Master成員設備對于與其保持連接的本地主機的Mac地址刷新,原Master成員設備所在分裂子網(wǎng)中的本地主機向新Master成員設備所在另一分裂子網(wǎng)中的本地主機所發(fā)送的二層報文流量,就能夠先被轉發(fā)至原Master成員設備(即二層報文的Mac地址被替換為原Master成員設備的Mac地址);基于原Master成員設備中的遠程ARP代理表項,被轉發(fā)至原Master成員設備的二層報文流量即可由原Master成員設備以三層報文的形式通過三層網(wǎng)絡轉發(fā)至新Master成員設備;這樣,新Master成員設備就能夠從三層網(wǎng)絡接收到來自原Master成員設備所在分裂子網(wǎng)、且以三層報文的方式轉發(fā)的二層報文流量,并能夠將該二層報文流量再轉發(fā)至新Master成員設備所在分裂子網(wǎng)中對應的本地主機;而且,由于上述二層報文流量中的各數(shù)據(jù)報文的源IP地址是原Master成員設備所在分裂子網(wǎng)中的本地主機的主機IP地址、目的地址是新Master成員設備所在分裂子網(wǎng)中的本地主機的主機IP地址,因此,若新Master成員設備判斷出數(shù)據(jù)報文的源IP地址和目的IP地址均與本機啟用ARP遠程代理功能的接口同處在VRRP備份組所在的網(wǎng)段、且數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機無沖突,則可以確認二層報文流量源端的本地主機在二層網(wǎng)絡分裂之前與新Master成員設備同處于一個二層網(wǎng)絡、但在二層網(wǎng)絡分裂后與新Master成員設備處在不同的分裂子網(wǎng);從而,為了使新Master成員設備所在分裂子網(wǎng)中的本地主機向原Master成員設備所在另一分裂子網(wǎng)中的本地主機回應二層報文流量能夠被新Master成員設備接管,新Master成員設備中對應數(shù)據(jù)報文的源IP地址的本地ARP表項就需要變更為遠程ARP代理表項(其IP地址為該數(shù)據(jù)報文的源IP地址、Mac地址為新Master成員設備的Mac地址),并且,在與新Master成員設備保持連接的本地主機中,對應該數(shù)據(jù)報文的源IP地址的主機ARP表項的Mac地址還需要被新Master成員設備刷新為新Master成員設備的Mac地址;相應地,基于新原Master成員設備對于與其保持連接的本地主機的Mac地址刷新,新Master成員設備所在分裂子網(wǎng)中的本地主機向原Master成員設備所在分裂子網(wǎng)中的本地主機所發(fā)送的二層報文流量,就能夠先被轉發(fā)至新Master成員設備(即二層報文的Mac地址被替換為新Master成員設備的Mac地址);基于新Master成員設備中的遠程ARP代理表項,被轉發(fā)至新Master成員設備的二層報文流量即可由新Master成員設備以三層報文的形式通過三層網(wǎng)絡轉發(fā)至原Master成員設備;這樣,原Master成員設備就能夠從三層網(wǎng)絡接收到來自新Master成員設備所在分裂子網(wǎng)、且以三層報文的方式轉發(fā)的二層報文流量,并能夠將該二層報文流量再轉發(fā)至 原Master成員設備所在分裂子網(wǎng)中對應的本地主機?;谏鲜鲈?,本實施例提供了一種用于VRRP備份組恢復流量的方法,并且,在應用該方法的VRRP備份組中,每臺成員設備連接二層網(wǎng)絡的接口可啟用ARP遠程代理功倉泛。請參見圖3a,當VRRP備份組中有成員設備成為新Master成員設備時,該方法首先包括在該成員設備執(zhí)行的如下步驟步驟301,當本機從Backup狀態(tài)切換至Master狀態(tài)后,需要先判斷在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)的其他成員設備目前是否仍在Master狀態(tài)正常工作,即判斷原Master成員設備此時是否存在;步驟302,若步驟301判斷出在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)的其他成員設備目前仍在Master狀態(tài)正常工作,則確認此時屬于二層網(wǎng)絡發(fā)生網(wǎng)絡分裂的情況,相應地,本機屬于新Master成員設備、而目前仍在Master狀態(tài)正常工作的其他成員設備為與本機共存的原Master成員設備,因此,本機需要偵測VRRP備份組所在網(wǎng)段內的本地ARP表項是否有效、并以此來識別各本地主機是否在二層網(wǎng)絡分裂后還與本機保持連接;步驟303,若步驟302偵測到與本機保持連接的本地主機所對應的有效本地ARP表項,則確認該有效的本地ARP表項所對應的本地主機在二層網(wǎng)絡分裂之前與本機同處于一個二層網(wǎng)絡、且在二層網(wǎng)絡分裂后仍與本機同處在同一個的分裂子網(wǎng)中,因此,發(fā)布有效的本地ARP表項所對應的本地主機IP地址的主機路由信息。另外,若步驟301判斷出在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)的其他成員設備目前此時已不在Master狀態(tài)正常工作,則屬于成員設備故障導致VRRP備份組的正常重選舉,此時的二層報文流量不會中斷,因此本流程無需對此進行額外處理、而是可以直接結束本流程。至此,本流程結束。請參見圖3b,當VRRP備份組中有成員設備作為原Master成員設備、并接收到新Master成員設備發(fā)布的本地主機IP地址的主機路由信息時,該方法還包括在該成員設備執(zhí)行的如下步驟步驟311,當本機在Master狀態(tài)接收到其他成員設備發(fā)布的本地主機IP地址的主機路由信息后,判斷其他成員設備發(fā)布的本地主機IP地址所對應的該本地主機IP地址是否與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段;步驟312,若步驟311判斷出該本地主機IP地址與本機啟用ARP遠程代理功能的接口均處在VRRP備份組所在網(wǎng)段,則確認該本機IP地址所對應的本地主機在二層網(wǎng)絡分裂之前與本機處在同一網(wǎng)段的二層網(wǎng)絡中,并且,為了進一步確認該本地主機IP地址所對應的本地主機在二層網(wǎng)絡分裂后是否與本機處在不同的分裂子網(wǎng),再檢測該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機的IP地址是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟312所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;另外,若步驟311判斷出其他成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口未處在VRRP備份組所在網(wǎng)段,則不屬于本實施例所涉及的二層網(wǎng)絡分裂的情況,因而直接結束本流程。步驟313,若步驟312檢測出其他成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機無IP地址沖突,則確認該本地主機IP地址所對應的本地主機在二層網(wǎng)絡分裂之前與本機同處于一個二層網(wǎng)絡、但在二層網(wǎng)絡分裂后與本機處在不同的分裂子網(wǎng),因此,將該本地主機IP地址在本 機對應的本地ARP表項變更為遠程ARP代理表項(該遠程ARP代理表項的IP地址為該本地主機IP地址、Mac地址為本機的Mac地址),以使本機能夠利用遠程ARP代理表項對以該本地主機IP地址為目的IP地址的二層的數(shù)據(jù)報文按照三層報文的方式(數(shù)據(jù)報文中的Mac地址為本機的Mac地址)進行轉發(fā);其中,對于與遠程ARP代理表項對應相同IP地址的本地ARP表項,會在本步驟、或本步驟之前的步驟312被刪除。另外,若步驟312判斷出其他成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機存在IP地址沖突,則表示本機與該主機IP地址所對應的本地主機之間目前存在連接,因而無需創(chuàng)建對應的遠程ARP代理表項、并可以直接結束本流程。此時,在步驟312被刷新為本機Mac地址的對應的主機ARP表項也會被對應的本地主機回刷為該本地主機的Mac地址。至此,上述流程結束。請參見圖3c,當VRRP備份組中有成員設備在成為新Master成員設備后又從三層網(wǎng)絡接收到了數(shù)據(jù)報文時,該方法還需要包括在該成員設備執(zhí)行的如下步驟步驟321,當本機在Master狀態(tài)從本機連接三層網(wǎng)絡的三層接口接收到數(shù)據(jù)報文后,判斷該數(shù)據(jù)報文的源IP地址和目的IP地址是否均與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段;步驟322,若步驟321判斷出該數(shù)據(jù)報文的源IP地址和目的IP地址均與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段,則確認該數(shù)據(jù)報文屬于以遠程代理方式從三層網(wǎng)絡轉發(fā)的二層報文、且該數(shù)據(jù)報文的源端和目的端的本地主機在二層網(wǎng)絡分裂之前均與本機處在同一網(wǎng)段的二層網(wǎng)絡中,此時,先判斷本機是否已針對該數(shù)據(jù)報文的源端的本地主機創(chuàng)建有遠程ARP代理表項;另外,若步驟321判斷出該數(shù)據(jù)報文的源IP地址和/或目的IP地址未與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段,則不屬于本實施例所涉及的二層網(wǎng)絡分裂的情況,因而直接結束本流程。步驟323,若步驟322判斷出該數(shù)據(jù)報文的源IP地址在本機不存在遠程ARP代理表項,則表示需要為該數(shù)據(jù)報文的源IP地址創(chuàng)建遠程ARP代理表項,此時,就需要先確認該數(shù)據(jù)報文的源端的本地主機在二層網(wǎng)絡分裂后是否與本機處在不同的分裂子網(wǎng),再檢測該數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,經(jīng)過步驟323所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;另外,若步驟322判斷出該數(shù)據(jù)報文的源IP地址在本機已存在遠程ARP代理表項,則表示無需再針對該數(shù)據(jù)報文的源IP地址重復創(chuàng)建遠程ARP代理表項,因而可以直接結束本流程。步驟324,若步驟323檢測出該數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機無IP地址沖突,則確認該數(shù)據(jù)報文的源端的本地主機在
二層網(wǎng)絡分裂之前與本機同處于一個二層網(wǎng)絡、但在二層網(wǎng)絡分裂后與本機處在不同的分裂子網(wǎng),因此,為該數(shù)據(jù)報文的源IP地址在本機創(chuàng)建遠程ARP代理表項(該遠程ARP代理表項的IP地址為該數(shù)據(jù)報文的源IP地址、Mac地址為本機的Mac地址),以使本機能夠利用遠程ARP代理表項對以該數(shù)據(jù)報文的源IP地址為目的IP地址的二層的其他數(shù)據(jù)報文按照三層報文的方式(其他數(shù)據(jù)報文中的Mac地址為本機的Mac地址)進行轉發(fā);其中,對于與遠程ARP代理表項對應相同IP地址的本地ARP表項,會在本步驟、或本步驟之前的步驟322被刪除,或者,與遠程ARP代理表項對應相同IP地址的本地ARP表項還有可能在如圖3a所示的步驟302被偵測為無效的本地ARP表項、并在步驟302之后作為無效的本地ARP表項被刪除。另外,若步驟323判斷出該數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機存在IP地址沖突,則表示本機與該數(shù)據(jù)報文的源IP地址所對應的本地主機之間目前存在連接,因而無需創(chuàng)建對應的遠程ARP代理表項、并可以直接結束本流程。此時,在步驟323被刷新為本機Mac地址的主機ARP表項也會被該數(shù)據(jù)報文的源IP地址所對應的本地主機回刷為該本地主機的Mac地址。至此,上述流程結束。下面結合實例進行詳細說明。在參見圖4a和圖4b中,當交換機SWl與SW2之間的鏈路發(fā)生故障、并導致二層網(wǎng)絡發(fā)生網(wǎng)絡分裂后,VRRP備份組就存在著兩臺Master狀態(tài)的成員設備,即在二層網(wǎng)絡分裂之前選舉出的原Master成員設備R1、以及在二層網(wǎng)絡分裂之后選舉出的新Master成員設備R2。參見圖4a,當二層網(wǎng)絡分裂之后,新Master成員設備R2在從Backup狀態(tài)切換至Master狀態(tài)后,先判斷出存在原Master成員設備Rl、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的成員設備Rl目前仍在Master狀態(tài)正常工作,并由此確認其切換為Master狀態(tài)是由于二層網(wǎng)絡分裂所致,因此,新Master成員設備R2并不發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,而是偵測本機所創(chuàng)建的VRRP備份組所在網(wǎng)段10. I. I. 0/24內的本地ARP表項是否有效;當偵測到與本機保持連接的本地主機C2和C3所對應的有效本地ARP表項時,即表示新Master成員設備R2與本地主機C2和C3處在同一個分裂子網(wǎng),因此,新Master成員設備R2會針對有效本地ARP表項所對應的本地主機C2的IP地址10. I. I. 13/32、以及本地主機C3的IP地址10. I. I. 14/32發(fā)布相應的主機路由信息。相應地,當原Master成員設備Rl接收到新Master成員設備所發(fā)布的10. I. I. 13/32和10. I. I. 14/32的主機路由之后,能夠判斷出10. I. I. 13/32和10. I. I. 14/32與其連接二層網(wǎng)絡、并啟動ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段10. I. I. 0/24內,并且,原Master成員設備Rl還能夠檢測到10. I. I. 13/32和10. I. I. 14/32與本地主機Cl的IP地址10. I. I. 12/32不沖突,因此,原Master成員設備Rl刪除10. I. I. 13/32和10. I. I. 14/32在本機的本地ARP表項,并重新創(chuàng)建10. I. I. 13/32和10. I. I. 14/32在本機的遠程ARP代理表項,其中,所創(chuàng)建的兩個遠程ARP代理表項中的IP地址分別為10. I. I. 13/32和10. I. I. 14/32,Mac地址均為原Master成員設備Rl的Mac地址 Mac_Rl。參見圖4b,由于原Master成員設備Rl在檢測IP地址沖突時還將本地主機Cl中對應本地主機C2和C3的主機ARP表項中的Mac地址刷新為原Master成員設備Rl的Mac 地址Mac_Rl,因此,當本地主機Cl需要向本地主機C3發(fā)送二層的數(shù)據(jù)報文時,就會將二層的數(shù)據(jù)報文的Mac地址替換為Mac_Rl、并發(fā)送至原Master成員設備Rl。相應地,原Master成員設備Rl接收到本地主機Cl原本應當通過二層網(wǎng)絡發(fā)向本地主機C3的數(shù)據(jù)報文(以本地主機Cl的10. I. I. 12/32為源IP地址、以本地主機C3的10. I. I. 14/32 為目的 IP 地址、Mac 地址為 Mac_Rl)后,利用 IP 地址為 10. I. I. 14/32、Mac地址為Mac_Rl的遠程ARP代理表項即可將原本應當在二層網(wǎng)絡轉發(fā)的數(shù)據(jù)報文以三層報文的方式通過三層網(wǎng)絡轉發(fā)至新Master成員設備R2。此后,新Master成員設備R2在接收到來自三層網(wǎng)絡、且以三層報文的方式轉發(fā)的二層數(shù)據(jù)報文后,會依據(jù)該二層數(shù)據(jù)報文的目的IP地址10. I. I. 14/32、以及本機對應IP地址10. I. I. 14/32的本地ARP表項而將該二層數(shù)據(jù)報文按照現(xiàn)有方式轉發(fā)至本地主機C3,并且,新Master成員設備R2還會判斷出該二層數(shù)據(jù)報文的源IP地址10. I. I. 12/32和目的IP地址10. I. I. 14/32均與其連接二層網(wǎng)絡、并啟動ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段10. I. I. 0/24內,并且,10. I. I. 12/32與新Master成員設備R2在二層接口所連接的本地主機C2和C3的IP地址不沖突,因此,新Master成員設備R2刪除10. I. I. 12/32在本機的本地ARP表項,并重新創(chuàng)建10. I. I. 12/32在本機的遠程ARP代理表項,其中,所創(chuàng)建的遠程ARP代理表項中的IP地址為10. I. I. 12/32、Mac地址為本機Mac地址 Mac_R2。同樣地,由于新Master成員設備R2在檢測IP地址沖突時也會將本地主機C2和C3中對應本地主機Cl的主機ARP表項中的Mac地址刷新為新Master成員設備R2的Mac地址Mac_R2,因此,當本地主機C3需要向本地主機Cl發(fā)送二層的數(shù)據(jù)報文時,就會將二層的數(shù)據(jù)報文的Mac地址替換為Mac_R2、并發(fā)送至新Master成員設備R2。此后,當新Master成員設備R2接收到本地主機C3原本應當通過二層網(wǎng)絡發(fā)向本地主機Cl的數(shù)據(jù)報文(以本地主機C3的10. I. I. 14/32為源IP地址、以本地主機Cl的10. I. I. 12/32 為目的 IP 地址、Mac 地址為 Mac_R2)后,利用 IP 地址為 10. I. I. 12/32、Mac地址為Mac_R2的遠程ARP代理表項即可將原本應當在二層網(wǎng)絡轉發(fā)的該數(shù)據(jù)報文以三層報文的方式通過三層網(wǎng)絡轉發(fā)至原Master成員設備Rl,然后再由原Master成員設備Rl轉發(fā)至本地主機Cl。如上可見,基于本實施例,二層報文流量在二層網(wǎng)絡分裂之后能夠得以恢復。此外,在實際應用中,發(fā)生分裂的二層網(wǎng)絡有可能會復原,而當二層網(wǎng)絡分裂又復原后,原Master成員設備通常會由于優(yōu)先級高而繼續(xù)保持在Master狀態(tài)、新Master成員設備則會由于優(yōu)先級低而切換至Backup狀態(tài),此時當新Master成員設備在切換回Backup狀態(tài)之后,需要撤銷其發(fā)布的本地主機IP地址的主機路由信息;原Master成員設備接收到新Master設備撤銷其發(fā)布的本地主機IP地址的主機路由信息的通知之后,檢查被新Master設備撤銷的主機路由信息所對應的該本地主機IP地址是否與原Master成員設備啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段,若是、并且被新Master設備撤銷的主機路由信息所對應的該本地主機IP地址在原Master成員設備存在對應的遠程ARP代理表項,則檢測被新Master設備撤銷的主機路由信息所對應的該本地主機IP地址與原Master成員設備在二層接口所連接的本地主機是否存在IP地址沖突;若原Master成員設備檢測到該本地主機IP地址存在IP地址沖突,則表示原Master成員設備與該主機IP地址所對應的本地主機已恢復連接,因而原Master成員設備刪除該本地主機IP地址對應的遠程ARP代理表項、并為該本地主機IP地址創(chuàng)建對應的本地ARP表項;與此同時,在分裂后被刷新為原Master成員設備Mac地址的主機ARP表項也會被與原Master成員設備恢復連接的本地主機回刷為該本地主機的Mac地址;以及,當新Master成員設備在從Master狀態(tài)切換回Backup狀態(tài)之后,若新Master成員設備中已創(chuàng)建了遠程ARP代理表項,貝U新Master成員設備需要檢查已創(chuàng)建的遠程ARP代理表項所對應的IP地址與新Master成員在其二層接口所連接的本地主機是否存在IP地址沖突;若新Master成員設備檢測到已創(chuàng)建的遠程ARP代理表項所對應的IP地址存在IP地址沖突,則表示新Master成員設備與已創(chuàng)建的遠程ARP代理表項所對應的本地主機已恢復連接,因而刪除該遠程ARP代理表項、并為該遠程ARP代理表項所對應的本地主機創(chuàng)建對應的本地ARP表項;與此同時,在分裂后被刷新為原Master成員設備Mac地址的主機ARP表項也會被與新Master成員設備恢復連接的本地主機回刷為該本地主機的Mac地址。相應地,當二層網(wǎng)絡復原后,該方法可以進一步包括在成員設備中執(zhí)行的如下步驟用于新Master成員設備通知原Master成員設備撤銷遠程ARP代理的步驟,當本機(新Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,若本機通過如圖3a所示的步驟303發(fā)布了本地主機IP地址的主機路由信息,則撤銷本機發(fā)布的該本地主機IP地址的主機路由信息;用于原Master成員設備撤銷遠程ARP代理的步驟,當本機(原Master成員設備)接收到其他成員設備撤銷了已發(fā)布的本地主機IP地址的主機路由信息的通知后,若判斷出被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口同處在VRRP備份·組所在網(wǎng)段、且被撤銷的主機路由信息所對應的該本地主機IP地址在本機存在對應的遠程ARP代理表項,則檢測被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突;其中,若檢測出存在IP地址沖突,則刪除被撤銷的主機路由信息所對應的該本地主機IP地址在本機對應的遠程ARP代理表項、并為被撤銷的主機路由信息所對應的該本地主機IP地址創(chuàng)建對應的本地ARP表項;用于新Master成員設備撤銷遠程ARP代理的步驟,當本機(新Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,若本機已創(chuàng)建有遠程ARP代理表項,則檢查已創(chuàng)建的各遠程ARP代理表項所對應的IP地址是否與本機的二層接口所連接的本地主機是否存在IP地址沖突;其中,若檢測出有遠程ARP代理表項存在IP地址沖突,則刪除存在IP地址沖突的遠程ARP代理表項、并為沖突的IP地址創(chuàng)建對應的本地ARP表項。實際應用中,當二層網(wǎng)絡分裂又復原后,原Master成員設備也有可能切換回Backup狀態(tài)、并由新Master成員設備繼續(xù)保持在Master狀態(tài)。此時,只要新Master成員設備判斷出原Master成員設備已切換回Backup狀態(tài)(例如通過原Master成員設備撤銷其發(fā)布的路由信息等方式),新Master設備仍需要撤銷其發(fā)布的本地主機IP地址的主機路由信息,此時,新Master成員設備和原Master成員設備仍按照上述方式刪除各自的遠程ARP代理表項、并創(chuàng)建本地ARP代理表項。下面結合實例進行詳細說明,其中,該實例是以二層網(wǎng)絡分裂又復原后由原Master成員設備繼續(xù)保持在Master狀態(tài)、新Master成員設備切換至Backup狀態(tài)為例。參見圖5,當二層網(wǎng)絡復原之后新Master成員設備撤銷其發(fā)布的本地主機C2的IP地址10. I. I. 13/32、以及本地主機C3的IP地址10. I. I. 14/32的主機路由信息;原Master成員設備接收到新Master成員設備撤銷10. I. I. 13/32和10. I. I. 14/32的主機路由的通知之后,能夠判斷出10. I. I. 13/32和10. I. I. 14/32與其二層接口同處在VRRP備份組所在網(wǎng)段10. I. I. 0/24內、且原Master成員設備已為10. I. I. 13/32和10. I. I. 14/32創(chuàng)建有遠程ARP代理表項,因此,原Master成員設備Rl會檢測出10. I. I. 13/32和10. I. I. 14/32與其二層接口所連接的本地主機存在IP地址沖突;對于如圖5所示的二層網(wǎng)絡復原的情況,不但本地主機Cl連接在原Master成員設備Rl的二層接口,本地主機C2和C3也都恢復了與原Master成員設備Rl的二層接口的連接,因此,原Master成員設備Rl會檢測10. I. I. 13/32和10. I. I. 14/32存在IP地址沖突,從而刪除10. I. I. 13/32和10. I. I. 14/32的遠程ARP代理表項,并創(chuàng)建對應的本地ARP表項。其中,10. I. I. 13/32對應的本地ARP表項中的Mac地址為本地主機C2的Mac地址Mac_C2,10. I. I. 14/32對應的本地ARP表項中的Mac地址為本地主機C3的Mac地址Mac_C3 ;與此同時,本地主機Cl中對應10. I. I. 13/32和10. I. I. 14/32的主機ARP表項的Mac地址,也會分別被本地主機C2和C3刷回為Mac_C2和Mac_C3 ;同樣地,由于新Master成員設備中已創(chuàng)建了 10. I. I. 12/32的遠程ARP代理表項,因此,新Master成員設備需要檢查已創(chuàng)建的遠程ARP代理表項所對應的IP地址10. I. I. 12/32與新Master成員在其二層接口所連接的本地主機是否存在IP地址沖突;對于如圖5所示的二層網(wǎng)絡復原的情況,不但本地主機C2和C3連接在新Master成員設備R2的二層接口,本地主機Cl也恢復了與新Master成員設備R2的二層接口的連接,因此,新Master成員設備R2會檢測出本地主機Cl的10. I. I. 12/32存在IP地址沖突,從而刪除10. I. I. 12/32的遠程ARP代理表項,并創(chuàng)建對應的本地ARP表項。其中,10. I. I. 12/32對應的本地ARP表項中的Mac地址為本地主機Cl的Mac地址Mac_Cl ;與此同時,本地主機C2和C3中對應10. I. I. 12/32的主機ARP表項的Mac地址,也都會被本地主機Cl刷回Mac_Cl。除了恢復二層報文流量之外,本實施例還能夠實現(xiàn)對三層報文流量的恢復。為此,本實施例還可以設置所有成員設備在處于Backup狀態(tài)時均被禁止發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息、且只有成員設備在切換至Master狀態(tài)后才有可能發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,即,所有上行報文流量和下行報文流量均由VRRP備份組中的Master成員設備來承擔。其中,當二層網(wǎng)絡分裂、以及VRRP備份組的正常重選舉時,三層的上行報文流量和下行報文流量均會受到影響,因此,本實施例用于恢復三層報文流量的方案中同時考慮二層網(wǎng)絡發(fā)生網(wǎng)絡分裂的情況、以及VRRP備份組正常重選舉的情況。當二層網(wǎng)絡完整,并且,VRRP備份組中處于Master狀態(tài)的成員設備、即原Master成員設備正常時,原Master成員設備會發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息;當二層網(wǎng)絡發(fā)生網(wǎng)絡分裂后,VRRP備份組中會同時存在二層網(wǎng)絡分裂之前選舉出·的原Master成員設備、以及二層網(wǎng)絡分裂之后選舉出的新Master成員設備,并且,如前所述,新Master成員設備僅針對分裂后與其保持連接的本地主機發(fā)布的主機路由信息,以區(qū)別于原Master成員設備在二層網(wǎng)絡分裂之前所發(fā)布的VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,因此對于在分裂后與原Master成員設備保持連接、與新Master成員設備失去連接的本地主機來說,其對應的下行報文流量在三層網(wǎng)絡中只有原Master成員設備發(fā)布的網(wǎng)段路由信息可用,因此,就能夠確保對應的下行流量被路由至原Master成員設備;而對于在分裂后與原Master成員設備失去連接、與新Master成員設備保持連接的本地主機來說,雖然其對應的下行報文流量在三層網(wǎng)絡中同時存在可用的網(wǎng)段路由信息和主機路由信息,但基于最長匹配原則,長度大于網(wǎng)段路由信息的主機路由信息會被優(yōu)先選用,因此,被優(yōu)先選用的主機路由信息就能夠確保對應的下行流量被路由至新Master成員設備。實際應用中,新Master成員設備所發(fā)布的本地主機IP地址的主機路由信息中可以攜帶有聚合標識,該聚合標識用于觸發(fā)三層網(wǎng)絡的上游設備將下一跳相同的路由信息聚合,以節(jié)省三層網(wǎng)絡的上游設備的表項管理資源。而當VRRP備份組由于原Master成員設備故障而導致正常重選舉時,正常重選舉之前的原Master成員設備會退出VRRP備份組、而正常重選舉后產(chǎn)生的新Master成員設備則是VRRP備份組中唯一處在Master狀態(tài)的成員設備,此時,新Master成員設備發(fā)布的VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息即可接管VRRP備份組下屬的所有本地主機的下行報
文流量。另外,無論是二層網(wǎng)絡發(fā)生網(wǎng)絡分裂,還是VRRP備份組由于成員設備故障而導致正常重選舉,對于上行報文流量的處理均可以按照現(xiàn)有方式來實現(xiàn),本實施例對此不再贅述?;谏鲜鲈?,在應用本實施例用于VRRP備份組恢復流量的上述方法的VRRP備份組中,每臺成員設備在切換至Backup狀態(tài)后都被禁止發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,并且,在有成員設備成為新Master成員設備時,該方法還可以進一步包括在該成員設備執(zhí)行的如下的用于接管網(wǎng)段路由的步驟當本機(新Master成員設備)通過如圖3a所示的步驟301判斷出在本機切換之前處于Master狀態(tài)的其他成員設備(即已發(fā)布了網(wǎng)段路由信息的原Master設備)目前已不在Master狀態(tài)正常工作,則發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息。實際應用中若在VRRP備份組從未發(fā)生過重選舉時發(fā)生了二層網(wǎng)絡分裂,則在VRRP備份組啟動后首次被選舉為Master狀態(tài)的成員設備為原Master成員設備、并且是從Initialize(初始)狀態(tài)切換至Master狀態(tài);若在VRRP備份組發(fā)生了重選舉之后又發(fā)生了二層網(wǎng)絡分裂,則對于分裂后的二層網(wǎng)絡來說,最近一次重選舉所產(chǎn)生的Master狀態(tài)的成員設備為原Master成員設備、并且是從Backup狀態(tài)切換至Master狀態(tài),而二層網(wǎng)絡分裂導致的重選舉所產(chǎn)生的Master狀態(tài) 的成員設備為新Master成員設備。相應地,對于在VRRP備份組從未發(fā)生過重選舉時發(fā)生了二層網(wǎng)絡分裂的情況,當有成員設備成為在VRRP備份組啟動后首次選舉產(chǎn)生的新Master成員設備時,該方法包括在該成員設備執(zhí)行的如下的用于初始發(fā)布網(wǎng)段路由步驟當本機(原Master成員設備)從Initialize狀態(tài)切換至Master狀態(tài)后,發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息。而對于在VRRP備份組發(fā)生了重選舉之后又發(fā)生了二層網(wǎng)絡分裂的情況,在二層網(wǎng)絡分裂之前執(zhí)行了上述用于接管網(wǎng)段路由的步驟的成員設備,就為二層網(wǎng)絡分裂后的原Master成員設備。下面結合實例進行詳細說明。請參見圖6,當交換機SWl與SW2之間的鏈路發(fā)生故障、并導致二層網(wǎng)絡發(fā)生網(wǎng)絡分裂后,VRRP備份組就存在著兩臺Master狀態(tài)的成員設備,即在二層網(wǎng)絡分裂之前選舉出的原Master成員設備R1、以及在二層網(wǎng)絡分裂之后選舉出的新Master成員設備R2。當二層網(wǎng)絡分裂之前,只有原Master成員設備Rl在其切換至Master狀態(tài)后發(fā)布了 VRRP備份組所在網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,而成員設備R2和R3則均不會在Backup狀態(tài)發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息。當二層網(wǎng)絡分裂之后,新Master成員設備R2在從Backup狀態(tài)切換至Master狀態(tài)后,會先判斷出存在原Master成員設備R1、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的成員設備Rl目前仍在Master狀態(tài)正常工作,并由此確認其切換為Master狀態(tài)是由于二層網(wǎng)絡分裂所致,然后,新Master成員設備R2通過偵測本機所創(chuàng)建的VRRP備份組所在網(wǎng)段10. I. I. 0/24內的本地ARP表項是否有效,會刪除本地主機Cl所對應的無效的本地ARP表項時,并針對有效本地ARP表項所對應的本地主機C2的IP地址10. I. I. 13/32、以及本地主機C3的IP地址10. I. I. 14/32發(fā)布長度大于網(wǎng)段路由信息的主機路由信息。這樣,對于三層網(wǎng)絡來說,以原Master成員設備Rl為下一跳的是網(wǎng)段路由、以新Master成員設備R2為下一跳的是子集路由,因而對于向本地主機Cf C3發(fā)送的報文,三層網(wǎng)絡就能夠正確區(qū)分出下一跳。具體說當需要VRRP備份組向原Master成員設備Rl在分裂后保持連接的本地主機Cl轉發(fā)報文時,只有原Master成員設備發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息可用、即報文的下一跳只可能是原Master成員設備Rl,從而能夠確保報文被路由至原Master成員設備Rl、并被原Master成員設備Rl轉發(fā)至相應的本地主機Cl ;當需要VRRP備份組向新Master成員設備R2在分裂后保持連接的本地主機C2和C3轉發(fā)報文時,雖然新Master成員設備R2發(fā)布的IP地址10. I. I. 13/32和10. I. I. 14/32的主機路由信息、以及原Master成員設備發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息均可用,但基于路由的最長匹配原則,新Master成員設備R2發(fā)布的32位主機路由信息會被優(yōu)先選用、即報文的下一跳優(yōu)選新Master成員設備R2,從而能夠確保報文被路由至新Master成員設備R2、并被新Master成員設備R2轉發(fā)至相應的本地主機C2和C3 ; S卩,基于路由的最長匹配原則,新Master成員設備R2通過發(fā)布IP地址10. I. I. 13/32和10. I. I. 14/32的主機路由信息,能夠接管在分裂后與其保持連接的本地
主機C2和C3的報文流量,而對于在分裂后與其失去連接的本地主機Cl的報文流量則仍由原Master成員設備Rl承擔。請參見圖7,當Master狀態(tài)的成員設備Rl發(fā)生故障后,Backup狀態(tài)的成員設備R2和R3長時間未接收到VRRP通告報文,進而導致其中的成員設備R2被重選舉為Master狀態(tài)。此時,VRRP備份組中的原Master成員設備Rl已退出,因而VRRP備份組中僅存一臺Master狀態(tài)的成員設備、即新Master成員設備R2。其中,在成員設備R2被重選舉為Master狀態(tài)之前,只有原Master成員設備Rl在其切換至Master狀態(tài)后發(fā)布了 VRRP備份組所在網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,而成員設備R2和R3則均不會在Backup狀態(tài)發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息;而且,原Master成員設備Rl在Master狀態(tài)時發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,會在原Master成員設備Rl發(fā)生故障后被三層網(wǎng)絡中的上游設備撤銷;而新Master成員設備R2從Backup狀態(tài)切換至Master狀態(tài)后,先判斷在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的成員設備Rl目前是否仍在Master狀態(tài)正常工作;在圖7中,新Master成員設備R2會判斷出在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的成員設備Rl目前未在Master狀態(tài)正常工作,并由此確認其切換為Master狀態(tài)不是由于二層網(wǎng)絡分裂所致、而是由于原Master成員設備Rl發(fā)生故障所致,因此,新Master成員設備R2即可發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,即,成員設備R2會接管所有本地主機Cf C3的報文流量。如上可見,基于本實施例,下行報文流量在二層網(wǎng)絡分裂之后能夠恢復正確的路由轉發(fā),而且,本實施例并不影響成員設備故障導致VRRP備份組正常重選舉后的下行報文流量切換。另補充說明的是若在發(fā)生了二層網(wǎng)絡分裂后又出現(xiàn)原Master成員設備故障、并且原Master成員設備所在分裂子網(wǎng)中還有其他成員設備,則可按照成員設備故障導致VRRP備份組正常重選舉的方式在該分裂子網(wǎng)中重新選舉出Master狀態(tài)的成員設備、并由該分裂子網(wǎng)中重新選舉出Master狀態(tài)的成員設備繼續(xù)充當原Master成員設備;同理,若在發(fā)生了二層網(wǎng)絡分裂后又出現(xiàn)新Master成員設備故障、并且新Master成員設備所在分裂子網(wǎng)中還有其他成員設備,則由該分裂子網(wǎng)中重新選舉出Master狀態(tài)的成員設備在該分裂子網(wǎng)中繼續(xù)充當新Master成員設備;但若在發(fā)生了二層網(wǎng)絡分裂后又出現(xiàn)原Master成員設備故障、但原Master成員設備所在分裂子網(wǎng)中不存在其他成員設備,或者,在發(fā)生了二層網(wǎng)絡分裂后又出現(xiàn)新Master成員設備故障、但新Master成員設備所在分裂子網(wǎng)中不存在其他成員設備,則VRRP備份組對該分裂子網(wǎng)的網(wǎng)關功能失效,但網(wǎng)關功能失效不屬于本實施例所要解決的問題,因而本實施例不予關注。此外,在實際應用中,發(fā)生分裂的二層網(wǎng)絡有可能會復原,并且,在發(fā)生故障并退出的原Master成員設備也有可能恢復、并重新回到VRRP備份組。當二層網(wǎng)絡分裂又復原后,原Master成員設備和新Master成員設備中需要有一臺切換至Backup狀態(tài),其中若是原Master成員設備繼續(xù)保持在Master狀態(tài)、新Master成員設備切換回 Backup狀態(tài),則無需原Master成員設備額外發(fā)布任何路由信息、但需要新Master成員設備主動撤銷其發(fā)布的本地主機IP地址的主機路由信息,以確保VRRP備份組下屬的所有本地主機的報文流量全部由原Master成員設備承擔;但若是原Master成員設備切換回Backup狀態(tài)、新Master成員設備繼續(xù)保持在Master狀態(tài),貝U需要原Master成員設備主動撤銷其發(fā)布的網(wǎng)段路由信息、并由新Master成員設備重新發(fā)布網(wǎng)段路由信息,以確保VRRP備份組下屬的所有本地主機的報文流量全部由新Master成員設備接管。當發(fā)生故障的原Master成員設備以Initialize狀態(tài)重新加入VRRP備份組后,Initialize狀態(tài)的原Master成員設備需要和新Master成員設備競爭、且只能有一臺處在Master狀態(tài),其中若是Initialize狀態(tài)的原Master成員設備切換至Master狀態(tài)、新Master成員設備切換回Backup狀態(tài),則需要Initialize狀態(tài)的原Master成員設備在切換至Master狀態(tài)后重新發(fā)布網(wǎng)段路由信息、且需要新Master成員設備主動撤銷其發(fā)布的網(wǎng)段路由信息,以確保VRRP備份組下屬的所有本地主機的報文流量全部歸還至原Master成員設備承擔;若是Initialize狀態(tài)的原Master成員設備切換至Backup狀態(tài)、新Master成員設備繼續(xù)保持在Master狀態(tài),則Initialize狀態(tài)的原Master成員設備在切換至Backup狀態(tài)后無需發(fā)布任何路由信息、新Master成員設備同樣無需再額外發(fā)布任何路由信息,以確保VRRP備份組下屬的所有本地主機的報文流量全部保持在新Master成員設備承擔。相應地,基于上述的情況,本實施例中用于VRRP備份組恢復流量的方法可以進一步包括在該成員設備執(zhí)行的如下步驟用于撤銷網(wǎng)段路由的步驟,當本機(原Master成員設備或新Master成員設備)在發(fā)布了網(wǎng)段路由信息之后從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的網(wǎng)段路由信
肩、O用于搶占網(wǎng)段路由的步驟,當本機(新Master成員設備)通過重選舉而使在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備(原Master成員設備)又切換至了 Backup狀態(tài)之后,則本機發(fā)布網(wǎng)段路由信息;用于撤銷主機路由的步驟,當本機(新Master成員設備)通過如圖3a所示的步驟303發(fā)布了本地主機IP地址的主機路由信息之后、又從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的本地主機IP地址的主機路由信息;其中若成員設備在二層網(wǎng)絡分裂后作為新Master成員設備、并在二層網(wǎng)絡復原后切換至Backup狀態(tài),則用于撤銷主機路由的步驟會在該成員設備執(zhí)行;相應地,若成員設備作為原Master成員設備、并在二層網(wǎng)絡復原后保持在Master狀態(tài),則該成員設備中此時無需額外執(zhí)行任何步驟;若成員設備在二層網(wǎng)絡分裂后作為新Master成員設備、并在二層網(wǎng)絡復原后繼續(xù)保持在Master狀態(tài),則用于搶占網(wǎng)段路由的步驟會在該成員設備執(zhí)行;相應地,若成員設備作為原Master成員設備、并在二層網(wǎng)絡復原后切換至Backup狀態(tài),則用于撤銷網(wǎng)段路由的步驟此時會在該成員設備執(zhí)行;若成員設備在正常重選舉后作為新Master成員設備、并原Master成員設備重回VRRP備份組之后切換回Backup狀態(tài),則用于撤銷網(wǎng)段路由的步驟會在該成員設備執(zhí)行;相應地,若成員設備作為故障退出的原Master成員設備、并重回VRRP備份組后從Initialize狀態(tài)切換至Master狀態(tài),則前文所述的用于初始發(fā)布網(wǎng)段路由的步驟此時需要在該成員設備執(zhí)行。下面結合四個實例對上述步驟進行詳細說明。參見圖8a并結合圖6,當二層網(wǎng)絡分裂導致VRRP備份組中同時存在原Master成員設備Rl和新Master成員設備R2后,二層網(wǎng)絡又恢復完整;并且,原Master成員設備Rl經(jīng)重選舉后繼續(xù)保持在Master狀態(tài)、而新Master成員設備R2經(jīng)重選舉后切換回Backup狀態(tài)。此時,保持在Master狀態(tài)的成員設備Rl無需對其發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息進行任何處理,而切換回Backup狀態(tài)的成員設備R2需要撤銷其針對本地主機C2的IP地址10. I. I. 13/32本地主機C3的IP地址10. I. I. 14/32所發(fā)布的主機路由信息,以確保所有本地主機Cf C3的報文流量均由唯一處在Master狀態(tài)的成員設備Rl承擔。參見圖8b并結合圖6,當二層網(wǎng)絡分裂導致VRRP備份組中同時存在原Master成員設備Rl和新Master成員設備R2后,二層網(wǎng)絡又恢復完整;并且,原Master成員設備Rl態(tài)經(jīng)重選舉后切換回Backup狀態(tài)、而新Master成員設備R2經(jīng)重選舉后繼續(xù)保持在Master狀態(tài)。此時,切換回Backup狀態(tài)的成員設備Rl需要撤銷其發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,而保持在Master狀態(tài)的成員設備R2則需要發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,以確保所有本地主機Cf C3的報文流量均由唯一處在Master狀態(tài)的成員設備R2承擔。而且,保持在Master狀態(tài)的成員設備R2此前針對本地主機C2和C3發(fā)布的主機路由信息也不會與網(wǎng)段路由沖突,因而既可以保留、也可以撤銷。請參見圖9a并結合圖7,在Master狀態(tài)發(fā)生故障的成員設備Rl又恢復正常、并以Initialize狀態(tài)重新加入VRRP備份組;并且,成員設備Rl經(jīng)重選舉后從Initialize狀態(tài)切換至Master狀態(tài)、而新Master成員設備R2經(jīng)重選舉后切換回Backup狀態(tài)。此時,從Initialize狀態(tài)切換至Master狀態(tài)的成員設備Rl需要發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,而切換回Backup狀態(tài)的成員設備R2需要撤銷其發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息,以確保所有本地主機Cf C3的報文流量均由唯一處在Master狀態(tài)的成員設備Rl承擔。請參見圖9b并結合圖7,在Master狀態(tài)發(fā)生故障的成員設備Rl又恢復正常、并以Initialize狀態(tài)重新加入VRRP備份組;并且,成員設備Rl經(jīng)重選舉后從Initialize狀態(tài)切換至Backup狀態(tài)、而新Master成員設備R2經(jīng)重選舉后繼續(xù)保持在Master狀態(tài)。此時,從Initialize狀態(tài)切換至Backup狀態(tài)的成員設備Rl無需發(fā)布任何路由信息,而保持在Master狀態(tài)的成員設備R2也無需發(fā)布任何路由信息,這樣,成員設備R2之前已發(fā)布的網(wǎng)段10. I. I. 0/24的網(wǎng)段路由信息即可確保所有本地主機Cf C3的報文流量均由唯一處在Master狀態(tài)的成員設備R2承擔。此外,在實際應用中還有可能出現(xiàn)二層網(wǎng)絡多次分裂的情況,對此,本領域技術人 員可以基于上述的描述而對方案進行適應性調整。對于可能出現(xiàn)的二層網(wǎng)絡多次分裂及恢復的情況,本實施不再詳述。以上是對本實施例中用于VRRP發(fā)布路由的方法的原理性說明。但在具體實現(xiàn)該方法時,還需要考慮以下幾點新Master成員設備如何判斷出原Master成員設備的存在,S卩,在如圖3a所示的步驟301中,成員設備在從Backup狀態(tài)切換至Master狀態(tài)后如何判斷在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前是否仍在Master狀態(tài)正常工作;新Master成員設備如何實現(xiàn)對本地ARP表項的有效性的偵測,即,在如圖3a所示的步驟302中,成員設備如何偵測本地ARP表項是否有效;原Master成員設備和新Master成員設備如何實現(xiàn)對IP地址沖突的檢測以及觸發(fā)本地主機的Mac地址刷新,即,在如圖3b所示的步驟312、如圖3c所示的步驟323、以及用于原Master和新Master成員設備撤銷遠程ARP代理的步驟中,成員設備如何判斷沖突是否存在,在如圖3b所示的步驟312、如圖3c所示的步驟323中,成員設備如何觸發(fā)本地主機實現(xiàn)Mac地址刷新;以及,新Master成員設備如何確保其本地ARP表項不會在其切換至Master狀態(tài)之前就由于老化而被刪除,即,成員設備在Backup狀態(tài)如何保持其本地ARP表項不會在其切換至Master狀態(tài)之前就由于老化而被刪除。為此,本實施例還進一步提供了相應的解決方案,下面分別予以說明。為了使成員設備在從Backup狀態(tài)切換至Master狀態(tài)后,能夠判斷出在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前是否仍在Master狀態(tài)正常工作,本實施例采用如下方式當二層網(wǎng)絡完整時,原Master成員設備(有可能是從Initialize狀態(tài)切換至Master狀態(tài)、也有可能是從Backup狀態(tài)切換至Master狀態(tài))在發(fā)布網(wǎng)段路由信息的同時,還發(fā)布該Master成員設備真實IP地址的主機路由信息,相應地,此時所有的Backup成員設備就會記錄該Master成員設備真實IP地址的主機路由信息。當二層網(wǎng)絡分裂之后,分裂導致重選舉產(chǎn)生的新Master成員設備會查詢其是否在Backup狀態(tài)記錄了其他成員設備(即原Master成員設備)真實IP地址的主機路由信息,若是,則可以依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;對于二層網(wǎng)絡分裂的情況,新Master成員設備會在查詢等待周期內接收到了從其他成員設備返回的應答報文,因此,新Master成員設備即可確認回應該應答報文的其他成員設備就為此時同時存在的原Master成員設備、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作,從而確認本機的切換是由于二層網(wǎng)絡分裂所致。當二層網(wǎng)絡完整時的Master成員設備發(fā)生故障后,發(fā)布了網(wǎng)段路由信息和主機路由信息的Master成員設備就不再處于Master狀態(tài),其發(fā)布的網(wǎng)段路由信息和主機路由信息也會被三層網(wǎng)絡中的上游設備撤銷,此時,重選舉產(chǎn)生的Master成員設備會查詢其是否在Backup狀態(tài)記錄了其他成員設備真實IP地址的主機路由信息;對于二層網(wǎng)絡完整時的Master成員設備發(fā)生故障的情況,由于二層網(wǎng)絡完整時的Master成員設備所發(fā)布的網(wǎng)段路由信息和主機路由信息會被三層網(wǎng)絡中的上游設備撤 銷,因此,重新選舉出的Master成員設備通常會查詢不到其在Backup狀態(tài)記錄的其他成員 設備(即原Master成員設備)真實IP地址的主機路由信息,并確認此時不存在原Master成員設備、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;但如若三層網(wǎng)絡中的上游設備所執(zhí)行的撤銷處理稍有延遲,導致重新選舉出的Master成員設備查詢到了其在Backup狀態(tài)記錄的其他成員設備真實IP地址的主機路由信息、并發(fā)出上述的查詢報文,重新選舉出的Master成員設備也不可能接收到上述的應答報文,因而仍能夠確認此時不存在原Master成員設備、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作。實際應用中,上述的查詢報文和應答報文可以為例如ICMP (Internet ControlMessageProtocol,英特網(wǎng)控制消息協(xié)議)報文等各種適合通過三層網(wǎng)絡傳輸?shù)膮f(xié)議報文??蛇x地,為了簡化上述過程,也可以僅依據(jù)記錄查詢來判斷、而不使用查詢報文和應答報文的查詢機制。相應地,本實施例中用于VRRP發(fā)布路由的方法就可以進一步包括在成員設備中執(zhí)行的如下步驟當本機(即原Master成員設備)發(fā)布網(wǎng)段信息時,還發(fā)布本機真實IP地址的主機
路由信息;當本機(即Backup成員設備)在Backup狀態(tài)接收到其他成員設備(即原Master成員設備)真實IP地址的主機路由信息后,記錄該主機路由信息;當本機(即新Master成員設備)在連接三層網(wǎng)絡的接口接收到其他成員設備(即原Master成員設備)真實IP地址的主機路由信息被撤銷的通知后,將本機記錄的該主機路由信息刪除;并且,如圖3a所示的步驟301可以具體包括當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;當查詢到本機記錄有其他成員設備真實IP地址的主機路由信息后,依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;若未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息、或在查詢等待周期內未接收到了應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;若在查詢等待周期內接收到應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作。實際應用中,也可以取消對原Master成員設備的查詢機制、而僅依據(jù)是否記錄有主機路由信息來判斷,相應地,如圖3a所示的步驟301也可以予以簡化,即當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;若未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本 機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;若查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作。下面再結合實例進一步說明。請參見圖IOa至圖10c、并結合圖6和圖7 :在圖IOa中,當二層網(wǎng)絡完整、且原Master成員設備Rl正常時,原Master成員設備Rl在其發(fā)布網(wǎng)段10. I. I. 0/24的網(wǎng)段路由的同時,還發(fā)布了本機真實IP地址10. I. I. 2/32的主機路由信息,此時,處在Backup狀態(tài)的成員設備R2和R3會記錄成員設備Rl的真實IP地址10. I. I. 2/32的主機路由信息。在圖IOb中,當二層網(wǎng)絡按照如圖6所示的方式發(fā)生分裂后,新Master成員設備R2能夠查詢到本機在Backup狀態(tài)記錄了原Master成員設備Rl的真實IP地址10. I. I. 2/32的主機路由信息,并從本機連接三層網(wǎng)絡的接口發(fā)出以原Master成員設備Rl的真實IP地址10. I. I. 2/32為目的地址的ICMP查詢報文;此后,在預定的查詢等待周期內,新Master成員設備R2能夠接收到原Master成員設備Rl返回的ICMP應答報文,并確認回應該應答報文的原Master成員設備Rl此時存在、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的成員設備Rl目前仍在Master狀態(tài)正常工作,從而確認本機的切換是由于二層網(wǎng)絡分裂所致,然后即可按照如圖6所示的方式處理。在圖IOc中,當VRRP備份組按照如圖7所示的情況出現(xiàn)原Master成員設備Rl的故障后,假設原Master成員設備Rl此前發(fā)布的網(wǎng)段路由信息和主機路由信息未被三層網(wǎng)絡中的上游設備及時撤銷,重選舉出的新Master成員設備R2查詢到本機在Backup狀態(tài)記錄了原Master成員設備Rl的真實IP地址10. I. I. 2/32的主機路由信息,并從本機連接三層網(wǎng)絡的接口發(fā)出以原Master成員設備Rl的真實IP地址10. I. I. 2/32為目的地址的ICMP查詢報文;但由于此時的原Master成員設備Rl已發(fā)生了故障、且無法回應ICMP應答報文,因而新Master成員設備R2在預定的查詢等待周期內不可能接收到ICMP應答報文,并確認此時不存在原Master成員設備R1、即在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的成員設備Rl目前未在Master狀態(tài)正常工作,然后即可按照如圖7所示的方式處理。另外,由于原Master成員設備發(fā)布本機真實IP地址的主機路由信息是為了標識其已處在Master狀態(tài)并已發(fā)布了網(wǎng)段路由信息,因此,當原Master成員設備由于二層網(wǎng)絡分裂復原等原因而切換至Backup狀態(tài)、并撤銷其發(fā)布的網(wǎng)段路由信息時,其同樣需要在撤銷其發(fā)布的本機真實IP地址的主機路由信息。相應地,本實施例中用于VRRP發(fā)布路由的方法就可以進一步包括在成員設備中執(zhí)行的如下步驟當本機(即原Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,撤銷本機已發(fā)布的本機真實IP地址的主機路由信息。為了使成員設備在作為新Master成員設備時能夠偵測本地ARP表項是否有效,本實施例可以通過ARP查詢機制來實現(xiàn),具體說新Master成員設備在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項發(fā)送對應的ARP查詢報文、并在預定的應答等待周期內等待響應的ARP應答報文;若在應答等待周期內未接收到對應的本地主機返回的ARP應答報文,則確認該本地主機與本機失去連接、并確認對應的本地ARP表項無效;若在應答等待周期內收到了對應的本地主機返回的ARP應答報文,則確認該本地主機與本機保持連接、并確認對應的本地ARP表項有效。相應地,如圖3a所示的步驟302可以具體包括當判斷出在本機(二層網(wǎng)絡分裂后的新Master成員設備)切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備仍在Master狀態(tài)正常工作后,在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項向對應的各本地主機發(fā)送ARP查詢報文、并在預定的應答等待周期內等待各本地主機響應的ARP應答報文;若在應答等待周期內未接收到ARP應答報文,則確認對應的本地主機在二層網(wǎng)絡分裂后與本機失去連接、從而確認該本地主機對應的本地ARP表項無效;若在應答等待周期內收到了 ARP應答報文,則確認對應的本地主機在二層網(wǎng)絡分裂后仍與本機保持連接、從而確認該本地主機對應的本地ARP表項有效。 下面結合實例進行進一步說明。請參見圖11、并結合圖6,當二層網(wǎng)絡按照如圖6所示的方式發(fā)生分裂后,新Master成員設備R2會從本機連接二層網(wǎng)絡的接口針對本地主機C1 C3的本地ARP表項發(fā)送對應的ARP查詢報文,并且,由于二層網(wǎng)絡的分裂,因而ARP查詢報文只能到達與新Master成員設備R2保持連接的本地主機C2和C3、而無法到達與新Master成員設備R2失去連接的本地主機Cl ;相應地,新Master成員設備R2只能在應答等待周期內收到本地主機C2和C3返回的ARP應答報文、但無法接收到本地主機Cl返回的ARP應答報文,從而,確認本地主機C2和C3與本機保持連接、并確認本地主機C2的IP地址10. I. I. 13/32和本地主機C3的IP地址10. I. I. 14/32所分別對應的本地ARP表項有效,以及,確認本地主機Cl與本機失去連接、并確認本地主機Cl的IP地址10. I. I. 12/32對應的本地ARP表項無效。為了實現(xiàn)原Master成員設備判斷IP地址的沖突是否存在、以及觸發(fā)本地主機的Mac地址刷新,本實施例可以通過免費ARP報文來實現(xiàn)。對于原Master成員設備在二層網(wǎng)絡分裂后接收到新Master成員設備發(fā)布的本地主機IP地址的主機路由信息的情況,以及原Master成員設備在二層網(wǎng)絡復原后接收到新Master成員設備已撤銷其發(fā)布的主機路由信息的通知的情況原Master成員設備都會在其啟用ARP遠程代理功能的該接口發(fā)出免費ARP報文、并在預定的沖突檢測周期內等待其連接的本地主機的回應;其中,原Master成員設備發(fā)出的免費ARP報文的源IP地址和目的IP地址均為新Master成員設備發(fā)布的主機路由信息所對應的本地主機IP地址、源Mac地址為原Master成員設備的Mac地址;此后,對于前一種情況,若原Master成員設備在沖突檢測周期內未收到回應的免費ARP報文,則確認新Master成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與原Master成員設備的二層接口所連接的本地主機無IP地址沖突、并將新Master成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址在原Master成員設備對應的本地ARP表項變更為遠程ARP代理表項;并且,原Master成員設備發(fā)出的免費ARP報文的源Mac地址還能夠將與原Master成員設備二層接口保持連接的本地主機的主機ARP表項的Mac地址刷新為原Master成員設備的Mac地址;但對于后一種情況,若原Master成員設備在沖突檢測周期內收到了回應的免費ARP報文,則確認被新Master成員設備撤銷的主機路由信息所對應的該本地主機IP地址與原Master成員設備的二層接口所連接的本地主機存在IP地址沖突、并將被新Master成員設備撤銷的主機路由信息所對應的該本地主機IP地址在原Master成員設備對應的遠程ARP代理表項變更回本地ARP表項;并且,被新Master成員設備撤銷的主機路由信息所對應的本地主機能夠回應免費ARP報文、且該本地主機所回應的免費ARP報文中的源Mac地址為該本地主機自身的Mac地址,因此,該本地主機所回應的免費ARP報文中的源Mac地址即可將其他本地主機中對應該本地主機的主機ARP表項的Mac地址刷回為該本地主機的Mac地址。相應地,如圖3b所示的步驟312、以及在二層網(wǎng)絡復原后用于原Master成員設備撤銷遠程ARP代理的步驟,即可通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測,并且,如圖3b所示的步驟312可通過在本機的二層接口發(fā)出免費ARP報文來觸發(fā)本地主機的Mac地址刷新;其中,步驟312所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為其他成員設備發(fā)布的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;用于原Master成員設備撤銷遠程ARP代理的步驟所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為被撤銷的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;并且,若步驟312、以及用于原Master成員設備撤銷遠程代理ARP表項的步驟在預定的沖突檢測周期內未收到回應的免費ARP報文,則確認無IP地址沖突,但若步驟312、以及用于原Master成員設備撤銷遠程代理ARP表項的步驟在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。為了實現(xiàn)新Master成員設備判斷IP地址的沖突是否存在、以及觸發(fā)本地主機的Mac地址刷新,本實施例同樣可以通過免費ARP報文來實現(xiàn)?!?br> 對于新Master成員設備在二層網(wǎng)絡分裂后從三層接口接收到原Master成員設備以ARP遠程代理方式發(fā)送的數(shù)據(jù)報文的情況、以及新Master成員設備在二層網(wǎng)絡復原后主動刪除遠程ARP代理表項的情況新Master成員設備均在其啟用ARP遠程代理功能的二層接口發(fā)出免費ARP報文、并在預定的沖突檢測周期內等待其連接的本地主機的回應;其中,新Master成員設備對于前一種情況而發(fā)出的該免費ARP報文的源IP地址和目的IP地址均為該數(shù)據(jù)報文的源IP地址、源Mac地址為新Master成員設備的Mac地址,對于后一種情況而發(fā)出的該免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)建的遠程ARP代理表項所對應的IP地址、源Mac地址為新Master成員設備的Mac地址;此后,對于前一種情況,若新Master成員設備在沖突檢測周期內未收到回應的免費ARP報文,則確認該數(shù)據(jù)報文的源IP地址所對應的IP地址與新Master成員設備的二層接口所連接的本地主機無IP地址沖突,并將該數(shù)據(jù)報文的源IP地址在新Master成員設備對應的本地ARP表項變更為遠程ARP代理表項;并且,新Master成員設備發(fā)出的免費ARP 報文的源Mac地址即可將與新Master成員設備二層接口保持連接的本地主機的主機ARP表項的Mac地址刷新為新Master成員設備的Mac地址;但對于后一種情況,若新Master成員設備在沖突檢測周期內收到了回應的免費ARP報文,則確認已創(chuàng)建的遠程ARP代理表項所對應的IP地址與原Master成員設備的二層接口所連接的本地主機存在IP地址沖突,并將存在IP地址沖突的該遠程ARP代理表項變更回本地ARP表項;并且,與遠程ARP代理表項存在IP地址沖突的本地主機所回應的免費ARP報文中的源Mac地址為該本地主機自身的Mac地址,因此,該本地主機所回應的免費ARP報文中的源Mac地址即可將其他本地主機中對應該本地主機的主機ARP表項的Mac地址刷回為該本地主機的Mac地址。相應地,如圖3c所示的步驟323、以及在二層網(wǎng)絡復原后用于新Master成員設備撤銷遠程ARP代理的步驟,即可通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測,并且,如圖3c所示的步驟323通過在本機的二層接口發(fā)出免費ARP報文還能夠觸發(fā)本地主機的Mac地址刷新;其中,步驟323所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為數(shù)據(jù)報文的源IP地址、源Mac地址為本機的Mac地址;在二層網(wǎng)絡復原后用于新Master成員設備撤銷遠程ARP代理的步驟所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)建的遠程ARP代理表項所對應的IP地址、源Mac地址為本機的Mac地址;并且,若步驟323、以及用于新Master成員設備撤銷遠程ARP代理的步驟在預定的沖突檢測周期內未收到回應的免費ARP報文,則確認無IP地址沖突;但若步驟323、以及用于新Master成員設備撤銷遠程ARP代理的步驟在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。下面結合實例進行詳細說明。請參見圖12a并結合圖4a和圖4b,對于二層網(wǎng)絡分裂后的情況當原Master成員設備Rl感知到新Master成員設備所發(fā)布的10. I. I. 13/32和10. I. I. 14/32的主機路由之后,能夠判斷出10. I. I. 13/32和10. I. I. 14/32與其連接二層網(wǎng)絡、并啟動ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段10. I. I. 0/24內,因此,原Master成員設備Rl會在其啟動ARP遠程代理功能的二層接口發(fā)出免費ARP報文,包括
源IP地址和目的IP地址均為10. I. I. 13/32、源Mac地址為Mac_Rl的免費ARP報文 R1_C2 ;以及,源IP地址和目的IP地址均為10. I. I. 14/32、源Mac地址為Mac_Rl的免費ARP 報文 R1_C3。相應地,本地主機Cl接收到上述的免費ARP報文R1_C2以及R1_C3后會將其對應10. I. I. 13/32和10. I. I. 14/32的本地ARP表項的Mac地址均刷新為Mac_Rl,但不會向原Master成員設備Rl回應免費ARP報文。因此,原Master成員設備Rl在沖突檢測周期內就不會收到針對10. I. I. 13/32和10. I. I. 14/32的回應,從而判斷出10. I. I. 13/32和10. I. I. 14/32與原Master成員設備Rl在其二層接口所連接的本地主機Cl的IP地址10. I. I. 12/32不存在IP地址沖突。從而,原Master成員設備Rl就會按照如圖4a所示的方式刪除10. I. I. 13/32和10. I. I. 14/32 在本機的本地ARP表項,并重新創(chuàng)建10. I. I. 13/32和10. I. I. 14/32在本機的遠程ARP代理表項。同樣地,當原Master成員設備Rl通過ARP遠程代理為本地主機Cl轉發(fā)的數(shù)據(jù)報文到達新Master成員設備R2后,新Master成員設備R2會在其三層接口接收到該數(shù)據(jù)報文,且新Master成員設備R2能夠判斷出該數(shù)據(jù)報文的源IP地址10. I. I. 12/32和目的IP地址10. I. I. 14/32均與其二層接口同處在VRRP備份組所在網(wǎng)段10. I. I. 0/24內,因此,新Master成員設備R2會在其啟動ARP遠程代理功能的二層接口發(fā)出免費ARP報文,即,源IP地址和目的IP地址均為10. I. I. 12/32、源Mac地址為Mac_R2的免費ARP報文R2_C1。相應地,本地主機C2和C3接收到上述的免費ARP報文R2_C1后,均會將各自對應10. I. I. 12/32的本地ARP表項的Mac地址均刷新為Mac_R2,但都不會向新Master成員設備R2回應免費ARP報文。因此,新Master成員設備R2在沖突檢測周期內就不會收到針對10. I. I. 12/32的回應,從而判斷出10. I. I. 12/32與新Master成員設備R2在其連接二層網(wǎng)絡、并啟動ARP遠程代理功能的接口所連接的本地主機C2和C3的IP地址不沖突。從而,新Master成員設備R2就會按照如圖4b所示的方式刪除10. I. I. 12/32在本機的本地ARP表項,并重新創(chuàng)建10. I. I. 12/32在本機的遠程ARP代理表項。請參見圖12b并結合圖5,對于二層網(wǎng)絡復原后的情況當原Master成員設備Rl接收到新Master成員設備已撤銷了 10. I. I. 13/32和10. I. I. 14/32的主機路由信息的通知之后,能夠判斷出10. I. I. 13/32和10. I. I. 14/32與其連接二層網(wǎng)絡、并啟動ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段10. I. I. 0/24內,因此,原Master成員設備Rl會在其啟動ARP遠程代理功能的二層接口發(fā)出圖12a中示出的免費ARP報文R1_C2和R1_C3。相應地,本地主機C2在接收到上述的免費ARP報文R1_C2后會回應免費ARP報文C2_Recover、本地主機C3在接收到上述的免費ARP報文Rl_3后會回應免費ARP報文C3_Recover,其中免費ARP報文C2_Recover的源IP地址和目的IP地址均為10. I. I. 13/32、源Mac地址為該本地主機C2的Mac地址Mac_C2 ;免費ARP報文C3_Recover的源IP地址和目的IP地址均為10. I. I. 14/32、源Mac地址為該本地主機C3的Mac地址Mac_C3。此后,原Master成員設備Rl在沖突檢測周期內就會收到回應的免費ARP報文C2_Recover和C3_Recover,從而判斷出本地主機C2和C3與其恢復了連接、且被撤銷的主機路由信息所對應的10. I. I. 13/32和10. I. I. 14/32與原Master成員設備Rl在其二層接口所連接的本地主機C2和C3存在IP地址沖突。從而,原Master成員設備Rl就會按照如圖5所示的方式刪除10. I. I. 13/32和10. I. I. 14/32的遠程ARP代理表項、并重新創(chuàng)建10. I. I. 13/32 和 10. I. I. 14/32 的本地 ARP 表項。與此同時,本地主機Cl也能夠接收到上述的免費ARP報文C2_Recover和C3_Recover,并由此將對應10. I. I. 13/32和10. I. I. 14/32的主機ARP表項的Mac地址從Mac_Rl分別刷新回Mac_C2和Mac_C3。同樣地,當原Master成員設備Rl切換為Backup狀態(tài)后,新Master成員設備R2會依據(jù)其已創(chuàng)建的遠程ARP代理表項所對應的10. I. I. 12/32而在其啟動ARP遠程代理功能的二層接口發(fā)出圖12a中示出的免費ARP報文R2_C1。 相應地,本地主機Cl在接收到上述的免費ARP報文R1_C1后會回應免費ARP報文Cl_Recover,其中,免費ARP報文Cl_Recover的源IP地址和目的IP地址均為10. I. I. 12/32、源Mac地址為該本地主機Cl的Mac地址Mac_Cl。此后,新Master成員設備R2在沖突檢測周期內就會收到回應的免費ARP報文Cl_Recover,從而判斷出本地主機Cl與其恢復了連接、且已創(chuàng)建的遠程ARP代理表項所對應的
10.I. I. 12/32與新Master成員設備R2在其二層接口所連接的本地主機Cl存在IP地址沖突。從而,新Master成員設備R2就會刪除10. I. I. 12/32的遠程ARP代理表項、并重新創(chuàng)建10. I. I. 12/32的本地ARP表項。與此同時,本地主機C2和C3也都能夠接收到上述的免費ARP報文Cl_Recover,并由此將對應10. I. I. 12/32的主機ARP表項的Mac地址從Mac_R2刷新回Mac_Cl。為了使成員設備在Backup狀態(tài)能夠保持其本地ARP表項不會在其切換至Master狀態(tài)之前就由于老化而被刪除處在Backup狀態(tài)的成員設備在接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);并且,當成員設備從Backup狀態(tài)切換至Master狀態(tài)后,若判斷出由于二層網(wǎng)絡分裂導致本機切換、即本機此時作為新Master成員設備與原Master成員設備共存,則為本機偵測到的與本機保持連接的本地主機所對應的有效本地ARP表項配置老化時間。當然,對于Master狀態(tài)的成員設備由于二層網(wǎng)絡復原、成員設備故障恢復等原因而切換至Backup狀態(tài)的情況,該成員設備需要在切換至Backup狀態(tài)后再將本機在Master狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。相應地,本實施例中用于VRRP發(fā)布路由的方法就可以進一步包括在成員設備中執(zhí)行的如下步驟當本機(Backup成員設備)在Backup狀態(tài)接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);若本機(二層網(wǎng)絡分裂后的新Master成員設備)通過如圖3所示的步驟320偵測到與本機保持連接的本地主機所對應的有效本地ARP表項,則為有效本地ARP表項配置老化時間;以及,當本機(原Master成員設備或新Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,將本機在Master狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。此外,對于新Master成員設備來說,當本地ARP表項的老化功能被開啟后,還需要針對老化超時的有效本地ARP表項來更新已發(fā)布的子集路由。因此,本實施例中用于VRRP發(fā)布路由的方法可以進一步包括在成員設備中執(zhí)行的如下步驟當本機的有效本地ARP表項老化時,刪除老化的有效的本地ARP表項、并撤銷本機已發(fā)布該本地ARP表項的本地主機IP地址的主機路由信息。以上是對本實施例中用于VRRP備份組恢復流量的方法的說明。該方法能夠以計算機程序來實現(xiàn),因此,與上述方法相對應地,本實施例還提供了一種用于VRRP備份組恢
復流量的裝置。與方法同理,為了實現(xiàn)對二層報文流量的恢復,在應用該裝置的VRRP備份組中,每臺成員設備連接二層網(wǎng)絡的二層接口可啟用ARP遠程代理功能。當有成員設備成為新Master成員設備時,該裝置包括在該成員設備中運行的如下模塊成員狀態(tài)判斷模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,需要先判斷在本機從Backup狀態(tài)切換切換至Master狀態(tài)之前處于Master狀態(tài)的其他成員設備目前是否仍在Master狀態(tài)正常工作,即判斷原Master成員設備此時是否存在;ARP表項偵測模塊,若成員狀態(tài)判斷模塊判斷出在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)的其他成員設備目前仍在Master狀態(tài)正常工作,則確認此時屬于二層網(wǎng)絡發(fā)生網(wǎng)絡分裂的情況,相應地,本機屬于新Master成員設備、而目前仍在Master狀態(tài)正常工作的其他成員設備為與本機共存的原Master成員設備,因此,本機需要偵測VRRP備份組所在網(wǎng)段內的本地ARP表項是否有效、并以此來識別各本地主機是否在二層網(wǎng)絡分裂后與本機處在同一分裂子網(wǎng)并保持連接;主機路由發(fā)布模塊,若ARP表項偵測模塊偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則確認該有效的本地ARP表項所對應的本地主機在二層網(wǎng)絡分裂之前與本機同處于一個二層網(wǎng)絡、且在二層網(wǎng)絡分裂后仍與本機同處在同一個的分裂子網(wǎng)中,因此,發(fā)布有效的本地ARP表項所對應的本地主機IP地址的主機路由信息。當有成員設備作為原Master成員設備接收到新Master成員設備發(fā)布的本地主機IP地址的主機路由信息時,該裝置包括在該成員設備中運行的如下模塊原Master地址判斷模塊,當本機在Master狀態(tài)接收到其他成員設備發(fā)布的本地主機IP地址的主機路由信息后,判斷其他成員設備發(fā)布的本地主機IP地址所對應的該本地主機IP地址是否與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段;原Master檢測刷新模塊,若原Master地址判斷模塊判斷出其他成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與本機啟用ARP遠程代理功能的接口均處在VRRP備份組所在網(wǎng)段,則確認該本機IP地址所對應的本地主機在二層網(wǎng)絡分裂之前與本機處在同一網(wǎng)段的二層網(wǎng)絡中,并且,為了進一步確認該本地主機IP地址所對應的本地主機在二層網(wǎng)絡分裂后是否與本機處在不同的分裂子網(wǎng),再檢測該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機的IP地址是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,原Master檢測刷新模塊所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;原Master代理創(chuàng)建模塊,若原Master檢測刷新模塊檢測出其他成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機無IP地址沖突,則確認該本地主機IP地址所對應的本地主機在二層網(wǎng)絡分裂之前與本機同處于一個二層網(wǎng)絡、但在二層網(wǎng)絡分裂后與本機處在不同的分裂子網(wǎng),因此,將該本地主機IP地址在本機對應的本地ARP表項變更為遠程ARP代理表項(該遠程ARP代理表項的IP地址為該本地主機IP地址、Mac地址為本機的Mac地址),以使本機能夠利·用遠程ARP代理表項對以該本地主機IP地址為目的IP地址的二層的數(shù)據(jù)報文按照三層報文的方式(數(shù)據(jù)報文中的Mac地址為本機的Mac地址)進行轉發(fā);另外,若原Master檢測刷新模塊判斷出其他成員設備發(fā)布的主機路由信息所對應的該本地主機IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機存在IP地址沖突,則表示本機與該主機IP地址所對應的本地主機之間目前存在連接,因而無需創(chuàng)建對應的遠程ARP代理表項、并可以直接結束本流程。此時,在原Master檢測刷新模塊的觸發(fā)下而被刷新為本機Mac地址的對應的主機ARP表項也會被對應的本地主機回刷為該本地主機的Mac地址。其中,對于與遠程ARP代理表項對應相同IP地址的本地ARP表項,會由原Master代理創(chuàng)建模塊、或原Master檢測刷新模塊刪除。相應地,當有成員設備成為新Master成員設備、并發(fā)布了本地主機IP地址的主機路由信息后,該裝置包括在該成員設備中運行的如下模塊新Master地址判斷模塊,當本機在Master狀態(tài)從本機連接三層網(wǎng)絡的三層接口接收到數(shù)據(jù)報文后,判斷該數(shù)據(jù)報文的源IP地址和目的IP地址是否均與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段;新Master表項查詢模塊,若新Master地址判斷模塊判斷出該數(shù)據(jù)報文的源IP地址和目的IP地址均與本機啟用ARP遠程代理功能的二層接口同處在VRRP備份組所在網(wǎng)段、且該數(shù)據(jù)報文的源IP地址在本機不存在遠程ARP代理表項,則確認該數(shù)據(jù)報文屬于以遠程代理方式從三層網(wǎng)絡轉發(fā)的二層報文、且該數(shù)據(jù)報文的源端和目的端的本地主機在二層網(wǎng)絡分裂之前均與本機處在同一網(wǎng)段的二層網(wǎng)絡中,此時,先判斷本機是否已針對該數(shù)據(jù)報文的源端的本地主機創(chuàng)建有遠程ARP代理表項;新Master檢測刷新模塊,若新Master表項查詢模塊判斷出該數(shù)據(jù)報文的源IP地址在本機不存在遠程ARP代理表項,則表示需要為該數(shù)據(jù)報文的源IP地址創(chuàng)建遠程ARP代理表項,此時,就需要先確認該數(shù)據(jù)報文的源端的本地主機在二層網(wǎng)絡分裂后是否與本機處在不同的分裂子網(wǎng),再檢測該數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,新Master檢測刷新模塊所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;新Master代理創(chuàng)建模塊,若新Master檢測刷新模塊檢測出該數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機無IP地址沖突,則確認該數(shù)據(jù)報文的源端的本地主機在二層網(wǎng)絡分裂之前與本機同處于一個二層網(wǎng)絡、但在二層網(wǎng)絡分裂后與本機處在不同的分裂子網(wǎng),因此,為該數(shù)據(jù)報文的源IP地址在本機創(chuàng)建遠程ARP代理表項(該遠程ARP代理表項的IP地址為該數(shù)據(jù)報文的源IP地址、Mac地址為本機的Mac地址),以使本機能夠利用遠程ARP代理表項對以該數(shù)據(jù)報文的源IP地址為目的IP地址的二層的其他數(shù)據(jù)報文按照三層報文的方式(其他數(shù)據(jù)報文中的Mac地址為本機的Mac地址)進行轉發(fā);
另外,若新Master檢測刷新模塊判斷出該數(shù)據(jù)報文的源IP地址與本機啟用ARP遠程代理功能的二層接口所連接的本地主機存在IP地址沖突,則表示本機與該數(shù)據(jù)報文的源IP地址所對應的本地主機之間目前存在連接,因而無需創(chuàng)建對應的遠程ARP代理表項、并可以直接結束本流程。此時,在新Master檢測刷新模塊的觸發(fā)下而被刷新為本機Mac地址的主機ARP表項也會被該數(shù)據(jù)報文的源IP地址所對應的本地主機回刷為該本地主機的Mac地址。其中,對于與遠程ARP代理表項對應相同IP地址的本地ARP表項,會由新Master代理創(chuàng)建模塊、或新Master檢測刷新模塊刪除,或者,與遠程ARP代理表項對應相同IP地址的本地ARP表項還有可能被ARP表項偵測模塊作為無效的本地ARP表項予以刪除。如上可見,基于上述模塊,二層報文流量在二層網(wǎng)絡分裂之后能夠得以恢復。此外,在實際應用中,發(fā)生分裂的二層網(wǎng)絡有可能會復原,而當二層網(wǎng)絡分裂又復原后,原Master成員設備通常會由于優(yōu)先級高而繼續(xù)保持在Master狀態(tài)、新Master成員設備則會由于優(yōu)先級低而切換至Backup狀態(tài)。因此,當二層網(wǎng)絡復原后,該裝置可以進一步包括在成員設備中運行的如下模塊主機路由撤銷模塊,當本機(新Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,若本機通過如前所述的主機路由發(fā)布模塊發(fā)布了本地主機IP地址的主機路由信息,則撤銷本機發(fā)布的本地主機IP地址的主機路由信息;原Master撤銷檢測模塊,當本機(原Master成員設備)接收到其他成員設備撤銷了已發(fā)布的本地主機IP地址的主機路由信息的通知后,若判斷出該本地主機IP地址是否與本機的二層接口同處在VRRP備份組所在網(wǎng)段、且該本地主機IP地址在本機存在對應的遠程ARP代理表項,則檢測該本地主機IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突;原Master代理撤銷模塊,若原Master撤銷檢測模塊檢測出存在IP地址沖突,則刪除該本地主機IP地址對應的遠程ARP代理表項、并為該本地主機IP地址創(chuàng)建對應的本地ARP表項;新Master撤銷檢測模塊,當本機(新Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,若本機已創(chuàng)建有遠程ARP代理表項,則檢查已創(chuàng)建的各遠程ARP代理表項所對應的IP地址是否與本機的二層接口所連接的本地主機是否存在IP地址沖突;新Master代理撤銷模塊,若新Master撤銷檢測模塊檢測出有遠程ARP代理表項存在IP地址沖突,則刪除存在IP地址沖突的遠程ARP代理表項、并為沖突的IP地址創(chuàng)建對應的本地ARP表項。實際應用中,當二層網(wǎng)絡分裂又復原后,原Master成員設備也有可能切換回Backup狀態(tài)、并由新Master成員設備繼續(xù)保持在Master狀態(tài)。此時,只要新Master成員設備判斷出到原Master成員設備已切換回Backup狀態(tài)(例如通過原Master成員設備撤銷其發(fā)布的路由信息等方式),新Master設備仍需要撤銷其發(fā)布的本地主機IP地址的主機路由信息,此時,新Master成員設備和原Master成員設備仍按照上述方式刪除各自的遠程ARP代理表項、并創(chuàng)建本地ARP代理表項。除了恢復二層報文流量之外,本實施例還可以設置所有成員設備在處于Backup狀態(tài)時均被禁止發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息、且只有成員設備在切換至 Master狀態(tài)后才有可能發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,即,所有上行報文流量和下行報文流量均由VRRP備份組中的Master成員設備來承擔。因此,在應用本實施例用于VRRP備份組恢復流量的上述裝置的VRRP備份組中,還可以設置每臺成員設備在切換至Backup狀態(tài)后都被禁止發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息,并且,在有成員設備成為新Master成員設備時,該裝置還可以進一步包括在該成員設備運行的如下模塊網(wǎng)段接管發(fā)布模塊,當本機(新Master成員設備)通過如上所述的成員狀態(tài)判斷模塊判斷出在本機切換之前處于Master狀態(tài)的其他成員設備(即已發(fā)布了網(wǎng)段路由信息的原Master設備)目前已不在Master狀態(tài)正常工作,則發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路
由信息。實際應用中若在VRRP備份組從未發(fā)生過重選舉時發(fā)生了二層網(wǎng)絡分裂,則在VRRP備份組啟動后首次被選舉為Master狀態(tài)的成員設備為原Master成員設備、并且是從Initialize狀態(tài)切換至Master狀態(tài);若在VRRP備份組發(fā)生了重選舉之后又發(fā)生了二層網(wǎng)絡分裂,則對于分裂后的二層網(wǎng)絡來說,最近一次重選舉所產(chǎn)生的Master狀態(tài)的成員設備為原Master成員設備、并且是從Backup狀態(tài)切換至Master狀態(tài),而二層網(wǎng)絡分裂導致的重選舉所產(chǎn)生的Master狀態(tài)的成員設備為新Master成員設備。相應地,對于在VRRP備份組從未發(fā)生過重選舉時發(fā)生了二層網(wǎng)絡分裂的情況,當有成員設備成為在VRRP備份組啟動后首次選舉產(chǎn)生的新Master成員設備時,該裝置可以進一步包括在該成員設備運行的如下模塊網(wǎng)段初始發(fā)布模塊,當本機從Initialize狀態(tài)切換至Master狀態(tài)后,發(fā)布VRRP備份組所在網(wǎng)段的網(wǎng)段路由信息。而對于在VRRP備份組發(fā)生了重選舉之后又發(fā)生了二層網(wǎng)絡分裂的情況,上述的網(wǎng)段接管發(fā)布模塊即可用于原Master成員設備發(fā)布網(wǎng)段路由信息。另外,對于發(fā)生分裂的二層網(wǎng)絡復原、以及發(fā)生故障退出的原Master成員設備恢復后重新回到VRRP備份組的情況,該裝置可以進一步包括在成員設備中運行的如下模塊
網(wǎng)段撤銷通告模塊,當本機(原Master成員設備或新Master成員設備)在發(fā)布了網(wǎng)段路由信息之后從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的網(wǎng)段路由信息。 網(wǎng)段搶占發(fā)布模塊,當本機(新Master成員設備)通過重選舉而使在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備(原Master成員設備)又切換至了Backup狀態(tài)之后,則本機發(fā)布網(wǎng)段路由信息;以及,如前所述的主機路由撤銷模塊,當本機(新Master成員設備)通過有效ARP發(fā)布模塊發(fā)布了本地主機IP地址的主機路由信息之后、又從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的本地主機IP地址的主機路由信息;其中若成員設備在二層網(wǎng)絡分裂后作為新Master成員設備、并在二層網(wǎng)絡復原后切
換至Backup狀態(tài),則主機路由撤銷模塊會在該成員設備中運行;相應地,若成員設備作為原Master成員設備、并在二層網(wǎng)絡復原后保持在Master狀態(tài),則該成員設備中此時無需額外運行任何模塊;若成員設備在二層網(wǎng)絡分裂后作為新Master成員設備、并在二層網(wǎng)絡復原后繼續(xù)保持在Master狀態(tài),則網(wǎng)段搶占發(fā)布模塊會在該成員設備中運行;相應地,若成員設備作為原Master成員設備、并在二層網(wǎng)絡復原后切換至Backup狀態(tài),則網(wǎng)段撤銷通告模塊此時會在該成員設備中運行;若成員設備在正常重選舉后作為新Master成員設備、并原Master成員設備重回VRRP備份組之后切換回Backup狀態(tài),則網(wǎng)段撤銷通告模塊會在該成員設備中運行;相應地,若成員設備作為故障退出的原Master成員設備、并重回VRRP備份組后從Initialize狀態(tài)切換至Master狀態(tài),則前文所述的網(wǎng)段初始發(fā)布模塊此時需要在該成員設備中再次運行。在具體實現(xiàn)時,為了使成員設備在從Backup狀態(tài)切換至Master狀態(tài)后,能夠判斷出在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前是否仍在Master狀態(tài)正常工作,本實施例中用于VRRP恢復流量的裝置可以進一步包括在成員設備中運行的如下模塊成員路由發(fā)布模塊,當本機(即原Master成員設備)發(fā)布網(wǎng)段信息時,還發(fā)布本機真實IP地址的主機路由信息;成員路由記錄模塊,當本機(即Backup成員設備)在Backup狀態(tài)接收到其他成員設備(即原Master成員設備)真實IP地址的主機路由信息后,記錄該主機路由信息;成員路由刪除模塊,當本機(即新Master成員設備)在連接三層網(wǎng)絡的接口接收到其他成員設備(即原Master成員設備)真實IP地址的主機路由信息被撤銷的通知后,將本機記錄的該主機路由信息刪除;并且,前文所述的成員狀態(tài)判斷模塊可以具體包括記錄查詢子模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;成員查詢子模塊,當記錄查詢子模塊查詢到本機記錄有其他成員設備真實IP地址的主機路由信息后,依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;
應答異常子模塊,若記錄查詢子模塊未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息、或成員查詢子模塊在查詢等待周期內未接收到應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;應答正常子模塊,若記錄查詢子模塊在查詢等待周期內接收到應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作。實際應用中,也可以取消對原Master成員設備的查詢機制、而僅依據(jù)是否記錄有主機路由信息來判斷,相應地,成員狀態(tài)判斷模塊也可以予以簡化,即包括記錄查詢子模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;
查詢成功子模塊,若未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;查詢失敗子模塊,若查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作。另外,由于原Master成員設備發(fā)布本機真實IP地址的主機路由信息是為了標識其已處在Master狀態(tài)并已發(fā)布了網(wǎng)段路由信息,因此,當原Master成員設備由于二層網(wǎng)絡分裂復原等原因而切換至Backup狀態(tài)、并撤銷其發(fā)布的網(wǎng)段路由信息時,其同樣需要在撤銷其發(fā)布的本機真實IP地址的主機路由信息。相應地,本實施例中用于VRRP恢復流量的裝置可以進一步包括在成員設備中運行的如下模塊成員路由撤銷模塊,當本機(即原Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,撤銷本機已發(fā)布的本機真實IP地址的主機路由信息。在具體實現(xiàn)時,為了使成員設備在作為新Master成員設備時能夠偵測本地ARP表項是否有效,本實施例可以通過ARP查詢機制來實現(xiàn)。相應地,ARP表項偵測模塊可以通過在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項向對應的各本地主機發(fā)送ARP查詢報文、并在預定的應答等待周期內等待各本地主機響應的ARP應答報文,來實現(xiàn)對本地ARP表項的有效性偵測;若在應答等待周期內未接收到ARP應答報文,則確認對應的本地主機在二層網(wǎng)絡分裂后與本機失去連接、從而確認該本地主機對應的本地ARP表項無效;若在應答等待周期內收到了 ARP應答報文,則確認對應的本地主機在二層網(wǎng)絡分裂后仍與本機保持連接、從而確認該本地主機對應的本地ARP表項有效。在具體實現(xiàn)時,為了實現(xiàn)原Master成員設備判斷IP地址的沖突是否存在、以及觸發(fā)本地主機的Mac地址刷新,原Master檢測刷新模塊、原Master撤銷檢測模塊可通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn);其中,原Master檢測刷新模塊所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為其他成員設備發(fā)布的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;原Master撤銷檢測模塊所發(fā)出的該免費ARP報文的源IP地址和目的IP地址均為被撤銷的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;并且,若原Master檢測刷新模塊、原Master撤銷檢測模塊在預定的沖突檢測周期內未收到回應的免費ARP報文,則確認無IP地址沖突,但若原Master檢測刷新模塊、原Master撤銷檢測模塊在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。在具體實現(xiàn)時,為了實現(xiàn)新Master成員設備判斷IP地址的沖突是否存在、以及觸發(fā)本地主機的Mac地址刷新,新Master檢測刷新模塊、以及新Master撤銷檢測模塊可通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn);其中,新Master檢測刷新模塊所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為數(shù)據(jù)報文的源IP地址、源Mac地址為本機的Mac地址;新Master撤銷檢測模塊所發(fā)出的免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)
建的遠程ARP代理表項所對應的IP地址、源Mac地址為本機的Mac地址;并且,若新Master檢測刷新模塊、以及新Master撤銷檢測模塊在預定的沖突檢測周期內未收到回應的免費ARP報文,則確認無IP地址沖突;但若新Master檢測刷新模塊、以及新Master撤銷檢測模塊在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。在具體實現(xiàn)時,為了使成員設備在Backup狀態(tài)能夠保持其本地ARP表項不會在其切換至Master狀態(tài)之前就由于老化而被刪除,本實施例中用于VRRP恢復流量的裝置可以進一步包括在成員設備中運行的如下模塊ARP老化禁止模塊,當本機(Backup成員設備)在Backup狀態(tài)接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);ARP老化開啟模塊,若本機(二層網(wǎng)絡分裂后的新Master成員設備)通過如圖3所示的步驟320偵測到與本機保持連接的本地主機所對應的有效本地ARP表項,則為有效本地ARP表項配置老化時間;以及,ARP老化關閉模塊,當本機(原Master成員設備或新Master成員設備)從Master狀態(tài)切換至Backup狀態(tài)后,將本機在Master狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。此外,對于新Master成員設備來說,當本地ARP表項的老化功能被開啟后,還需要針對老化超時的有效本地ARP表項來更新已發(fā)布的子集路由。因此,本實施例中用于VRRP恢復流量的裝置可以進一步包括在成員設備中運行的如下模塊主機路由更新模塊,當本機的有效本地ARP表項老化時,刪除老化的有效本地ARP表項、并更新本機已發(fā)布的本地主機IP地址的主機路由信息。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。
權利要求
1.一種用于虛擬路由器冗余協(xié)議VRRP備份組恢復流量的方法,其特征在于,該方法包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟alO、當本機從Backup狀態(tài)切換至Master狀態(tài)后,判斷在本機切換之前處于Master狀態(tài)的其他成員設備目前是否仍在Master狀態(tài)正常工作;a20、若步驟alO判斷為是,則偵測VRRP備份組所在網(wǎng)段內的本地ARP表項是否有效;a30、若步驟a20偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則發(fā)布有效的本地ARP表項所對應的本地主機IP地址的主機路由信息;b 10、當本機在Master狀態(tài)接收到其他成員設備發(fā)布的本地主機IP地址的主機路由信息后,判斷該本地主機IP地址是否與本機的二層接口同處在VRRP備份組所在網(wǎng)段;b20、若步驟blO判斷為是,則檢測該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟b20所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;b30、若步驟b20檢測出無IP地址沖突,則為其他成員發(fā)布的該本地主機IP地址在本機創(chuàng)建遠程ARP代理表項;clO、當本機在Master狀態(tài)從本機連接三層網(wǎng)絡的三層接口接收到數(shù)據(jù)報文后,判斷該數(shù)據(jù)報文的源IP地址和目的IP地址是否均與本機的二層接口同處在VRRP備份組所在網(wǎng)段;c20、若步驟clO判斷為是、且該數(shù)據(jù)報文的源IP地址目前尚未在本機創(chuàng)建對應的遠程ARP代理表項,則檢測該數(shù)據(jù)報文的源IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟c20所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應該數(shù)據(jù)報文的源IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;c30、若步驟c20檢測出無IP地址沖突,則為該數(shù)據(jù)報文的源IP地址在本機創(chuàng)建遠程ARP代理表項;其中,與遠程ARP代理表項對應相同IP地址的本地ARP表項會被本機刪除;遠程ARP代理表項中的Mac地址為本機的Mac地址;由本機利用遠程ARP代理表項所轉發(fā)的數(shù)據(jù)報文中的Mac地址會被設置為本機的Mac地址。
2.根據(jù)權利要求I所述的方法,其特征在于,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟dlO、當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機通過步驟a30發(fā)布了本地主機IP地址的主機路由信息,則撤銷本機發(fā)布的該本地主機IP地址的主機路由信息;d21、當本機接收到其他成員設備撤銷了已發(fā)布的本地主機IP地址的主機路由信息的通知后,若判斷出被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口同處在VRRP備份組所在網(wǎng)段、且被撤銷的主機路由信息所對應的該本地主機IP地址在本機存在對應的遠程ARP代理表項,則檢測被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突;d22、若步驟d21檢測出存在IP地址沖突,則刪除該本地主機IP地址對應的遠程ARP代理表項、并為該本地主機IP地址創(chuàng)建對應的本地ARP表項;d31、當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機已創(chuàng)建有遠程ARP代理表項,則檢查已創(chuàng)建的各遠程ARP代理表項所對應的IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突;d32、若步驟d31檢測出有遠程ARP代理表項存在IP地址沖突,則刪除存在IP地址沖突的遠程ARP代理表項、并為沖突的IP地址創(chuàng)建對應的本地ARP表項。
3.根據(jù)權利要求2所述的方法,其特征在于,步驟b20和步驟c20通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測、以及觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,步驟b20發(fā)出的免費ARP報文的源IP地址和目的IP地址均為其他成員發(fā)布的主機路由信息所對應的本地主機IP地址;步驟c30發(fā)出的免費ARP報文的源IP地址和目的IP地址均為接收到的數(shù)據(jù)報文的源IP地址、源Mac地址為本機的Mac地址;步驟d21和步驟d31通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)IP地址沖的檢測;其中,步驟d21發(fā)出的該免費ARP報文的源IP地址和目的IP地址均為被撤銷的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;步驟d31發(fā)出的免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)建的遠程ARP代理表項所對應的IP地址、源Mac地址為本機的Mac地址;若步驟b20、步驟c20、步驟d21、以及步驟d31在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖突。
4.根據(jù)權利要求I所述的方法,其特征在于,在應用該方法的VRRP備份組中,每臺成員設備進一步在切換至Backup狀態(tài)后被禁止發(fā)布所述網(wǎng)段路由信息,并且,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟b00、當本機從Initialize狀態(tài)切換至Master狀態(tài)后,發(fā)布所述網(wǎng)段路由信息。
5.根據(jù)權利要求4所述的方法,其特征在于,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟a40、若步驟alO判斷為否,則發(fā)布所述網(wǎng)段路由信息;a50、當本機在發(fā)布了所述網(wǎng)段路由信息之后從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的所述網(wǎng)段路由信息。
6.根據(jù)權利要求5所述的方法,其特征在于,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟a60、當本機通過重選舉而使在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)、并發(fā)布了所述網(wǎng)段路由信息的其他成員設備又切換至了 Backup狀態(tài)之后,發(fā)布所述網(wǎng)段路由信息。
7.根據(jù)權利要求5所述的方法,其特征在于,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟elO、當本機發(fā)布所述網(wǎng)段信息時,還發(fā)布本機真實IP地址的主機路由信息;e20、當本機在Backup狀態(tài)接收到其他成員設備真實IP地址的主機路由信息后,記錄該主機路由信息;e30、當本機在連接三層網(wǎng)絡的接口接收到其他成員設備真實IP地址的主機路由信息被撤銷后,將本機記錄的該主機路由信息刪除;e40、當本機從Master狀態(tài)切換至Backup狀態(tài)后,撤銷本機發(fā)布的本機真實IP地址的主機路由信息;步驟alO包括alOl、當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;al02、當步驟alOl查詢到本機記錄有其他成員設備真實IP地址的主機路由信息后,依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;al03、若步驟alOl未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息、或步驟al02在所述查詢等待周期內未接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前未在Master狀態(tài)正常工作;al04、若步驟al02在所述查詢等待周期內接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前仍在Master狀態(tài)正常工作;或者,步驟alO包括alOl、當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;al02、若步驟alOl未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前未在Master狀態(tài)正常工作;al03、若步驟alOl查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)的其他成員設備目前仍在Master狀態(tài)正常工作。
8.根據(jù)權利要求I所述的方法,其特征在于,步驟a20通過在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項發(fā)送對應的ARP查詢報文來偵測本地ARP表項是否有效;若在所述應答等待周期內未接收到ARP應答報文,則確認對應的本地ARP表項無效;若在所述應答等待周期內收到了 ARP應答報文,則確認對應的本地ARP表項有效。
9.根據(jù)權利要求I所述的方法,其特征在于,該方法進一步包括在VRRP備份組中的每臺成員設備執(zhí)行的如下步驟HO、當本機在Backup狀態(tài)接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);f20、若步驟a20偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則為有效的本地ARP表項配置老化時間;f30、當本機的有效本地ARP表項老化時,刪除老化的有效的本地ARP表項、并更新本機已發(fā)布的本地主機IP地址的主機路由信息;f40、當本機從Master狀態(tài)切換至Backup狀態(tài)后,將本機在Master狀態(tài)依據(jù)免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。
10.一種用于虛擬路由器冗余協(xié)議VRRP備份恢復流量的裝置,其特征在于,該裝置包括在VRRP備份組中的每臺成員設備承載的如下模塊成員狀態(tài)判斷模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,判斷在本機切換之前處于Master狀態(tài)的其他成員設備目前是否仍在Master狀態(tài)正常工作;ARP表項偵測模塊,若所述成員狀態(tài)判斷模塊判斷為是,則偵測VRRP備份組所在網(wǎng)段內的本地ARP表項是否有效;主機路由發(fā)布模塊,若所述ARP表項偵測模塊偵測到與本機保持連接的本地主機所對應的有效的本地ARP表項,則發(fā)布有效的本地ARP表項所對應的本地主機IP地址的主機路由信息;第一地址判斷模塊,當本機在Master狀態(tài)接收到其他成員設備發(fā)布的本地主機IP地址的主機路由信息后,判斷該本地主機IP地址是否與本機的二層接口同處在VRRP備份組所在網(wǎng)段;第一檢測刷新模塊,若所述主機地址判斷模塊判斷為是,則檢測該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,所述第一檢測刷新模塊所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應其他成員發(fā)布的本地主機IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;第一代理創(chuàng)建模塊,若所述第一沖突檢測模塊檢測出無IP地址沖突,則為其他成員發(fā)布的該本地主機IP地址在本機創(chuàng)建遠程ARP代理表項;第二地址判斷模塊,當本機在Master狀態(tài)從本機連接三層網(wǎng)絡的三層接口接收到數(shù)據(jù)報文后,判斷該數(shù)據(jù)報文的源IP地址和目的IP地址是否均與本機的二層接口同處在VRRP備份組所在網(wǎng)段;第二檢測刷新模塊,若所述第一地址判斷模塊判斷為是、且該數(shù)據(jù)報文的源IP地址目前尚未在本機創(chuàng)建對應的遠程ARP代理表項,則檢測該數(shù)據(jù)報文的源IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突、并觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,所述第二檢測刷新模塊所觸發(fā)的Mac地址刷新的過程,用于使與本機保持連接的本地主機中對應該數(shù)據(jù)報文的源IP地址的主機ARP表項的Mac地址被刷新為本機的Mac地址;第二代理創(chuàng)建模塊,若所述第二沖突檢測模塊檢測出無IP地址沖突,則為該數(shù)據(jù)報文的源IP地址在本機創(chuàng)建遠程ARP代理表項;其中,與遠程ARP代理表項對應相同IP地址的本地ARP表項會被本機刪除;遠程ARP代理表項中的Mac地址為本機的Mac地址;由本機利用遠程ARP代理表項所轉發(fā)的數(shù)據(jù)報文中的Mac地址會被設置為本機的Mac地址。
11.根據(jù)權利要求10所述的裝置,其特征在于,該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊主機路由撤銷模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機通過所述主機路由發(fā)布模塊發(fā)布了本地主機IP地址的主機路由信息,則撤銷本機發(fā)布的該本地主機IP地址的主機路由信息;第一撤銷檢測模塊,當本機接收到其他成員設備撤銷了已發(fā)布的本地主機IP地址的主機路由信息的通知后,若判斷出被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口同處在VRRP備份組所在網(wǎng)段、且被撤銷的主機路由信息所對應的該本地主機IP地址在本機存在對應的遠程ARP代理表項,則檢測被撤銷的主機路由信息所對應的該本地主機IP地址與本機的二層接口所連接的本地主機的IP地址是否存在IP地址沖突;第一代理撤銷模塊,若所述第一撤銷檢測模塊檢測出存在IP地址沖突,則刪除該本地主機IP地址對應的遠程ARP代理表項、并為該本地主機IP地址創(chuàng)建對應的本地ARP表項;第二撤銷檢測模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,若本機已創(chuàng)建有遠程ARP代理表項,則檢查已創(chuàng)建的各遠程ARP代理表項所對應的IP地址與本機的二層接口所連接的本地主機是否存在IP地址沖突;第二代理撤銷模塊,若所述第二撤銷檢測模塊檢測出有遠程ARP代理表項存在IP地址沖突,則刪除存在IP地址沖突的遠程ARP代理表項、并為沖突的IP地址創(chuàng)建對應的本地ARP表項。
12.根據(jù)權利要求11所述的裝置,其特征在于,所述第一檢測刷新模塊和所述第二檢測刷新模塊通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測、以及觸發(fā)與本機保持連接的本地主機實現(xiàn)Mac地址刷新;其中,所述第一檢測刷新模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為其他成員發(fā)布的主機路由信息所對應的本地主機IP地址;所述第二檢測刷新模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為接收到的數(shù)據(jù)報文的源IP地址、源Mac地址為本機的Mac地址;所述第一撤銷檢測模塊和所述第二撤銷檢測模塊通過在本機的二層接口發(fā)出免費ARP報文來實現(xiàn)對IP地址沖突的檢測;其中,所述第一撤銷檢測模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為被撤銷的主機路由信息所對應的本地主機IP地址、源Mac地址為本機的Mac地址;所述第二撤銷檢測模塊發(fā)出的免費ARP報文的源IP地址和目的IP地址均為已創(chuàng)建的遠程ARP代理表項所對應的IP地址、源Mac地址為本機的Mac地址;若所述第一檢測刷新模塊、所述第二檢測刷新模塊、所述第一撤銷檢測模塊、所述第二撤銷檢測模塊在預定的沖突檢測周期內收到了回應的免費ARP報文,則確認存在IP地址沖關。
13.根據(jù)權利要求10所述的裝置,其特征在于,該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊第一網(wǎng)段發(fā)布模塊,當本機從Initialize狀態(tài)切換至Master狀態(tài)后,發(fā)布所述網(wǎng)段路由信息。
14.根據(jù)權利要求13所述的裝置,其特征在于,該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊第二網(wǎng)段發(fā)布模塊,若所述成員狀態(tài)判斷模塊判斷為否,則發(fā)布所述網(wǎng)段路由信息;網(wǎng)段撤銷通告模塊,當本機在發(fā)布了所述網(wǎng)段路由信息之后從Master狀態(tài)切換至Backup狀態(tài),撤銷本機發(fā)布的所述網(wǎng)段路由信息。
15.根據(jù)權利要求14所述的裝置,其特征在于,該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊第三網(wǎng)段發(fā)布模塊,當本機通過重選舉而使在本機從Backup狀態(tài)切換至Master狀態(tài)之前處于Master狀態(tài)、并發(fā)布了所述網(wǎng)段路由信息的的其他成員設備又切換至了 Backup狀態(tài)之后,發(fā)布所述網(wǎng)段路由信息。
16.根據(jù)權利要求14所述的裝置,其特征在于,該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊成員路由發(fā)布模塊,當本機發(fā)布所述網(wǎng)段信息時,還發(fā)布本機真實IP地址的主機路由信息;成員路由記錄模塊,當本機在Backup狀態(tài)接收到其他成員設備真實IP地址的主機路由信息后,記錄該主機路由信息;成員路由刪除模塊,當本機在連接三層網(wǎng)絡的接口接收到其他成員設備真實IP地址的主機路由信息被撤銷后,將本機記錄的該主機路由信息刪除;成員路由撤銷模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,撤銷本機發(fā)布的本機真實IP地址的主機路由信息;所述成員狀態(tài)判斷模塊包括記錄查詢子模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;成員查詢子模塊,當所述記錄查詢子模塊查詢到本機記錄有其他成員設備真實IP地址的主機路由信息后,依據(jù)查詢到的主機路由信息中包含的其他成員設備真實IP地址,從本機連接三層網(wǎng)絡的接口發(fā)出查詢報文、并在預定的查詢等待周期內等待接收應答報文;應答異常子模塊,若所述記錄查詢子模塊未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息、或所述成員查詢子模塊在所述查詢等待周期內未接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;應答正常子模塊,若所述成員查詢子模塊在所述查詢等待周期內接收到所述應答報文,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作;或者,所述成員狀態(tài)判決模塊包括記錄查詢子模塊,當本機從Backup狀態(tài)切換至Master狀態(tài)后,查詢本機是否記錄有其他成員設備真實IP地址的主機路由信息;查詢失敗子模塊,若所述記錄查詢子模塊未查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前未在Master狀態(tài)正常工作;查詢成功子模塊,若所述記錄查詢子模塊查詢到本機記錄有其他成員設備真實IP地址的主機路由信息,則確認在本機切換之前處于Master狀態(tài)并發(fā)布了所述網(wǎng)段路由信息的其他成員設備目前仍在Master狀態(tài)正常工作。
17.根據(jù)權利要求10所述的裝置,其特征在于,所述ARP表項偵測模塊通過在本機連接二層網(wǎng)絡的接口分別針對各條本地ARP表項發(fā)送對應的ARP查詢報文來偵測本地ARP表項是否有效;若在所述應答等待周期內未接收到ARP應答報文,則確認對應的本地ARP表項無效;若在所述應答等待周期內收到了 ARP應答報文,則確認對應的本地ARP表項有效。
18.根據(jù)權利要求10所述的裝置,其特征在于,該裝置進一步包括在VRRP備份組中的每臺成員設備承載的如下模塊ARP老化禁止模塊,當本機在Backup狀態(tài)接收到VRRP備份組所在網(wǎng)段內的免費ARP報文后,將本機在Backup狀態(tài)依據(jù)所述免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài);ARP老化開啟模塊,若所述本地ARP表項偵測模塊偵測到與本機保持連接的本地主機所對應的有效本地ARP表項,則為有效本地ARP表項配置老化時間;主機路由更新模塊,當本機的有效本地ARP表項老化時,刪除老化的有效本地ARP表項、并更新本機已發(fā)布的本地主機IP地址的主機路由信息;ARP老化關閉模塊,當本機從Master狀態(tài)切換至Backup狀態(tài)后,將本機在Master狀態(tài)依據(jù)所述免費ARP報文所創(chuàng)建的本地ARP表項設置為不老化狀態(tài)。
全文摘要
本發(fā)明公開了一種用于虛擬路由器冗余協(xié)議備份組恢復流量的方法和裝置。在本發(fā)明中,原Master成員設備依據(jù)新Master成員設備發(fā)布的主機路由信息能夠識別出新Master成員設備所在分裂子網(wǎng)的本地主機、并創(chuàng)建遠程ARP代理表項,以使原Master所在分裂子網(wǎng)產(chǎn)生的二層報文可通過ARP遠程代理而作為三層報文轉發(fā)至新Master成員設備所在分裂子網(wǎng);相應地,新Master成員設備依據(jù)以三層報文方式轉發(fā)的二層報文能夠識別出原Master成員設備所在分裂子網(wǎng)的本地主機、并創(chuàng)建遠程ARP代理表項,以使新Master所在分裂子網(wǎng)產(chǎn)生的二層報文可通過ARP遠程代理而作為三層報文轉發(fā)至原Master成員設備所在分裂子網(wǎng)。
文檔編號H04L12/713GK102932252SQ20121047892
公開日2013年2月13日 申請日期2012年11月21日 優(yōu)先權日2012年11月21日
發(fā)明者林鵬程 申請人:杭州華三通信技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
赫章县| 玉溪市| 阿坝县| 樟树市| 扶余县| 瑞昌市| 凤山市| 阳高县| 西乌| 调兵山市| 区。| 荥经县| 中卫市| 岳阳县| 米脂县| 射洪县| 资溪县| 凤阳县| 南汇区| 锦州市| 寿阳县| 纳雍县| 南和县| 宜宾市| 长兴县| 拉萨市| 利川市| 辽源市| 武冈市| 浮山县| 崇文区| 黄梅县| 宜兰县| 且末县| 高密市| 衡阳县| 仁化县| 无棣县| 恩平市| 雷山县| 屏东县|