lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...
目錄
lvs的調(diào)度算法
lvs的四種模式
四層均衡負(fù)載和七層的區(qū)別
1、lvs調(diào)度算法(最常用的四種)
輪叫調(diào)度(rr)
調(diào)度器通過(guò)外部請(qǐng)求的順序輪流分配到集群中的真實(shí)服務(wù)器上,對(duì)每臺(tái)服務(wù)器都是均等的;但是這樣調(diào)度器不會(huì)考慮服務(wù)器上實(shí)際的連接數(shù)和系統(tǒng)負(fù)載,導(dǎo)致服務(wù)器處理請(qǐng)求慢,系統(tǒng)負(fù)載增大。
加權(quán)輪叫(wrr)
調(diào)度器通過(guò)一個(gè)算法根據(jù)真實(shí)服務(wù)器的不同處理能力來(lái)分配訪問(wèn)請(qǐng)求,這樣可以保證服務(wù)器的處理能力。
最少連接(lc)
調(diào)度器將訪問(wèn)請(qǐng)求自動(dòng)的分配到已建立連接最少的服務(wù)器上,如果在集群中每臺(tái)服務(wù)器的性能差不多的話(huà),則這種算法可以較好的均衡負(fù)載。
加權(quán)最小連接(wlc)
主要用于集群中服務(wù)器性能差異大的情況下,調(diào)度器可以?xún)?yōu)化負(fù)載性能,具有較高權(quán)值的服務(wù)器可以將承受較大的活動(dòng)連接。
2、lvs的四種模式
LVS 是四層負(fù)載均衡,建立在 OSI 模型的第四層——傳輸層之上,LVS 支持 TCP/UDP 的負(fù)載均衡。
LVS 的轉(zhuǎn)發(fā)主要通過(guò)修改 IP 地址(NAT 模式,分為源地址修改 SNAT 和目標(biāo)地址修改 DNAT)、修改目標(biāo) MAC(DR 模式)來(lái)實(shí)現(xiàn)。
LVS 的工作模式主要有 4 種:
DR(最常用)(也稱(chēng)直接路由模式)
NAT
TUNNEL(不用)
Full-NAT(了解即可)
1、DR模式
請(qǐng)求由 LVS 接受,由真實(shí)提供服務(wù)的服務(wù)器(RealServer, RS)直接返回給用戶(hù),返回的時(shí)候不經(jīng)過(guò) LVS。
DR 模式下需要 LVS 和綁定同一個(gè) VIP(RS 通過(guò)將 VIP 綁定在 loopback 實(shí)現(xiàn))。
一個(gè)請(qǐng)求過(guò)來(lái)時(shí),LVS 只需要將網(wǎng)絡(luò)幀的 MAC 地址修改為某一臺(tái) RS 的 MAC,該包就會(huì)被轉(zhuǎn)發(fā)到相應(yīng)的 RS 處理,注意此時(shí)的源 IP 和目標(biāo) IP 都沒(méi)變。
RS 收到 LVS 轉(zhuǎn)發(fā)來(lái)的包,鏈路層發(fā)現(xiàn) MAC 是自己的,到上面的網(wǎng)絡(luò)層,發(fā)現(xiàn) IP 也是自己的,于是這個(gè)包被合法地接受,RS 感知不到前面有 LVS 的存在。
而當(dāng) RS 返回響應(yīng)時(shí),只要直接向源 IP(即用戶(hù)的 IP)返回即可,不再經(jīng)過(guò) LVS。
DR 模式是性能最好的一種模式。
2、NAT模式
NAT(Network Address Translation)是一種外網(wǎng)和內(nèi)網(wǎng)地址映射的技術(shù)。
NAT 模式下,網(wǎng)絡(luò)報(bào)的進(jìn)出都要經(jīng)過(guò) LVS 的處理。LVS 需要作為 RS 的網(wǎng)關(guān)。
當(dāng)包到達(dá) LVS 時(shí),LVS 做目標(biāo)地址轉(zhuǎn)換(DNAT),將目標(biāo) IP 改為 RS 的 IP。RS 接收到包以后,仿佛是客戶(hù)端直接發(fā)給它的一樣。
RS 處理完,返回響應(yīng)時(shí),源 IP 是 RS IP,目標(biāo) IP 是客戶(hù)端的 IP。
這時(shí) RS 的包通過(guò)網(wǎng)關(guān)(LVS)中轉(zhuǎn),LVS 會(huì)做源地址轉(zhuǎn)換(SNAT),將包的源地址改為 VIP,這樣,這個(gè)包對(duì)客戶(hù)端看起來(lái)就仿佛是 LVS 直接返回給它的。客戶(hù)端無(wú)法感知到后端 RS 的存在。
3、Full-NAT()
在包從 LVS 轉(zhuǎn)到 RS 的過(guò)程中,源地址從客戶(hù)端 IP 被替換成了 LVS 的內(nèi)網(wǎng) IP。
內(nèi)網(wǎng) IP 之間可以通過(guò)多個(gè)交換機(jī)跨 VLAN 通信。
當(dāng) RS 處理完接受到的包,返回時(shí),會(huì)將這個(gè)包返回給 LVS 的內(nèi)網(wǎng) IP,這一步也不受限于 VLAN。
LVS 收到包后,在 NAT 模式修改源地址的基礎(chǔ)上,再把 RS 發(fā)來(lái)的包中的目標(biāo)地址從 LVS 內(nèi)網(wǎng) IP 改為客戶(hù)端的 IP。
Full-NAT 主要的思想是把網(wǎng)關(guān)和其下機(jī)器的通信,改為了普通的網(wǎng)絡(luò)通信,從而解決了跨 VLAN 的問(wèn)題。采用這種方式,LVS 和 RS 的部署在 VLAN 上將不再有任何限制,大大提高了運(yùn)維部署的便利性。
4、四層負(fù)載均衡和七層的區(qū)別
1、四層負(fù)載均衡
通過(guò)報(bào)文中的目標(biāo)地址和端口,再加上負(fù)載均衡設(shè)備設(shè)置的調(diào)度算法,決定選擇哪臺(tái)內(nèi)部服務(wù)器與請(qǐng)求客戶(hù)端建立TCP連接,然后發(fā)送Client請(qǐng)求的數(shù)據(jù)。
2、七層負(fù)載均衡
是基于虛擬的URL或主機(jī)IP的負(fù)載均衡:在四層負(fù)載均衡的基礎(chǔ)上(沒(méi)有四層是絕對(duì)不可能有七層的),再考慮應(yīng)用層的特征,比如同一個(gè)Web服務(wù)器的負(fù)載均衡,除了根據(jù)VIP加80端口辨別是否需要處理的流量,還可根據(jù)七層的URL、瀏覽器類(lèi)別、語(yǔ)言來(lái)決定是否要進(jìn)行負(fù)載均衡。
5、四層負(fù)載均衡和七層的優(yōu)缺點(diǎn)
1、四層負(fù)載均衡:
(1)抗負(fù)載能力強(qiáng),可以支持高并發(fā)數(shù)萬(wàn)
(2)配置性比較低,不宜出人為配置錯(cuò)誤
(3)無(wú)流量,LVS只分發(fā)請(qǐng)求,而流量并不從它本身出去
(4)應(yīng)用范圍比較廣,因?yàn)長(zhǎng)VS工作在4層,所以它幾乎可以對(duì)所有應(yīng)用做負(fù)載均衡,包括http、數(shù)據(jù)庫(kù)等
缺點(diǎn):軟件本身不支持正則表達(dá)式處理,不能做動(dòng)靜分離
2、七層負(fù)載均衡:
(1) 使整個(gè)網(wǎng)絡(luò)更“智能化”,能把對(duì)圖片類(lèi)的請(qǐng)求轉(zhuǎn)發(fā)到圖片服務(wù)器,對(duì)文字的請(qǐng)求轉(zhuǎn)發(fā)到文字服務(wù)器
(2) 可以有效防止 SYN Flood攻擊,使網(wǎng)站更安全
缺點(diǎn):對(duì)設(shè)備要求高
6、四層、七層軟件(已知常用)
四層:LVS?? F5
七層:Nginx ? ? Haproxy
總的來(lái)說(shuō),一般是lvs做4層負(fù)載;nginx做7層負(fù)載;haproxy比較靈活,4層和7層負(fù)載均衡都能做。
總結(jié)
以上是生活随笔為你收集整理的lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android 自定义库,Android
- 下一篇: Java - 计算不同字符或数字的个数