轉(zhuǎn)載請說明出處:http://blog.csdn.net/cywosp/article/details/38056811
在TCP/IP協(xié)議中數(shù)據(jù)鏈路層處于最底層,以幀的形式傳輸和接受數(shù)據(jù)。在這一層中MAC(Media Access Control)尋址是主要功能。在網(wǎng)絡(luò)中MAC又稱之為MAC地址,用于表示互聯(lián)網(wǎng)上每個網(wǎng)卡的標(biāo)識符,采用十六進(jìn)制表示,共6個字節(jié)(48位),燒錄在網(wǎng)卡內(nèi)部。更形象的說MAC地址就像身份證號碼,全球唯一。以太網(wǎng)中數(shù)據(jù)幀之間是通過MAC尋址來到達(dá)對應(yīng)的計算機(jī)網(wǎng)卡或者路由的,因此,服務(wù)器集群可以充分利用這一特性來進(jìn)行負(fù)載均衡。
數(shù)據(jù)鏈路層負(fù)載均衡通過修改通信協(xié)議數(shù)據(jù)包的mac地址進(jìn)行負(fù)載均衡,集群可以通過如下圖的部署來達(dá)到負(fù)載均衡:
這種數(shù)據(jù)傳輸方式又稱為三角傳輸,負(fù)載均衡數(shù)據(jù)分發(fā)過程中不修改IP地址,只修改目的MAC地址,通過配置真實物理服務(wù)器集群所有機(jī)器虛擬IP和負(fù)載均衡服務(wù)器IP一致,從而達(dá)到不修改數(shù)據(jù)包的源地址和目的地址就可以進(jìn)行數(shù)據(jù)分發(fā)的目的,由于實際處理請求的真實物理服務(wù)器IP和數(shù)據(jù)請求目的IP一致,不需要通過負(fù)載均衡服務(wù)器進(jìn)行地址交換,可將響應(yīng)數(shù)據(jù)包直接返回給用戶瀏覽器,避免負(fù)載均衡服務(wù)器網(wǎng)卡帶寬成為瓶頸。這種負(fù)載均衡方式又稱之為直接路由方式(DR).
如上圖所示,用戶請求到達(dá)負(fù)載均衡服務(wù)器114.100.20.200后,負(fù)載均衡服務(wù)器將數(shù)據(jù)包的目的MAC地址更改為00:1e:ec:bc:5e:03,并不修改數(shù)據(jù)包目的IP,由于服務(wù)器集群所有服務(wù)器的虛擬IP地址和負(fù)載均衡服務(wù)器IP地址一致,因此數(shù)據(jù)可以正常傳輸?shù)竭_(dá)MAC地址為00:1e:ec:bc:5e:03的機(jī)器上,該服務(wù)器處理完之后,將響應(yīng)數(shù)據(jù)包發(fā)送到網(wǎng)關(guān)服務(wù)器,網(wǎng)關(guān)服務(wù)器直接將數(shù)據(jù)包發(fā)送給用戶瀏覽器,響應(yīng)數(shù)據(jù)不需要通過負(fù)載均衡服務(wù)器,這樣就避免了負(fù)載均衡服務(wù)器成為傳輸瓶頸的可能。
使用三角傳輸模式的鏈路層負(fù)載均衡是目前大型網(wǎng)站使用最為廣泛的一種負(fù)載均衡手段。在Linux平臺上最好的鏈路層負(fù)載均衡開源產(chǎn)品是LVS(Linux Virtual Server)。
參考:
[1] 《大型網(wǎng)站技術(shù)架構(gòu)——核心原理與案例分析》
|
|