專(zhuān)利名稱(chēng):一種實(shí)現(xiàn)vrrp負(fù)載分擔(dān)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及實(shí)現(xiàn)VRRP負(fù)載分擔(dān)的方法和設(shè)備。
背景技術(shù):
網(wǎng)關(guān)是網(wǎng)絡(luò)世界至關(guān)重要的角色之一,流量必須經(jīng)過(guò)網(wǎng)關(guān)的轉(zhuǎn)發(fā)才能實(shí)現(xiàn)內(nèi)部主機(jī)和外部網(wǎng)絡(luò)的通信。當(dāng)網(wǎng)關(guān)發(fā)生故障時(shí),內(nèi)部主機(jī)就與外部網(wǎng)絡(luò)失去了聯(lián)系。網(wǎng)關(guān)為用戶(hù)的配置操作提供了方便,但是對(duì)設(shè)備的穩(wěn)定性提出了很高的要求。在現(xiàn)有技術(shù)中,通常通過(guò)增加網(wǎng)關(guān)數(shù)量的方式來(lái)提高系統(tǒng)的可靠性,但是如何在多個(gè)出口之間選擇轉(zhuǎn)發(fā)路徑成為急需解決的問(wèn)題?,F(xiàn)有技術(shù)中通常米用VRRP (Virtual Router Redundancy Protocol,虛擬路由器冗余協(xié)議)技術(shù)解決上述問(wèn)題。VRRP可以將承擔(dān)網(wǎng)關(guān)功能的一組路由器模擬成一臺(tái)虛擬路由器,這些路由器可以互為備份,增強(qiáng)了系統(tǒng)可靠性。具體的,VRRP將局域網(wǎng)內(nèi)的可以承擔(dān)網(wǎng)關(guān)功能的一組路由器劃分在一起,組成一個(gè)備份組。備份組由一臺(tái)Master (主)路由器和多臺(tái)Backup (備份)路由器組成,對(duì)外相當(dāng)于一臺(tái)虛擬路由器。虛擬路由器具有IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址,稱(chēng)為虛IP地址。局域網(wǎng)內(nèi)的主機(jī)僅需要知道這臺(tái)虛擬路由器的虛IP地址,并將其設(shè)置為網(wǎng)關(guān)的IP地址即可。局域網(wǎng)內(nèi)的主機(jī)通過(guò)這臺(tái)虛擬路由器與外部網(wǎng)絡(luò)進(jìn)行通信。VRRP備份組建立后,內(nèi)部的流量由Master路由器轉(zhuǎn)發(fā)至外部,當(dāng)Master路由器出現(xiàn)故障時(shí),滿足預(yù)設(shè)條件的Backup路由器會(huì)自動(dòng)升級(jí)為Master路由器承擔(dān)轉(zhuǎn)發(fā)任務(wù),有效避免單一鏈路發(fā)生故障后網(wǎng)絡(luò)中斷的問(wèn)題。其中,VRRP備份組中路由器的角色切換過(guò)程對(duì)內(nèi)部主機(jī)是透明的,內(nèi)部主機(jī)的流量可以自動(dòng)切換至新的路徑。VRRP技術(shù)提高了網(wǎng)關(guān)可靠性的同時(shí),簡(jiǎn)化了主機(jī)的配置。但是在VRRP備份組中,只有Master路由器可以轉(zhuǎn)發(fā)報(bào)文,Backup路由器處于監(jiān)聽(tīng)狀態(tài),不參與報(bào)文的轉(zhuǎn)發(fā),導(dǎo)致了資源浪費(fèi)。對(duì)于該問(wèn)題,現(xiàn)有技術(shù)中有如下兩種解決方案
(I), VRRPE (VRRP Extended, VRRP擴(kuò)展)技術(shù)是VRRP技術(shù)的擴(kuò)展,它在虛擬網(wǎng)關(guān)冗余備份功能基礎(chǔ)上增加了負(fù)載分擔(dān)功能。VRRPE實(shí)現(xiàn)的原理為將一個(gè)虛IP地址與多個(gè)虛擬MAC (Media Access Control,媒體訪問(wèn)控制)地址對(duì)應(yīng),VRRP備份組中每臺(tái)路由器都對(duì)應(yīng)一個(gè)虛擬MAC地址;Master路由器使用不同的虛擬MAC地址應(yīng)答主機(jī)的ARP (AddressResolution Protocol,地址解析協(xié)議)/ND (Neighbor Discovery,鄰居發(fā)現(xiàn))請(qǐng)求,從而使得不同主機(jī)的流量發(fā)送到不同的路由器,備份組中的每臺(tái)路由器都能轉(zhuǎn)發(fā)流量。(2) GLBP (Gateway Load Balancing Protocol,網(wǎng)關(guān)負(fù)載均衡協(xié)議)是思科的私有協(xié)議,它不僅提供冗余網(wǎng)關(guān),還在各網(wǎng)關(guān)之間提供負(fù)載均衡。GLBP可以綁定多個(gè)MAC地址到虛擬IP。對(duì)于相同的虛擬IP,不同的客戶(hù)端會(huì)解析到不同的MAC地址,從而通過(guò)不同的路由器轉(zhuǎn)發(fā)數(shù)據(jù)。但是,上述兩種解決方案中,VRRPE屬于私有協(xié)議,需要修改VRRP的報(bào)文結(jié)構(gòu),無(wú)法與其他廠商的設(shè)備互通,兼容性較差;GLBP同樣屬于私有協(xié)議,也存在兼容性問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)現(xiàn)虛擬路由冗余協(xié)議VRRP負(fù)載分擔(dān)的方法及其裝置,以實(shí)現(xiàn)在不對(duì)現(xiàn)有VRRP協(xié)議進(jìn)行改動(dòng)的前提下,實(shí)現(xiàn)VRRP備份組負(fù)載分擔(dān),提高VRRP備份組的資源利用率。為此,本發(fā)明采用如下技術(shù)方案 一種實(shí)現(xiàn)虛擬路由冗余協(xié)議VRRP負(fù)載分擔(dān)的方法,應(yīng)用于VRRP組網(wǎng),VRRP備份組中各路由器互不相連,二層交換機(jī)分別與所述VRRP備份組中的各路由器連接,且所述二層交換機(jī)阻斷所述VRRP備份組中各路由器之間的VRRP報(bào)文交互,該方法包括
所述二層交換機(jī)接收所述路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng);所述虛MAC表項(xiàng)中記錄有所述二層交換機(jī)接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系;
當(dāng)所述二層交換機(jī)接收到目的MAC地址與所述虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文時(shí),所述二層交換機(jī)將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,所述二層交換機(jī)根據(jù)VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),包括
所述二層交換機(jī)根據(jù)該VRRP通告報(bào)文中攜帶的虛MAC地址查詢(xún)所述虛MAC表項(xiàng);
當(dāng)所述虛MAC表項(xiàng)中未記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng)時(shí),所述二層交換機(jī)建立所述虛MAC地址對(duì)應(yīng)的表項(xiàng),并將接收到該VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中;或,當(dāng)所述虛MAC表項(xiàng)中記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng),但該表項(xiàng)中記錄的端口不包含接收到所述VRRP通告報(bào)文的端口時(shí),所述二層交換機(jī)將接收到所述VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中。其中,該方法還包括
所述虛MAC表項(xiàng)中記錄的對(duì)應(yīng)關(guān)系中未接收到VRRP通告報(bào)文的端口持續(xù)時(shí)長(zhǎng)超過(guò)閾值時(shí),刪除相應(yīng)的虛MAC表項(xiàng)中的該端口。其中,所述二層交換機(jī)將虛MAC表項(xiàng)中對(duì)應(yīng)于同一個(gè)虛MAC地址的各端口加入到
同一個(gè)二層聚合口;
所述二層交換機(jī)將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器,具體為
所述二層交換機(jī)通過(guò)所述目的MAC地址對(duì)應(yīng)的二層聚合口將所述報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的
路由器。其中,所述二層交換機(jī)將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器,具體為
所述二層交換機(jī)根據(jù)預(yù)先配置的訪問(wèn)控制列表ACL規(guī)則對(duì)所述報(bào)文進(jìn)行哈希運(yùn)算,并根據(jù)哈希運(yùn)算結(jié)果將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,該方法還包括
當(dāng)所述二層交換機(jī)接收到客戶(hù)端發(fā)送的目的IP地址為虛IP地址的地址解析協(xié)議ARP請(qǐng)求報(bào)文時(shí),所述二層交換機(jī)終止該ARP請(qǐng)求報(bào)文,并確定所述目的IP地址對(duì)應(yīng)的虛MAC地址,將所述目的IP地址與該虛MAC地址的對(duì)應(yīng)關(guān)系攜帶在ARP應(yīng)答報(bào)文中返回給所述客戶(hù)端。其中,所述二層交換機(jī)接收所述路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),具體為
當(dāng)所述二層交換機(jī)接收到所述VRRP通告報(bào)文的端口為預(yù)先配置的可靠端口時(shí),所述 二層交換機(jī)根據(jù)接收到的VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng)。一種網(wǎng)絡(luò)設(shè)備,作為二層交換機(jī)應(yīng)用于虛擬路由冗余協(xié)議VRRP組網(wǎng),VRRP備份組中各路由器互不相連,該網(wǎng)絡(luò)設(shè)備分別與所述VRRP備份組中的各路由器連接,且網(wǎng)絡(luò)設(shè)備阻斷所述VRRP備份組中各路由器之間的VRRP報(bào)文交互,該網(wǎng)絡(luò)設(shè)備包括
第一接收模塊,用于接收所述路由器發(fā)送的VRRP通告報(bào)文;
維護(hù)模塊,用于根據(jù)所述VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),所述虛MAC表項(xiàng)中記錄有所述第一接收模塊接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系;
第二接收模塊,用于接收客戶(hù)端設(shè)備發(fā)送的報(bào)文;
第一發(fā)送模塊,用于當(dāng)所述第二接收模塊接收到目的MAC地址與所述虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文時(shí),將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,所述維護(hù)模塊具體用于,根據(jù)所述VRRP通告報(bào)文中攜帶的虛MAC地址查詢(xún)所述虛MAC表項(xiàng);當(dāng)所述虛MAC表項(xiàng)中未記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng)時(shí),建立所述虛MAC地址對(duì)應(yīng)的表項(xiàng),并將接收到該VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中;或,當(dāng)所述虛MAC表項(xiàng)中記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng),但該表項(xiàng)中記錄的端口不包含接收到所述VRRP通告報(bào)文的端口時(shí),將接收到所述VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中。其中,所述維護(hù)模塊還用于,當(dāng)所述虛MAC表項(xiàng)中記錄的對(duì)應(yīng)關(guān)系中未接收到VRRP通告報(bào)文的端口持續(xù)時(shí)長(zhǎng)超過(guò)閾值時(shí),刪除相應(yīng)的虛MAC表項(xiàng)中的該端口。其中,所述網(wǎng)絡(luò)設(shè)備將虛MAC表項(xiàng)中對(duì)應(yīng)于同一個(gè)虛MAC地址的各端口加入到同
一個(gè)二層聚合口;
所述第一發(fā)送模塊具體用于,通過(guò)所述目的MAC地址對(duì)應(yīng)的二層聚合口將所述報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,所述第一發(fā)送模塊具體用于,根據(jù)預(yù)先配置的訪問(wèn)控制列表ACL規(guī)則對(duì)所述報(bào)文進(jìn)行哈希運(yùn)算,并根據(jù)哈希運(yùn)算結(jié)果將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,該網(wǎng)絡(luò)設(shè)備還包括
第二發(fā)送模塊,用于當(dāng)所述第二接收模塊接收到客戶(hù)端發(fā)送的目的IP地址為虛IP地址的地址解析協(xié)議ARP請(qǐng)求報(bào)文時(shí),終止該ARP請(qǐng)求報(bào)文,并確定所述目的IP地址對(duì)應(yīng)的虛MAC地址,將所述目的IP地址與該虛MAC地址的對(duì)應(yīng)關(guān)系攜帶在ARP應(yīng)答報(bào)文中返回給所述客戶(hù)端。其中,所述維護(hù)模塊具體用于,當(dāng)所述第一接收模塊接收到所述VRRP通告報(bào)文的端口為預(yù)先配置的可靠端口時(shí),根據(jù)接收到的VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng)。本發(fā)明上述實(shí)施例中,二層交換機(jī)接收路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),該虛MAC表項(xiàng)中記錄有二層交換機(jī)接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系;當(dāng)VRRP接收到目的MAC地址與自身虛MAC表項(xiàng)中記錄的虛MAC地址匹配的報(bào)文時(shí),二層交換機(jī)將該目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為該報(bào)文的出端口,并將該報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器,在不對(duì)現(xiàn)有VRRP協(xié)議進(jìn)行改動(dòng)的前提下,實(shí)現(xiàn)了 VRRP備份組的負(fù)載分擔(dān),提高了VRRP備份組的資源利用率,并保證了方案使用的兼容性。
圖I為本發(fā)明實(shí)施例提供的一種VRRP組網(wǎng)的架構(gòu)示意圖2位為本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)VRRP負(fù)載分擔(dān)的方法的流程示意圖3為本發(fā)明實(shí)施例提供的一種VRRP配置示意圖4為本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)虛擬路由冗余協(xié)議VRRP負(fù)載分擔(dān)的技術(shù)方案,應(yīng)用于VRRP組網(wǎng)。在該技術(shù)方案中,二層交換機(jī)接收路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),該虛MAC表項(xiàng)中記錄有二層交換機(jī)接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系;當(dāng)VRRP接收到目的MAC地址與自身虛MAC表項(xiàng)中記錄的虛MAC地址匹配的報(bào)文時(shí),二層交換機(jī)將該目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為該報(bào)文的出端口,并將該報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,在本發(fā)明實(shí)施例中,VRRP備份組中各路由器互不相連,二層交換機(jī)阻斷了同一 VRRP備份組中各路由器之間的報(bào)文轉(zhuǎn)發(fā),使VRRP備份組中各路由器均作為Master路由器,并周期性的發(fā)送VRRP通告報(bào)文;二層交換機(jī)根據(jù)接收到的VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),并當(dāng)接收到需要通過(guò)VRRP備份組中的路由器轉(zhuǎn)發(fā)的報(bào)文時(shí),根據(jù)預(yù)設(shè)規(guī)則確定該報(bào)文的出端口,并將該報(bào)文發(fā)送給該出端口對(duì)應(yīng)的路由器,由該路由器對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā),在不對(duì)現(xiàn)有VRRP協(xié)議進(jìn)行改動(dòng)的前提下,實(shí)現(xiàn)了 VRRP備份組的負(fù)載分擔(dān),提高了 VRRP備份組的資源利用率,并保證了方案使用的兼容性。下面將結(jié)合本發(fā)明的實(shí)施例中的附圖,對(duì)本發(fā)明的實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的實(shí)施例保護(hù)的范圍。參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的一種VRRP組網(wǎng)的架構(gòu)示意圖。其中,VRRP備份組中的各路由器(在該實(shí)施例中以VRRP備份組中包含兩個(gè)路由器為例)互不相連,二層交換機(jī)分別與VRRP備份組中各路由器連接。在該VRRP組網(wǎng)中,由于二層交換機(jī)阻斷了 VRRP備份組中各路由器之間的報(bào)文轉(zhuǎn)發(fā),VRRP備份組中各路由器接收不到其他路由器發(fā)送的VRRP通告報(bào)文,無(wú)法感知其他路由器的存在,備份組中的各路由器均會(huì)升級(jí)為Master路由器,并周期性的發(fā)送VRPP通告報(bào)文。
7
基于上述VRRP組網(wǎng),本發(fā)明實(shí)施例提供的實(shí)現(xiàn)VRRP負(fù)載分擔(dān)的方法流程可以如圖2所示。參見(jiàn)圖2,為本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)VRRP負(fù)載分擔(dān)的方法的流程示意圖,可以包括以下步驟
步驟201、二層交換機(jī)接收路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng)。具體的,在本發(fā)明實(shí)施例中,二層交換機(jī)可以在MAC地址表(B卩二層轉(zhuǎn)發(fā)表)中添加虛MAC表項(xiàng),該虛MAC表項(xiàng)中記錄有接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系。其中,在虛MAC表項(xiàng)中,一個(gè)MAC地址可以對(duì)應(yīng)多個(gè)端口,這些端口分別連接同屬于一個(gè)VRRP備份組的各路由器。二層交換機(jī)接收到VRRP通告報(bào)文后,可以根據(jù)該VRRP通告報(bào)文中攜帶的虛MAC地址查詢(xún)虛MAC表項(xiàng),以查詢(xún)虛MAC表項(xiàng)中是否記錄有該虛MAC地址以及接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系,并當(dāng)虛MAC表項(xiàng)中未記錄該虛MAC對(duì)應(yīng)的表項(xiàng)時(shí),二層交換機(jī)建立該虛MAC地址對(duì)應(yīng)的表項(xiàng),并將接收到該VRRP通告報(bào)文的端口記錄到該虛MAC地址對(duì)應(yīng)的表項(xiàng)中;或,當(dāng)虛MAC表項(xiàng)中記錄有該虛MAC地址對(duì)應(yīng)的表項(xiàng),但該表項(xiàng)中記錄的端口不包含接收到該VRRP通告報(bào)文的端口時(shí),二層交換機(jī)將接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系記錄到該虛MAC地址對(duì)應(yīng)的表項(xiàng)中。進(jìn)一步地,當(dāng)VRRP備份組中某個(gè)路由器出現(xiàn)故障時(shí),它就無(wú)法繼續(xù)發(fā)送VRRP通告報(bào)文。二層交換機(jī)如果在某個(gè)端口未接收到VRRP通告報(bào)文的持續(xù)時(shí)長(zhǎng)超過(guò)閾值,則可以刪除虛MAC表項(xiàng)中記錄的該端口與相應(yīng)的MAC地址的對(duì)應(yīng)關(guān)系。優(yōu)選地,該閾值可以設(shè)定為3倍的VRRP通告報(bào)文的發(fā)送周期(3倍的VRRP通告報(bào)文發(fā)送周期內(nèi)未接收到VRRP通告報(bào)文為VRRP協(xié)議規(guī)定的Backup路由器升級(jí)為Master路由器的條件)。當(dāng)VRRP備份組中的路由器從故障中恢復(fù)時(shí),它又可以繼續(xù)發(fā)送VRRP通告報(bào)文。當(dāng)交換機(jī)接收到該路由器發(fā)送的VRRP通告報(bào)文時(shí),將VRRP通告報(bào)文的源MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系記錄到虛MAC表項(xiàng)中。需要注意的是,在本發(fā)明實(shí)施例提供的技術(shù)方案中,虛MAC表項(xiàng)并不一定需要添加在MAC地址表中,也可以單獨(dú)建立并存儲(chǔ),具體實(shí)現(xiàn)流程在此不再贅述。步驟202、當(dāng)二層交換機(jī)接收到目的MAC地址與虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文時(shí),二層交換機(jī)將該目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為該報(bào)文的出端口,并將該報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。具體的,二層交換機(jī)接收到客戶(hù)端發(fā)送的報(bào)文后,根據(jù)該報(bào)文的目的MAC地址查詢(xún)虛MAC表項(xiàng),以確定虛MAC表項(xiàng)中是否記錄有該目的MAC地址對(duì)應(yīng)的表項(xiàng),并當(dāng)虛MAC表項(xiàng)中記錄有該目的MAC地址記錄的表項(xiàng)時(shí),確定該目的MAC地址與虛MAC表項(xiàng)中記錄的MAC地址匹配。當(dāng)二層交換機(jī)確定接收到的報(bào)文的目的MAC地址與虛MAC地址匹配時(shí),二層交換機(jī)可以根據(jù)該目的MAC地址以及虛MAC表項(xiàng)確定該目的MAC地址對(duì)應(yīng)的端口,將該目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為報(bào)文的出端口,并報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,在本發(fā)明實(shí)施例中,將目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為報(bào)文的出端口,并將報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器的實(shí)現(xiàn)方式,可以至少包括以下幾種
方式一、二層交換機(jī)將虛MAC表中對(duì)應(yīng)同一虛MAC地址的各端口加入到同一個(gè)二層聚合口,利用二層聚合口天然的負(fù)載分擔(dān)特性實(shí)現(xiàn)流量的分發(fā)。具體的,當(dāng)二層交換機(jī)維護(hù)虛MAC表項(xiàng)時(shí),將對(duì)應(yīng)同一虛MAC地址的各端口加入到同一個(gè)二層聚合口 ;二層交換機(jī)接收到目的MAC地址與虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文后,將該報(bào)文通過(guò)該目的MAC地址對(duì)應(yīng)的二層聚合口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,通過(guò)二層聚合口轉(zhuǎn)發(fā)報(bào)文時(shí)如何實(shí)現(xiàn)負(fù)載分擔(dān)在此不再贅述。進(jìn)一步地,當(dāng)有新端口被記錄到虛MAC表項(xiàng)時(shí),二層交換機(jī)把該端口加入到相應(yīng)的二層聚合口 ;當(dāng)端口從虛MAC表項(xiàng)中刪除時(shí),二層交換機(jī)從相應(yīng)的二層聚合口中刪除該端口 ;二層交換機(jī)對(duì)應(yīng)虛MAC表項(xiàng)創(chuàng)建的二層聚合口中各成員(端口)均為選中狀態(tài),均可以參與流量的轉(zhuǎn)發(fā)。方式二、二層交換機(jī)根據(jù)預(yù)先配置的ACL (Access Control List,訪問(wèn)控制列表)規(guī)則對(duì)該報(bào)文進(jìn)行哈希運(yùn)算,并根據(jù)希運(yùn)算結(jié)果將目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為報(bào)文的出端口,并將報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。其中,二層交換機(jī)對(duì)虛MAC表項(xiàng)中對(duì)應(yīng)同一虛MAC地址的各端口進(jìn)行編號(hào)。具體的,二層交換機(jī)接收到目的MAC地址與虛MAC表項(xiàng)中記錄的虛MAC地址匹配的報(bào)文后,可以讀取該報(bào)文的源IP地址、目的IP地址、源端口、目的端口和協(xié)議號(hào)字段;二層交換機(jī)將讀取到的各字段的值相加,將得到的結(jié)果對(duì)虛MAC表項(xiàng)中對(duì)應(yīng)該目的MAC地址的端口的總數(shù)取余,并將虛MAC表項(xiàng)中對(duì)應(yīng)該目的MAC地址的各端口中,端口編號(hào)與取余結(jié)果一致的端口確定為報(bào)文的出端口。其中,當(dāng)虛MAC表項(xiàng)中的對(duì)應(yīng)同一虛MAC地址的端口數(shù)發(fā)生變化時(shí),需要對(duì)變化后的端口重新編號(hào),并對(duì)對(duì)應(yīng)的ACL規(guī)則進(jìn)行相應(yīng)的調(diào)整,其具體實(shí)現(xiàn)在此不再贅述。需要注意的是,上述通過(guò)對(duì)報(bào)文攜帶的5個(gè)特征字段進(jìn)行哈希運(yùn)算確定報(bào)文的出端口是為了在實(shí)現(xiàn)負(fù)載均衡的同時(shí),保證同一客戶(hù)端多次發(fā)送的上述5個(gè)特征字段相同的報(bào)文能被定位到同一出端口,保證客戶(hù)端與路由器報(bào)文交換的準(zhǔn)確性和連貫性。因此,在本發(fā)明實(shí)施例中,在能夠達(dá)到上述目的的前提下,也可以?xún)H對(duì)上述5個(gè)特征字段中的部分特征字段或其他特征字段進(jìn)行哈希運(yùn)算以確定報(bào)文的出端口,其具體實(shí)現(xiàn)在此不再贅述。在現(xiàn)有VRRP組網(wǎng)中,二層交換機(jī)接收到客戶(hù)端發(fā)送的目的IP地址為虛IP地址的ARP (Address Resolution Protocol,地址解析協(xié)議)請(qǐng)求報(bào)文后,會(huì)將該ARP請(qǐng)求報(bào)文向?qū)?yīng)的VRRP備份組中各路由器進(jìn)行廣播,由VRRP備份組中的Master路由器返回ARP應(yīng)答報(bào)文。而在本發(fā)明實(shí)施例提供的技術(shù)方案中,由于VRRP備份組中各路由器均為Master路由器,若仍采用現(xiàn)有技術(shù)中的ARP報(bào)文交互方式,則VRRP備份組中的各路由器均會(huì)返回ARP應(yīng)答報(bào)文,從而造成資源浪費(fèi)。因此,在本發(fā)明實(shí)施例中,當(dāng)二層交換機(jī)接收到客戶(hù)端發(fā)送的目的IP地址為虛IP地址的ARP請(qǐng)求報(bào)文時(shí),二層交換機(jī)終止該ARP請(qǐng)求報(bào)文(即不再將該ARP請(qǐng)求報(bào)文進(jìn)行轉(zhuǎn)發(fā)),并根據(jù)該目的IP確定對(duì)應(yīng)的虛MAC地址,將該目的IP地址與虛MAC地址的對(duì)應(yīng)的關(guān)系攜帶在ARP應(yīng)答報(bào)文中返回給該客戶(hù)端。進(jìn)一步地,為了避免攻擊者冒充VRRP備份組中的路由器加入虛MAC表項(xiàng)導(dǎo)致流量丟失,在本發(fā)明實(shí)施例中,可以將二層交換機(jī)與可靠路由器連接的端口設(shè)置為信任端口,二層交換機(jī)接收到VRRP通告報(bào)文時(shí),只有當(dāng)接收到該VRRP通告報(bào)文的端口為信任端口時(shí),才將該端口與相應(yīng)虛MAC地址的對(duì)應(yīng)關(guān)系記錄到虛MAC表項(xiàng)中,提高了 VRRP組網(wǎng)的安全性。進(jìn)一步地,在本發(fā)明實(shí)施例中,二層交換機(jī)根據(jù)接收到的VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng)時(shí),還需要對(duì)VRRP備份組的一致性進(jìn)行檢測(cè)。具體的,二層交換機(jī)通過(guò)分析VRRP通告報(bào)文中的相應(yīng)字段,可以確定不同路由器發(fā)送的VRRP通告報(bào)文對(duì)應(yīng)的VRRP版本是否一致、VRRP通告報(bào)文發(fā)送周期是否相同、VRRP通告報(bào)文中的虛IP地址是否一致、是否認(rèn)證通過(guò)等。若二層交換機(jī)通過(guò)分析某路由器發(fā)送的VRRP通告報(bào)文發(fā)現(xiàn),該VRRP通告報(bào)文攜帶的虛MAC地址與虛MAC表項(xiàng)中記錄的某虛MAC地址匹配,但與該虛MAC表項(xiàng)中記錄的虛MAC地址對(duì)應(yīng)的VRRP備份組相比,VRRP通告報(bào)文對(duì)應(yīng)的VRRP版本不一致、VRRP通告報(bào)文發(fā)送周期不相同、VRRP通告報(bào)文中的虛IP地址不一致、或/和認(rèn)證不通過(guò)時(shí),二層交換機(jī)確定該路由器不屬于虛MAC表項(xiàng)中記錄的上述虛MAC地址對(duì)應(yīng)的VRRP備份組,則不將接收到該VRRP通告報(bào)文的端口記錄到虛MAC表項(xiàng)中。下面結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行更加詳細(xì)的描述。在該實(shí)施例中,以圖I所示的VRRP組網(wǎng)架構(gòu)圖為具體應(yīng)用場(chǎng)景的架構(gòu)示意圖。參見(jiàn)圖3,為該實(shí)施例提供的一種VRRP配置示意圖,其中,路由器I和路由器2分別與二層交換機(jī)的Port I和Port 2連接,路由器I和路由器2組成VRRP備份組1,虛IP地址為I. O. O. 1,虛MAC地址為0000-5e00-0101。二層交換機(jī)中維護(hù)的對(duì)應(yīng)VRRP備份組I的虛MAC表項(xiàng)可以如表I所示
表I
權(quán)利要求
1.一種實(shí)現(xiàn)虛擬路由冗余協(xié)議VRRP負(fù)載分擔(dān)的方法,應(yīng)用于VRRP組網(wǎng),其特征在于,VRRP備份組中各路由器互不相連,二層交換機(jī)分別與所述VRRP備份組中的各路由器連接,·且所述二層交換機(jī)阻斷所述VRRP備份組中各路由器之間的VRRP報(bào)文交互,該方法包括所述二層交換機(jī)接收所述路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng);所述虛MAC表項(xiàng)中記錄有所述二層交換機(jī)接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系;當(dāng)所述二層交換機(jī)接收到目的MAC地址與所述虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文時(shí),所述二層交換機(jī)將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。
2.如權(quán)利要求I所述的方法,其特征在于,所述二層交換機(jī)根據(jù)VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),包括所述二層交換機(jī)根據(jù)該VRRP通告報(bào)文中攜帶的虛MAC地址查詢(xún)所述虛MAC表項(xiàng);當(dāng)所述虛MAC表項(xiàng)中未記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng)時(shí),所述二層交換機(jī)建立所述虛MAC地址對(duì)應(yīng)的表項(xiàng),并將接收到該VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中;或,當(dāng)所述虛MAC表項(xiàng)中記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng),但該表項(xiàng)中記錄的端口不包含接收到所述VRRP通告報(bào)文的端口時(shí),所述二層交換機(jī)將接收到所述VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中。
3.如權(quán)利要求2所述的方法,其特征在于,該方法還包括所述虛MAC表項(xiàng)中記錄的對(duì)應(yīng)關(guān)系中未接收到VRRP通告報(bào)文的端口持續(xù)時(shí)長(zhǎng)超過(guò)閾值時(shí),刪除相應(yīng)的虛MAC表項(xiàng)中的該端口。
4.如權(quán)利要求I所述的方法,其特征在于,所述二層交換機(jī)將虛MAC表項(xiàng)中對(duì)應(yīng)于同一個(gè)虛MAC地址的各端口加入到同一個(gè)二層聚合口 ;所述二層交換機(jī)將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器,具體為所述二層交換機(jī)通過(guò)所述目的MAC地址對(duì)應(yīng)的二層聚合口將所述報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。
5.如權(quán)利要求I所述的方法,其特征在于,所述二層交換機(jī)將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器,具體為所述二層交換機(jī)根據(jù)預(yù)先配置的訪問(wèn)控制列表ACL規(guī)則對(duì)所述報(bào)文進(jìn)行哈希運(yùn)算,并根據(jù)哈希運(yùn)算結(jié)果將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。
6.如權(quán)利要求I所述的方法,其特征在于,該方法還包括當(dāng)所述二層交換機(jī)接收到客戶(hù)端發(fā)送的目的IP地址為虛IP地址的地址解析協(xié)議ARP請(qǐng)求報(bào)文時(shí),所述二層交換機(jī)終止該ARP請(qǐng)求報(bào)文,并確定所述目的IP地址對(duì)應(yīng)的虛MAC地址,將所述目的IP地址與該虛MAC地址的對(duì)應(yīng)關(guān)系攜帶在ARP應(yīng)答報(bào)文中返回給所述客戶(hù)端。
7.如權(quán)利要求I所述的方法,其特征在于,所述二層交換機(jī)接收所述路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),具體為當(dāng)所述二層交換機(jī)接收到所述VRRP通告報(bào)文的端口為預(yù)先配置的可靠端口時(shí),所述二層交換機(jī)根據(jù)接收到的VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng)。
8.—種網(wǎng)絡(luò)設(shè)備,作為二層交換機(jī)應(yīng)用于虛擬路由冗余協(xié)議VRRP組網(wǎng),其特征在于,VRRP備份組中各路由器互不相連,該網(wǎng)絡(luò)設(shè)備分別與所述VRRP備份組中的各路由器連接,且網(wǎng)絡(luò)設(shè)備阻斷所述VRRP備份組中各路由器之間的VRRP報(bào)文交互,該網(wǎng)絡(luò)設(shè)備包括第一接收模塊,用于接收所述路由器發(fā)送的VRRP通告報(bào)文;維護(hù)模塊,用于根據(jù)所述VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng),所述虛MAC表項(xiàng)中記錄有所述第一接收模塊接收到的VRRP通告報(bào)文中攜帶的虛MAC地址與接收到該VRRP通告報(bào)文的端口的對(duì)應(yīng)關(guān)系;第二接收模塊,用于接收客戶(hù)端設(shè)備發(fā)送的報(bào)文;第一發(fā)送模塊,用于當(dāng)所述第二接收模塊接收到目的MAC地址與所述虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文時(shí),將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。
9.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述維護(hù)模塊具體用于,根據(jù)所述VRRP通告報(bào)文中攜帶的虛MAC地址查詢(xún)所述虛MAC表項(xiàng);當(dāng)所述虛MAC表項(xiàng)中未記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng)時(shí),建立所述虛MAC地址對(duì)應(yīng)的表項(xiàng),并將接收到該VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中;或,當(dāng)所述虛MAC表項(xiàng)中記錄有所述虛MAC地址對(duì)應(yīng)的表項(xiàng),但該表項(xiàng)中記錄的端口不包含接收到所述VRRP通告報(bào)文的端口時(shí),將接收到所述VRRP通告報(bào)文的端口記錄到所述虛MAC地址對(duì)應(yīng)的表項(xiàng)中。
10.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述維護(hù)模塊還用于,當(dāng)所述虛MAC表項(xiàng)中記錄的對(duì)應(yīng)關(guān)系中未接收到VRRP通告報(bào)文的端口持續(xù)時(shí)長(zhǎng)超過(guò)閾值時(shí),刪除相應(yīng)的虛MAC表項(xiàng)中的該端口。
11.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備將虛MAC表項(xiàng)中對(duì)應(yīng)于同一個(gè)虛MAC地址的各端口加入到同一個(gè)二層聚合口 ;所述第一發(fā)送模塊具體用于,通過(guò)所述目的MAC地址對(duì)應(yīng)的二層聚合口將所述報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。
12.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一發(fā)送模塊具體用于,根據(jù)預(yù)先配置的訪問(wèn)控制列表ACL規(guī)則對(duì)所述報(bào)文進(jìn)行哈希運(yùn)算,并根據(jù)哈希運(yùn)算結(jié)果將所述目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為所述報(bào)文的出端口,并將所述報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。
13.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,該網(wǎng)絡(luò)設(shè)備還包括第二發(fā)送模塊,用于當(dāng)所述第二接收模塊接收到客戶(hù)端發(fā)送的目的IP地址為虛IP地址的地址解析協(xié)議ARP請(qǐng)求報(bào)文時(shí),終止該ARP請(qǐng)求報(bào)文,并確定所述目的IP地址對(duì)應(yīng)的虛MAC地址,將所述目的IP地址與該虛MAC地址的對(duì)應(yīng)關(guān)系攜帶在ARP應(yīng)答報(bào)文中返回給所述客戶(hù)端。
14.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述維護(hù)模塊具體用于,當(dāng)所述第一接收模塊接收到所述VRRP通告報(bào)文的端口為預(yù)先配置的可靠端口時(shí),根據(jù)接收到的VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng)。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)VRRP負(fù)載分擔(dān)的方法和設(shè)備。該方法包括二層交換機(jī)接收路由器發(fā)送的VRRP通告報(bào)文,并根據(jù)該VRRP通告報(bào)文維護(hù)虛MAC表項(xiàng);當(dāng)二層交換機(jī)接收到目的MAC地址與虛MAC表項(xiàng)中記錄的MAC地址匹配的報(bào)文時(shí),二層交換機(jī)將目的MAC地址對(duì)應(yīng)的端口中的一個(gè)端口確定為報(bào)文的出端口,并將報(bào)文從該出端口轉(zhuǎn)發(fā)給對(duì)應(yīng)的路由器。在本發(fā)明中,在不對(duì)現(xiàn)有VRRP協(xié)議進(jìn)行改動(dòng)的前提下,實(shí)現(xiàn)了VRRP備份組的負(fù)載分擔(dān),提高了VRRP備份組的資源利用率,并保證了方案使用的兼容性。
文檔編號(hào)H04L12/803GK102916897SQ20121038091
公開(kāi)日2013年2月6日 申請(qǐng)日期2012年10月10日 優(yōu)先權(quán)日2012年10月10日
發(fā)明者韓冰 申請(qǐng)人:杭州華三通信技術(shù)有限公司