我們常說的四層負(fù)載均衡與七層負(fù)載均衡,指的就是在這個(gè) OSI 模型的哪一層進(jìn)行請求轉(zhuǎn)發(fā)。因此要弄懂這個(gè)問題,我么你需要先弄懂 OSI 模型。 |
學(xué)過計(jì)算機(jī)網(wǎng)絡(luò)的同學(xué)都知道,我們工作、生活所使用的互聯(lián)網(wǎng),其實(shí)是通過一個(gè)網(wǎng)絡(luò)模型來進(jìn)行數(shù)據(jù)傳輸?shù)?,這個(gè)網(wǎng)絡(luò)模型叫做:OSI 模型(Open Systems Interconnection model)。
而我們常說的四層負(fù)載均衡與七層負(fù)載均衡,指的就是在這個(gè) OSI 模型的哪一層進(jìn)行請求轉(zhuǎn)發(fā)。因此要弄懂這個(gè)問題,我么你需要先弄懂 OSI 模型。
OSI 模型
計(jì)算機(jī)網(wǎng)絡(luò) OSI 模型(Open Systems Interconnection model)是一種概念模型,它將電信或計(jì)算系統(tǒng)通信功能標(biāo)準(zhǔn)化,而不考慮其內(nèi)部結(jié)構(gòu)或技術(shù)。OSI 模型可以分為七層,如下圖所示。
通過 OSI 七層模型,我們就可以將數(shù)據(jù)從計(jì)算機(jī)的軟件,通過網(wǎng)線發(fā)送出去,最終被另一臺電腦接收。
四層負(fù)載均衡
四層負(fù)載均衡,指的是工作在 OSI 的第四層,即傳輸層,其通過 IP + 端口的方式進(jìn)行路由轉(zhuǎn)發(fā)。其具體實(shí)現(xiàn)方式為:通過報(bào)文中的 IP 地址和端口,再加上負(fù)載均衡設(shè)備所采用的負(fù)載均衡算法,最終確定選擇后端哪臺下游服務(wù)器。
以 TCP 為例,客戶端向負(fù)載均衡發(fā)送 SYN 請求建立第一次連接。通過配置的負(fù)載均衡算法選擇一臺后端服務(wù)器,并且將報(bào)文中的 IP 地址信息修改為后臺服務(wù)器的 IP 地址信息,因此 TCP 三次握手連接是與后端服務(wù)器直接建立起來的。
常見的四層負(fù)載均衡設(shè)備有:F5、LVS 等。
七層負(fù)載均衡
七層負(fù)載均衡,指的是工作在 OSI 的第七層,即應(yīng)用層,其一般是基于請求 URL 地址的方式進(jìn)行代理轉(zhuǎn)發(fā)。七層服務(wù)均衡在應(yīng)用層選擇服務(wù)器,只能先與負(fù)載均衡設(shè)備進(jìn)行 TCP 連接,然后負(fù)載均衡設(shè)備再與后端服務(wù)器建立另外一條 TCP 連接通道。因此,七層設(shè)備在網(wǎng)絡(luò)性能損耗會(huì)更多一些。
常見的七層負(fù)載均衡設(shè)備有:Nginx 等。
總結(jié)
對比一下,它們之間主要的異同:
工作層級不同。四層負(fù)載均衡工作在傳輸層,七層負(fù)載均衡工作在應(yīng)用層。
建立連接不同。四層負(fù)載均衡,客戶端直接與后端服務(wù)器建立連接,七層負(fù)載均衡則作為中間用戶與上下游建立連接。
效率不同。四層負(fù)載均衡相對效率較高,七層負(fù)載均衡效率較低。
靈活性方面。七層負(fù)載均衡可以做更多的改造,例如可以對流量進(jìn)行清洗,避免 DDOS 攻擊。而四層負(fù)載均衡,由于是客戶端與后端服務(wù)器直連,負(fù)載均衡設(shè)備無法介入。
四七層負(fù)載均衡的區(qū)別 | 《Linux就該這么學(xué)》 (linuxprobe.com)
好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡(luò)推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學(xué)習(xí); 我拉你進(jìn)直播課程學(xué)習(xí)群,每周135晚上都是有實(shí)戰(zhàn)干貨的推廣引流技術(shù)課程免費(fèi)分享!