1. 程式人生 > >負載均衡之數據鏈路層

負載均衡之數據鏈路層

和數 負載均衡 ont fonts 正常 south 機器 身份證號 處理

在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)。

負載均衡之數據鏈路層