OSI七層模型 和 TCP/IP四層模型
四層負載均衡( L4 Load Balancing )
四層負載均衡,主要通過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器,主要工作也就是轉發。
主要工作於處於OSI模型中間位置的傳輸層(TRANSPORT LAYER),它主要處理消息的傳遞,而不管消息的內容。在互聯網上,TCP就是HTTP傳輸方式的四層協議(Layer 4 Protocol)。四層負載均衡只針對由上游服務發送和接收的網絡包,而並不檢查包內的具體內容是什么。四層負載均衡可以通過檢查TCP流中的前幾個包,從而決定是否限制路由。
(注意:沒有四層就沒有所謂的七層,當然還有二層三層負載均衡)
七層負載均衡( L7 Load Balancing )
七層負載均衡,也稱為“內容交換”,通過報文中的真正有意義的應用層內容,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。
主要工作於處於OSI模型頂層位置的應用層(APPLICATION LAYER),它主要處理每條消息中的真正內容。在互聯網上,HTTP是網絡通訊中占據主導地位的七層協議(Layer 7 Protocol)。七層負載均衡在路由網絡傳輸時比四層負載均衡更加復雜和巧妙,特別適合像HTTP這種基於TCP傳輸的方式。 一個七層負載均衡器終止網絡傳輸並讀取消息中的內容。它可以基於消息中內容(比如URL或者Cookie中的信息)來做出負載均衡的決定。之后,七層負載均衡器建立一個新的TCP連接來選擇上游服務(或者再利用一個已經存在的TCP連接),通過 HTTP keepalives 的方式,並向這個服務發出請求。
應用場景
從技術原理上看出,四層模式下這些SYN攻擊(DOS/DDOS攻擊)都會被轉發到后端的服務器上;而七層模式下這些SYN攻擊自然在負載均衡設備上就截止,不會影響后台服務器的正常運營。負載均衡設備可以在七層層面設定多種策略,過濾特定報文,例如SQL Injection等應用層面的特定攻擊手段,從應用層面進一步提高系統整體安全。
現在的7層負載均衡,主要還是着重於應用HTTP協議,所以其應用范圍主要是眾多的網站或者內部信息平台等基於B/S開發的系統。 4層負載均衡則對應其他TCP應用,例如基於C/S開發的ERP等系統。
參考: