在tcp/ip協議中資料鏈路層處於最底層,以幀的形式傳輸和接受資料。在這一層中mac(media access control)定址是主要功能。在網路中mac又稱之為mac位址,用於表示網際網路上每個網絡卡的識別符號,採用十六進製制表示,共6個位元組(48位),燒錄在網絡卡內部。更形象的說mac位址就像身份證號碼,全球唯一。乙太網中資料幀之間是通過mac定址來到達對應的計算機網絡卡或者路由的,因此,伺服器集群可以充分利用這一特性來進行負載均衡。
資料鏈路層負載均衡通過修改通訊協議資料報的mac位址進行負載均衡,集群可以通過如下圖的部署來達到負載均衡:
這種資料傳輸方式又稱為三角傳輸,負載均衡資料分發過程中不修改ip位址,只修改目的mac位址,通過配置真實物理伺服器集群所有機器虛擬ip和負載均衡伺服器ip一致,從而達到不修改資料報的源位址和目的位址就可以進行資料分發的目的,由於實際處理請求的真實物理伺服器ip和資料請求目的ip一致,不需要通過負載均衡伺服器進行位址交換,可將響應資料報直接返回給使用者瀏覽器,避免負載均衡伺服器網絡卡頻寬成為瓶頸。這種負載均衡方式又稱之為直接路由方式(dr).
如上圖所示,使用者請求到達負載均衡伺服器114.100.20.200後,負載均衡伺服器將資料報的目的mac位址更改為00:1e:ec:bc:5e:03,並不修改資料報目的ip,由於伺服器集群所有伺服器的虛擬ip位址和負載均衡伺服器ip位址一致,因此資料可以正常傳輸到達mac位址為00:1e:ec:bc:5e:03的機器上,該伺服器處理完之後,將響應資料報傳送到閘道器伺服器,閘道器伺服器直接將資料報傳送給使用者瀏覽器,響應資料不需要通過負載均衡伺服器,這樣就避免了負載均衡伺服器成為傳輸瓶頸的可能。
使用三角傳輸模式的鏈路層負載均衡是目前大型**使用最為廣泛的一種負載均衡手段。在linux平台上最好的鏈路層負載均衡開源產品是lvs(linux virtual server)。
參考:
[1] 《大型**技術架構——核心原理與案例分析》
每天進步一點點 負載均衡之資料鏈路層
在tcp ip協議中資料鏈路層處於最底層,以幀的形式傳輸和接受資料。在這一層中mac media access control 定址是主要功能。在網路中mac又稱之為mac位址,用於表示網際網路上每個網絡卡的識別符號,採用十六進製制表示,共6個位元組 48位 燒錄在網絡卡內部。更形象的說mac位址就...
每天進步一點點 負載均衡之IP
首先讓我們來看看下面這張大家都非常熟悉的tcp ip協議族的分層圖 關於每層在網路資料報傳輸過程中所起到的作用不是本文的重點,本文主要是講解如何在網路層中使用ip來做伺服器集群的負載均衡,為什麼可以在這一層來做負載均衡。下面在來看ip協議的報頭格式 內紅色框內的源位址和目的位址是ip負載均衡功能的關...
每天進步一點點
很多朋友總喜歡問 成功靠什麼?其實,成功很難單一的歸納為靠什麼條件,如果一定要回答,只能從某種意義上說 很多人的成功就是靠他們每天比別人 多做一點點 正如古人有云 業精於勤,荒於嬉。這裡所說的勤,也就是比別人多做一點點,即付出多一點的勞動和努力。不要小看這一點點,又如古語說 集腋成裘,積沙成丘。如果...