四層LB和七層LB

2022-07-23 20:54:16 字數 1415 閱讀 6219

總結: 基於mac位址玩的是二層(虛擬mac位址接收請求,然後再分配到真實的mac位址),

基於ip位址玩的是三層(虛擬ip位址接收請求,然後再分配到真實的ip位址),

基於ip位址加埠玩的是四層(虛擬ip+埠接收請求,然後再分配到真實的伺服器)

基於url玩的是七層.(虛擬的url或主機名接收請求,然後再分配到真實的伺服器)

簡單理解四層和七層負載均衡:

1.所謂四層就是基於ip+埠的負載均衡;七層就是基於url等應用層資訊的負載均衡;同理,還有基於mac位址的二層負載均衡和基於ip位址的三層負載均衡。 換句換說,二層負載均衡會通過乙個虛擬mac位址接收請求,然後再分配到真實的mac位址;三層負載均衡會通過乙個虛擬ip位址接收請求,然後再分配到真實的ip位址;四層通過虛擬ip+埠接收請求,然後再分配到真實的伺服器;七層通過虛擬的url或主機名接收請求,然後再分配到真實的伺服器。

2.所謂的四到七層負載均衡,就是在對後台的伺服器進行負載均衡時,依據四層的資訊或七層的資訊來決定怎麼樣**流量。 比如四層的負載均衡,就是通過發布三層的ip位址(vip),然後加四層的埠號,來決定哪些流量需要做負載均衡,對需要處理的流量進行nat處理,**至後台伺服器,並記錄下這個tcp或者udp的流量是由哪台伺服器處理的,後續這個連線的所有流量都同樣**到同一臺伺服器處理。七層的負載均衡,就是在四層的基礎上(沒有四層是絕對不可能有七層的),再考慮應用層的特徵,比如同乙個web伺服器的負載均衡,除了根據vip加80埠辨別是否需要處理的流量,還可根據七層的url、瀏覽器類別、語言來決定是否要進行負載均衡。舉個例子,如果你的web伺服器分成兩組,一組是中文語言的,一組是英文語言的,那麼七層負載均衡就可以當使用者來訪問你的網域名稱時,自動辨別使用者語言,然後選擇對應的語言伺服器組進行負載均衡處理。

3.負載均衡分為l4 switch(四層交換),即在osi第4層工作,就是tcp層啦。此種load balance不理解應用協議(如http/ftp/mysql等等)。例子:lvs,f5。另一種叫做l7 switch(七層交換),osi的最高層,應用層。此時,該load balancer能理解應用協議。例子:  haproxy,mysql proxy。

第七層負載均衡優點表現在如下幾個方面: 

通過對http報頭的檢查,可以檢測出http400、500和600系列的錯誤資訊,因而能透明地將連線請求重新定向到另一台伺服器,避免應用層故障。

可根據流經的資料型別(如判斷資料報是影象檔案、壓縮檔案或多**檔案格式等),把資料流量引向相應內容的伺服器來處理,增加系統效能。

能根據連線請求的型別,如是普通文字、圖象等靜態文件請求,還是asp、cgi等的動態文件請求,把相應的請求引向相應的伺服器來處理,提高系統的效能及安全性。

第七層負載均衡受到其所支援的協議限制(一般只有http),這樣就限制了它應用的廣泛性,並且檢查http報頭會占用大量的系統資源,勢必會影響到系統的效能,在大量連線請求的情況下,負載均衡裝置自身容易成為網路整體效能的瓶頸。

四層負載和七層負載

所謂四層就是基於ip 埠的負載均衡,主要代表有lvs。七層負載也稱內容交換,就是基於url等應用層資訊的負載均衡,主要代表有nginx。lvs工作在一台server上提供directory 負載均衡器 的功能,本身並不提供服務,只是把特定的請求 給對應的real server 真正提供服務的主機 從...

負載均衡七層和四層

所謂四層負載均衡,也就是主要通過報文中的目標位址和埠,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。layer4 在三層負載均衡的基礎上,通過發布三層的ip位址 vip 然後加四層的埠號,來決定哪些流量需要做負載均衡,對需要處理的流量進行nat處理,至後台伺服器,並記錄下這個tc...

四層與七層交換

第四層交換 端到端效能和服務質量要求對所有連網裝置進行負載均衡,以保證客戶機與伺服器之間資料平滑地流動。二層與三層交換產品在解決區域網和網際網路絡的頻寬及容量問題上發揮了很好的作用,但是,這可能還不夠,還需要更多的效能,而這正是四層交換的用武之地。四層交換技術利用第三層和第四層包頭中的資訊來識別應用...