負(fù)載均衡又分為四層負(fù)載均衡和七層負(fù)載均衡疲迂。四層負(fù)載均衡工作在OSI模型的傳輸層,主要工作是轉(zhuǎn)發(fā),它在接收到客戶端的流量以后通過修改數(shù)據(jù)包的地址信息將流量轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器。
七層負(fù)載均衡工作在OSI模型的應(yīng)用層逛绵,因?yàn)樗枰馕鰬?yīng)用層流量,所以七層負(fù)載均衡在接到客戶端的流量以后倔韭,還需要一個(gè)完整的TCP/IP協(xié)議棧术浪。七層負(fù)載均衡會(huì)與客戶端建立一條完整的連接并將應(yīng)用層的請求流量解析出來,再按照調(diào)度算法選擇一個(gè)應(yīng)用服務(wù)器狐肢,并與應(yīng)用服務(wù)器建立另外一條連接將請求發(fā)送過去添吗,因此七層負(fù)載均衡的主要工作就是代理。
既然四層負(fù)載均衡做的主要工作是轉(zhuǎn)發(fā)份名,那就存在一個(gè)轉(zhuǎn)發(fā)模式的問題,目前主要有四層轉(zhuǎn)發(fā)模式:DR模式妓美、NAT模式僵腺、TUNNEL模式、FULLNAT模式壶栋。
DR模式也叫作三角傳輸辰如,通過修改數(shù)據(jù)包的目的MAC地址來讓流量經(jīng)過二層轉(zhuǎn)發(fā)到達(dá)應(yīng)用服務(wù)器,這樣應(yīng)用服務(wù)器就可以直接將應(yīng)答發(fā)給應(yīng)用服務(wù)器贵试,性能比較好琉兜。由于這種模式需要依賴二層轉(zhuǎn)發(fā),因此它要求負(fù)載均衡服務(wù)器和應(yīng)用服務(wù)器必須在一個(gè)二層可達(dá)的環(huán)境內(nèi)毙玻,并且需要在應(yīng)用服務(wù)器上配置VIP豌蟋。
NAT模式通過修改數(shù)據(jù)包的目的IP地址,讓流量到達(dá)應(yīng)用服務(wù)器桑滩,這樣做的好處是數(shù)據(jù)包的目的IP就是應(yīng)用服務(wù)器的IP梧疲,因此不需要再在應(yīng)用服務(wù)器上配置VIP了。缺點(diǎn)是由于這種模式修改了目的IP地址,這樣如果應(yīng)用服務(wù)器直接將應(yīng)答包發(fā)給客戶端的話幌氮,其源IP是應(yīng)用服務(wù)器的IP缭受,客戶端就不會(huì)正常接收這個(gè)應(yīng)答,因此我們需要讓流量繼續(xù)回到負(fù)載均衡该互,負(fù)載均衡將應(yīng)答包的源IP改回VIP再發(fā)到客戶端米者,這樣才可以保證正常通信,所以NAT模式要求負(fù)載均衡需要以網(wǎng)關(guān)的形式存在于網(wǎng)絡(luò)中宇智。
TUNNEL模式的優(yōu)缺點(diǎn)和DR是一樣的蔓搞,并且TUNNEL模式要求應(yīng)用服務(wù)器必須支持TUNNEL功能。
FULLNAT模式是在NAT模式的基礎(chǔ)上做一次源地址轉(zhuǎn)換(即SNAT)普筹,做SNAT的好處是可以讓應(yīng)答流量經(jīng)過正常的三層路由回到負(fù)載均衡上败明,這樣負(fù)載均衡就不需要以網(wǎng)關(guān)的形式存在于網(wǎng)絡(luò)中了,對網(wǎng)絡(luò)環(huán)境要求比較低太防,缺點(diǎn)是由于做了SNAT妻顶,應(yīng)用服務(wù)器會(huì)丟失客戶端的真實(shí)IP地址。
下面詳細(xì)介紹一下FULLNAT模式蜒车。首先負(fù)載均衡上需要存在一個(gè)localip池讳嘱,在做SNAT時(shí)的源IP就是從localip池中選擇的。當(dāng)客戶端流量到達(dá)負(fù)載均衡設(shè)備以后酿愧,負(fù)載均衡會(huì)根據(jù)調(diào)度策略在應(yīng)用服務(wù)器池中選擇一個(gè)應(yīng)用服務(wù)器沥潭,然后將數(shù)據(jù)包的目的IP改為應(yīng)用服務(wù)器的IP。同時(shí)從localip池中選擇一個(gè)localip將數(shù)據(jù)包的源IP改為localip嬉挡,這樣應(yīng)用服務(wù)器在應(yīng)答時(shí)钝鸽,目的IP是localip,而localip是真實(shí)存在于負(fù)載均衡上的IP地址庞钢,因此可以經(jīng)過正常的三層路由到達(dá)負(fù)載均衡拔恰。由于FULLNAT比NAT模式多做了一次SNAT,并且SNAT中有選端口的操作基括,因此其性能要遜色于NAT模式颜懊,但是其較強(qiáng)的網(wǎng)絡(luò)環(huán)境適應(yīng)性。
個(gè)人介紹:
高廣超:多年一線互聯(lián)網(wǎng)研發(fā)與架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)风皿,擅長設(shè)計(jì)與落地高可用河爹、高性能、可擴(kuò)展的互聯(lián)網(wǎng)架構(gòu)桐款。
本文首發(fā)在 高廣超的簡書博客 轉(zhuǎn)載請注明咸这!