在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] 《大型**技術架構——核心原理與案例分析》
資料鏈路層
資料鏈路的定義 鏈路 計算機網路中相鄰節點的一段物理線路。資料鏈路 計算機網路中節點到節點相鄰的一段物理路線加上控制在這些路線上傳輸資料的協議。資料鏈路層解決的問題 對於計算機網路裡面的每一層,其實都是為了解決某乙個層面的問題而設計出來的,資料鏈路層也一樣 由於物理層只解決了訊號流在物理媒介的傳輸問...
資料鏈路層
首先撇清兩個概念 鏈路和資料鏈路。鏈路是指從乙個結點到另乙個結點的一段物理線路,而中間沒有任何其他的交換結點,在進行資料通訊時,兩個計算機之間的通訊路徑往往要經過許多段這樣的鏈路,可見鏈路只是一條路徑的組層部分,資料鏈路是除了一條物理鏈路外還需要加上一些必要的通訊協議來控制這些資料的傳輸。若把這些實...
資料鏈路層
資料鏈路層的主要任務是將上層交付的資料構造成位元流,然後交給下面的物理層。主要研究在乙個區域網內,分組怎麼從乙個主機傳送到另外乙個主機。位元流包括一些控制資訊和資料,基本單位是幀。資料鏈路 data link 除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路...