本實(shí)用新型涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種基于VRRP的負(fù)載均衡系統(tǒng)。
背景技術(shù):
在虛擬路由冗余協(xié)議(Virtual Router Redundancy Protocol,簡稱VRRP)VRRP(虛擬路由器冗余協(xié)議)的標(biāo)準(zhǔn)協(xié)議模式中,只有主設(shè)備(Master,通常為路由器)可以轉(zhuǎn)發(fā)報(bào)文,備用設(shè)備(Backup)處于監(jiān)聽狀態(tài),無法轉(zhuǎn)發(fā)報(bào)文。雖然創(chuàng)建多個(gè)備份組可以實(shí)現(xiàn)多個(gè)路由器之間的負(fù)載分擔(dān),但是局域網(wǎng)內(nèi)的主機(jī)(HOST)需要設(shè)置不同的網(wǎng)關(guān),增加了配置的復(fù)雜性。
VRRP負(fù)載均衡模式(簡稱VRRPE)是在虛擬網(wǎng)關(guān)冗余備份功能基礎(chǔ)上,增加了負(fù)載均衡功能,實(shí)現(xiàn)了同一個(gè)備份組里的Master和Backup路由器都轉(zhuǎn)發(fā)報(bào)文。但是目前的VRRP負(fù)載均衡模式要求主機(jī)不能開啟地址解析協(xié)議(Address Resolution Protocol,簡稱ARP)綁定或防護(hù)功能,并且在一些不處理免費(fèi)ARP的設(shè)備環(huán)境中導(dǎo)致VRRP故障。
技術(shù)實(shí)現(xiàn)要素:
本實(shí)用新型的目的在于改善現(xiàn)有技術(shù)中所存在的不足,提供一種基于VRRP的負(fù)載均衡系統(tǒng)。
為了實(shí)現(xiàn)上述實(shí)用新型目的,本實(shí)用新型實(shí)施例提供了以下技術(shù)方案:
一種基于VRRP的負(fù)載均衡系統(tǒng),包括一個(gè)主設(shè)備、至少一個(gè)備用設(shè)備和至少一個(gè)主機(jī),所述至少一個(gè)主機(jī)分別與所述主設(shè)備、所述至少一個(gè)備用設(shè)備連接,所述主設(shè)備和所述至少一個(gè)備用設(shè)備網(wǎng)絡(luò)連接,所述主設(shè)備和所述至少一個(gè)備用設(shè)備具有相同的虛擬物理地址和虛擬IP地址;
所述主設(shè)備被配置成收集所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)對應(yīng)的物理地址,將每個(gè)主機(jī)對應(yīng)的物理地址寫入地址信息表中;還被配置成將所述地址信息表中的部分或全部物理地址分配給不同的備用設(shè)備,完成負(fù)載均衡分配;
所備用設(shè)備被配置成在接收到所述主設(shè)備分配的物理地址后,處理所分配的物理地址對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包。
需要說明的是,主設(shè)備收集主機(jī)的物理地址、將物理地址寫入地址信息表及分配物理地址給備用設(shè)備的過程均為現(xiàn)有技術(shù),備用設(shè)備接收物理地址及處理主機(jī)發(fā)送的數(shù)據(jù)包的過程也是現(xiàn)有技術(shù),本實(shí)用新型提供的系統(tǒng)在于結(jié)構(gòu)性的改進(jìn),不涉及具體處理方法的改進(jìn),基于上述硬件架構(gòu),使得針對開啟了防止被刷新arp功能的主機(jī),或不支持接收免費(fèi)arp的主機(jī),負(fù)載均衡功能也能正常運(yùn)作。
較優(yōu)地,所述備用設(shè)備還被配置成向所述主設(shè)備發(fā)送資源狀態(tài)信息,所述主設(shè)備根據(jù)每個(gè)備用設(shè)備發(fā)送的資源狀態(tài)信息,將所述地址信息表中的部分或全部物理地址分配給不同的備用設(shè)備。根據(jù)各個(gè)備用設(shè)備的資源狀態(tài)信息進(jìn)行分配,可以使各個(gè)備用設(shè)備的負(fù)載更均勻。
較優(yōu)地,所述主設(shè)備在分配物理地址時(shí),所述主設(shè)備根據(jù)每個(gè)備用設(shè)備發(fā)送的資源狀態(tài)信息,將所述地址信息表中的部分物理地址分配給不同的備用設(shè)備,將剩余的物理地址分配給自己。
較優(yōu)地,當(dāng)所述部分物理地址的數(shù)量大于所述備用設(shè)備的數(shù)量時(shí),所述主設(shè)備從所述部分物理地址中分別分配一個(gè)物理地址給每個(gè)備用設(shè)備,再根據(jù)每個(gè)備用設(shè)備的資源狀態(tài)信息中的已分配主機(jī)數(shù)量,將所述部分物理地址中剩余的物理地址優(yōu)先分配給已分配主機(jī)數(shù)量相對少的備用設(shè)備。
較優(yōu)地,當(dāng)所述部分物理地址的數(shù)量小于所述備用設(shè)備的數(shù)量時(shí),所述主設(shè)備將所述部分物理地址分別分配給部分備用設(shè)備。進(jìn)一步地,所述主設(shè)備給所述部分備用設(shè)備中的每個(gè)備用設(shè)備分配一個(gè)物理地址。
較優(yōu)地,所述主設(shè)備在網(wǎng)口接收到主機(jī)發(fā)送的數(shù)據(jù)包時(shí),若該主機(jī)對應(yīng)的物理地址為所述地址信息表中分配給自己的物理地址,則處理該主機(jī)發(fā)送的數(shù)據(jù)包,否則丟棄該主機(jī)發(fā)送的數(shù)據(jù)包。
較優(yōu)地,所述備用設(shè)備在接收到所述主設(shè)備分配的物理地址后,存儲(chǔ)所分配的物理地址;所述備用設(shè)備在網(wǎng)口接收到主機(jī)發(fā)送的數(shù)據(jù)包時(shí),若該主機(jī)對應(yīng)的物理地址已存儲(chǔ),則處理該主機(jī)發(fā)送的數(shù)據(jù)包,否則丟棄該主機(jī)發(fā)送的數(shù)據(jù)包。
作為一種實(shí)施方式,所述主設(shè)備在收集所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)對應(yīng)的物理地址時(shí),所述主設(shè)備接收所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)發(fā)送的數(shù)據(jù)包,從所述數(shù)據(jù)包中提取出發(fā)送該數(shù)據(jù)包的主機(jī)對應(yīng)的物理地址。
作為另一種實(shí)施方式,所述主設(shè)備在收集所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)對應(yīng)的物理地址時(shí),所述主設(shè)備接收所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)發(fā)送的ARP請求,從所述ARP請求中提取出發(fā)送該ARP請求的主機(jī)對應(yīng)的物理地址。
與現(xiàn)有技術(shù)相比,本實(shí)用新型的有益效果:本實(shí)用新型實(shí)施例提供的基于VRRP的負(fù)載均衡系統(tǒng),包括主設(shè)備、備用設(shè)備和主機(jī),由于所述主設(shè)備和所述至少一個(gè)備用設(shè)備具有相同的虛擬物理地址和虛擬IP地址,使得主機(jī)在首次詢問主設(shè)備時(shí)即可獲知所有備用設(shè)備的物理地址,主設(shè)備不需要再次告知所有的備用設(shè)備的物理地址,即不需要通過arp來刷新主機(jī)的arp表,這樣即便主機(jī)開啟了防止被刷新arp的功能,或不支持接收免費(fèi)arp的主機(jī),負(fù)載均衡功能也能正常運(yùn)作。
附圖說明:
圖1為本實(shí)用新型實(shí)施例提供的基于VRRP的負(fù)載均衡系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合試驗(yàn)例及具體實(shí)施方式對本實(shí)用新型作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本實(shí)用新型上述主題的范圍僅限于以下的實(shí)施例,凡基于本實(shí)用新型內(nèi)容所實(shí)現(xiàn)的技術(shù)均屬于本實(shí)用新型的范圍。
請參閱圖1,本實(shí)用新型實(shí)施例提供的基于VRRP的負(fù)載均衡系統(tǒng),包括一個(gè)主設(shè)備、至少用個(gè)備用設(shè)備和至少用個(gè)主機(jī),所述至少一個(gè)主機(jī)分別與所述主設(shè)備、所述至少一個(gè)備用設(shè)備連接,即,所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)與所述主設(shè)備連接,所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)與所述至少一個(gè)備用設(shè)備中的每個(gè)備用設(shè)備連接,所述主設(shè)備和所述至少一個(gè)備用設(shè)備網(wǎng)絡(luò)連接,所述主設(shè)備和所述至少一個(gè)備用設(shè)備具有相同的虛擬物理地址和虛擬IP地址。
如圖1所示,本實(shí)用新型實(shí)施例提供的基于VRRP的負(fù)載均衡系統(tǒng)中,主設(shè)備和備用設(shè)備均為路由器,Router A是主設(shè)備,Router B、Router C均是備用設(shè)備。Router A、Router B、Router C中,誰作為主設(shè)備,誰作為備用設(shè)備,其選舉方式和VRRP標(biāo)準(zhǔn)模式相同,即,標(biāo)準(zhǔn)VRRP( rfc 2338) 的Master選舉是根據(jù)優(yōu)先級,優(yōu)先級大的作為Master,如果優(yōu)先級大小相同則根據(jù)真實(shí)IP,真實(shí)IP大則作為Master。備用設(shè)備可以是至少一個(gè),本實(shí)施例中,僅以兩個(gè)備用設(shè)備為例進(jìn)行闡述。以192.168.0.1為網(wǎng)關(guān),該網(wǎng)關(guān)與物理地址(MAC)00-00-5e-00-01-01對應(yīng),則Router A、Router B、Router C的虛擬IP地址均為192.168.0.1,Router A、Router B、Router C的虛擬物理地址為00--00-5e-00-01-01。本實(shí)用新型實(shí)施例提供的系統(tǒng)中有四個(gè)主機(jī),四個(gè)主機(jī)對應(yīng)的MAC地址分別為:08--00-27-76-8f-61、08--00-27-76-8f-62、08--00-27-76-8f-63、08--00-27-76-8f-64。
主設(shè)備收集所述至少一個(gè)主機(jī)中的每個(gè)主機(jī)對應(yīng)的(真實(shí)的)物理地址,將每個(gè)主機(jī)對應(yīng)的物理地址寫入地址信息表(圖1所示的HOST池)中,即在本實(shí)施例中,Router A收集四個(gè)主機(jī)(HOST1、HOST2、HOST3、HOST4)分別對應(yīng)的MAC地址:08--00-27-76-8f-61、08--00-27-76-8f-62、08--00-27-76-8f-63、08--00-27-76-8f-64,將該四個(gè)MAC地址寫入HOST池中。具體實(shí)現(xiàn)時(shí),可以是四個(gè)主機(jī)分別向Router A發(fā)送ARP請求,該ARP請求中即包含有MAC地址;主機(jī)在回復(fù)該ARP請求時(shí),則將主機(jī)的虛擬MAC地址告知四個(gè)主機(jī)。由于Router B、Router C的虛擬MAC地址與Router A相同,因此四個(gè)主機(jī)也相應(yīng)獲得了所有的備用設(shè)備的虛擬MAC地址。主機(jī)在通過Router A發(fā)送數(shù)據(jù)包時(shí),Router A也可以從該數(shù)據(jù)包中獲取主機(jī)的MAC地址。所有主機(jī)的ARP請求都由主設(shè)備處理,備用設(shè)備不作回復(fù)。
區(qū)別于傳統(tǒng)的VRRP均衡負(fù)載方式:每個(gè)備用設(shè)備的MAC地址不一樣,主設(shè)備在獲知所有的備用設(shè)備的MAC地址后,需要刷新主機(jī)的ARP表,以告知主機(jī)各個(gè)備用設(shè)備的MAC地址,因此要求主機(jī)不能開啟ARP防火墻或ARP綁定功能。
本實(shí)用新型創(chuàng)造性地采用主設(shè)備和所有的備用設(shè)備虛擬出同一個(gè)MAC地址,主設(shè)備則不需要去刷新主機(jī)的ARP表,因此,主機(jī)只需要配置同一個(gè)網(wǎng)關(guān),配置簡單,而且不影響主機(jī)開啟ARP防火墻或ARP綁定功能,并且即便在一些不能及時(shí)處理免費(fèi)ARP的設(shè)備中也能正常工作。
在收集到所有的主機(jī)的物理地址后,主設(shè)備將所述地址信息表中的部分或全部物理地址分配給各個(gè)備用設(shè)備,完成負(fù)載均衡分配,即讓備用設(shè)備服務(wù)于部分或全部主機(jī),處理主機(jī)發(fā)送的數(shù)據(jù)包。
需要說明的是,本實(shí)施例中涉及的負(fù)載均衡并非指主設(shè)備和每個(gè)備用設(shè)備平均分配主機(jī)(主機(jī)數(shù)量與備用設(shè)備和主設(shè)備的總數(shù)量不一致時(shí)也不可能實(shí)現(xiàn)平均分配),而是指同一個(gè)備份組里的主設(shè)備和備用設(shè)備都處理主機(jī)發(fā)送的數(shù)據(jù)包,而不是僅由主設(shè)備處理,備用設(shè)備只處于監(jiān)聽狀態(tài)。
主設(shè)備在給各個(gè)備用設(shè)備分配物理地址時(shí),可以直接分配,也可以根據(jù)備用設(shè)備發(fā)送的資源狀態(tài)信息來分配。如根據(jù)備用設(shè)備的資源狀態(tài)信息來分配,則備用設(shè)備會(huì)提前向主設(shè)備發(fā)送自身的資源狀態(tài)信息。資源狀態(tài)信息可以包括例如寬帶、CPU、運(yùn)行內(nèi)存、已分配主機(jī)數(shù)量等體現(xiàn)備設(shè)備承擔(dān)負(fù)載能力的信息,以便于主設(shè)備根據(jù)各個(gè)備用設(shè)備承擔(dān)負(fù)載的能力來分配物理地址。
主設(shè)備可以將所述地址信息表中的全部物理地址分配給不同的備用設(shè)備(例如在主設(shè)備已服務(wù)的主機(jī)數(shù)量較多的情況下),也可以將部分物理地址分配給不同的備用設(shè)備,即分配部分主機(jī)給不同的備用設(shè)備,由各個(gè)備用設(shè)備服務(wù)于相應(yīng)的主機(jī)。
主設(shè)備將地址信息表中的部分或全部物理地址分配給不同的備用設(shè)備可以有多種方式,例如,當(dāng)?shù)刂沸畔⒈碇械牟糠只蛉课锢淼刂返臄?shù)量小于備用設(shè)備的數(shù)量時(shí),則直接給部分備用設(shè)備分配物理地址,所述部分備用設(shè)備中的每個(gè)備用設(shè)備可以分配多個(gè)物理地址,較優(yōu)地,也可以分別分配一個(gè)物理地址。當(dāng)?shù)刂沸畔⒈碇械牟糠只蛉课锢淼刂返臄?shù)量大于備用設(shè)備的數(shù)量時(shí),主設(shè)備給每個(gè)備用設(shè)備先分配一個(gè)物理地址,然后再根據(jù)每個(gè)備用設(shè)備的資源狀態(tài)信息中的已分配主機(jī)數(shù)量,將剩余的物理地址優(yōu)先分配給已分配主機(jī)數(shù)量相對少的備用設(shè)備。
例如,圖1所示的系統(tǒng)中,Router A收集到四個(gè)物理地址:08--00-27-76-8f-61、08--00-27-76-8f-62、08--00-27-76-8f-63、08--00-27-76-8f-64,即地址信息表(HOST池)中寫入有上述四個(gè)物理地址。Router A將08--00-27-76-8f-63、08--00-27-76-8f-64分別分配給Router B、Router C,由Router B、Router C分別處理08--00-27-76-8f-63、08--00-27-76-8f-64對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包,剩余的08--00-27-76-8f-61、08--00-27-76-8f-62分配給自己,由自己處理08--00-27-76-8f-61、08--00-27-76-8f-62對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包。
備用設(shè)備在接收到所述主設(shè)備分配的物理地址后,存儲(chǔ)所分配的物理地址;所述備用設(shè)備在網(wǎng)口接收到主機(jī)發(fā)送的數(shù)據(jù)包時(shí),若該主機(jī)對應(yīng)的物理地址已存儲(chǔ),則處理該主機(jī)發(fā)送的數(shù)據(jù)包,否則丟棄該主機(jī)發(fā)送的數(shù)據(jù)包。
主設(shè)備在網(wǎng)口接收到主機(jī)發(fā)送的數(shù)據(jù)包時(shí),若該主機(jī)對應(yīng)的物理地址為所述地址信息表中分配給自己的物理地址,則處理該主機(jī)發(fā)送的數(shù)據(jù)包,否則丟棄該主機(jī)發(fā)送的數(shù)據(jù)包。
例如,圖1所示系統(tǒng)中,Router B在接收到08--00-27-76-8f-63對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包時(shí),處理(例如轉(zhuǎn)發(fā))該主機(jī)發(fā)是的數(shù)據(jù)包;如果接收到08--00-27-76-8f-61對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包,則直接丟棄該數(shù)據(jù)包。Router A在接收到08--00-27-76-8f-61對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包時(shí),處理(例如轉(zhuǎn)發(fā))該主機(jī)發(fā)是的數(shù)據(jù)包;如果接收到08--00-27-76-8f-64對應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)包,則直接丟棄該數(shù)據(jù)包。
本實(shí)用新型實(shí)施例提供的基于VRRP的負(fù)載均衡系統(tǒng),不僅可以實(shí)現(xiàn)負(fù)載均衡,主設(shè)備和備用設(shè)備都轉(zhuǎn)發(fā)主機(jī)發(fā)送的數(shù)據(jù)包,而且所有的主機(jī)只需要配置同一個(gè)網(wǎng)關(guān),配置操作簡單;另一方面,由于不需要刷新主機(jī)的ARP表,因此在實(shí)現(xiàn)負(fù)載均衡功能時(shí),不影響主機(jī)開啟ARP防火墻或者ARP綁定功能,并且即便在一些不能及時(shí)處理免費(fèi)ARP的設(shè)備中也能正常工作。
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以實(shí)用新型。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。