日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LVS 所提供的 IP 負載均衡的三種技術(shù)

LVS 所提供的 IP 負載均衡的三種技術(shù)

作者:實驗樓 2018-11-07 10:28:38

云計算

虛擬化 LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務(wù)器,是一個虛擬的服務(wù)器集群系統(tǒng)。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括祿豐網(wǎng)站建設(shè)、祿豐網(wǎng)站制作、祿豐網(wǎng)頁制作以及祿豐網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,祿豐網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到祿豐省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1.LVS和負載均衡簡介:

LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務(wù)器,是一個虛擬的服務(wù)器集群系統(tǒng)。

負載均衡就是有兩臺或者以上的服務(wù)器或者站點為我們提供服務(wù),我們將來自客戶端的請求靠某種算法盡量平均分攤到這些集群中,從而避免一臺服務(wù)器因為負載太高而出現(xiàn)故障。簡而言之便是將所有的負載均分到多臺服務(wù)器中,即使其中某個出現(xiàn)故障,用戶也能正常訪問,得到服務(wù)。

廣泛使用的是用軟件的方式來實現(xiàn)負載均衡,實現(xiàn)效果不錯,并且不需要成本是很多企業(yè)選擇的方式。

以軟件實現(xiàn)的負載均衡有兩種方式:

  • 基于應(yīng)用層負載均衡
  • 基于IP層負載均衡

文章主要就是介紹基于IP層負載均衡;

2.基于 IP 層負載均衡:

基于 IP 層負載均衡:用戶通過虛擬 IP 地址(Virtual IP Address)訪問服務(wù)時,訪問請求的報文會到達負載調(diào)度器,由它進行負載均衡調(diào)度,從一組真實服務(wù)器選出一個,將報文處理并轉(zhuǎn)發(fā)給選定服務(wù)器的地址。實服務(wù)器的回應(yīng)報文經(jīng)過負載調(diào)度器時,將報文的源地址和源端口改為 Virtual IP Address 和相應(yīng)的端口,再把報文發(fā)給用戶。

而 IP 的負載技術(shù)有以下三種模式:

  • 通過NAT實現(xiàn)虛擬服務(wù)器(VS/NAT)
  • 通過IP隧道實現(xiàn)虛擬服務(wù)器(VS/TUN)
  • 通過直接路由實現(xiàn)虛擬服務(wù)器(VS/DR)

3.VS/NAT 實現(xiàn)虛擬服務(wù)器

由于 IPv4 中 IP 地址空間的日益緊張和安全方面的原因,很多網(wǎng)絡(luò)使用保留 IP 地址(10.0.0.0/255.0.0.0、 172.16.0.0/255.128.0.0和192.168.0.0/255.255.0.0)。這些地址不在 Internet 上使用,而是專門為內(nèi)部網(wǎng)絡(luò)預(yù)留的。

當(dāng)內(nèi)部網(wǎng)絡(luò)中的主機要訪問 Internet 或被 Internet 訪問時,就需要采用網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, 以下簡稱NAT),將內(nèi)部地址轉(zhuǎn)化為 Internet 上可用的外部地址。

NAT 的工作原理是報文頭(目標(biāo)地址、源地址和端口等)被正確改寫后,客戶相信 它們連接一個 IP 地址,而不同 IP 地址的服務(wù)器組也認為它們是與客戶直接相連的。由此,可以用 NAT 方法將不同 IP 地址的并行網(wǎng)絡(luò)服務(wù)變成在一個IP地址上的一個虛擬服務(wù)。

VS/NAT(Virtual Server via Network Address Translation)實現(xiàn)的虛擬服務(wù)器是這樣的一個結(jié)構(gòu),主要經(jīng)過這樣的一些步驟:

LVS-NAT

  • 客戶端通過 Internet 向服務(wù)器發(fā)起請求,而請求的 IP 地址指向的是調(diào)度器上對外公布的 IP 地址;(因為它并不是真正處理請求的服務(wù)器 IP 地址,所以稱之為 虛擬 IP 地址,簡稱為 VIP,Virtual IP Address)
  • 請求報文到達調(diào)度器(Load Balancer),調(diào)度器根據(jù)調(diào)度算法從一組真實的服務(wù)器(因為他們是真正處理用戶請求的服務(wù)器,所以稱為真實服務(wù)器,Real server。其 IP 地址也被稱為真實 IP,簡稱為 RIP)中選出一臺當(dāng)前負載不高的服務(wù)器。然后將客戶端的請求報文中的目標(biāo)地址(Load Balancer 的 VIP)和端口通過 iptables 的 NAT 改寫為選定服務(wù)器的 IP 地址和服務(wù)的端口。最后將修改后的報文發(fā)送給選出的服務(wù)器。同時,調(diào)度器在連接Hash 表中記錄這個連接;當(dāng)這個連接的下一個報文到達時,從連接Hash表中可以得到原選定服務(wù)器的地址和端口,進行同樣的改寫操作,并將報文傳給原選定的服務(wù)器。
  • Real Server 接收到報文之后,做出了響應(yīng)的處理,然后將響應(yīng)的報文發(fā)送給 Load Balancer;
  • Load Balancer 接收到響應(yīng)的報文時,將報文的源地址和源端口改為Virtual IP Address和相應(yīng)的端口,再把報文發(fā)給用戶。

這樣,客戶所看到的只是在 Virtual IP Address 上提供的服務(wù),而服務(wù)器集群的結(jié)構(gòu)對用戶是透明的。

下面,舉個例子來進一步說明VS/NAT,如圖所示:

NAT-eg

VS/NAT 的配置如下表所示,所有到IP地址為205.100.106.2和端口為80的流量都被負載均衡地調(diào)度的真實服務(wù)器172.16.1.3:80和 172.16.1.4:8080上。目標(biāo)地址為205.100.106.2:21的報文被轉(zhuǎn)移到172.16.1.3:21上。而到其他端口的報文將被拒絕。

Protocol

Virtual IP Address

Port

Real IP Address

Port

TCP

205.100.106.2

80

172.16.1.3

80

172.16.1.4

8080

TCP

205.100.106.2

21

172.16.1.3

21

當(dāng)客戶端訪問Web服務(wù)的時候,報文中可能有以下的源地址和目標(biāo)地址:

SOURCE

DEST

203.100.106.1:3456

205.100.106.2:80

報文到達調(diào)度器之后,調(diào)度器從調(diào)度列表中選出一臺服務(wù)器,例如是172.16.1.4:8080。該報文會被改寫為如下地址,并將它發(fā)送給選出的服務(wù)器。

SOURCE

DEST

203.100.106.1:3456

172.16.1.4:8080

Real Server 收到修改后的報文之后,做出響應(yīng),然后將響應(yīng)報文返回到調(diào)度器,報文如下:

SOURCE

DEST

172.16.1.4:8080

203.100.106.1:3456

響應(yīng)報文的源地址會被 Load Balacer 改寫為虛擬服務(wù)的地址,再將報文發(fā)送給客戶:

SOURCE

DEST

205.100.106.2:80

203.100.106.1:3456

這樣,客戶認為是從202.103.106.5:80服務(wù)得到正確的響應(yīng),而不會知道該請求是 Real Server1 還是 Real Server2 處理的。

這便是 VS/NAT 的處理數(shù)據(jù)包的整個過程,它有這樣的一些特點:

  • 集群節(jié)點,也就是 Real Server 與 Load Balacer 必須在同一個 IP 網(wǎng)絡(luò)中
  • Load Balancer 位于 Real Server 與客戶端之間,處理進出的所有通信
  • RIP 通常是私有地址,僅用于各個集群節(jié)點之間的通信。
  • Real Server 的網(wǎng)關(guān)必須指向 Load Balancer
  • 支持端口映射:也就是Real Server 的端口可以自己設(shè)定,沒有必須是與 Load Balancer 一樣

VS/NAT 的優(yōu)勢在于可以做到端口映射,但是 Load Balancer 將可能成為集群的瓶頸。因為所有的出入報文都需要 Load Balancer 處理,請求報文較小不是問題,但是響應(yīng)報文往往較大,都需要 NAT 轉(zhuǎn)換的話,大流量的時候,Load Balancer 將會處理不過來。一般使用 VS/NAT 的話,處理 Real Server 數(shù)量達到 10~20 臺左右將是極限,并且效率往往不高。

4.VS/DR 實現(xiàn)虛擬服務(wù)器

在VS/NAT 的集群系統(tǒng)中,請求和響應(yīng)的數(shù)據(jù)報文都需要通過負載調(diào)度器,當(dāng)真實服務(wù)器的數(shù)目在10臺和20臺之間時,負載調(diào)度器將成為整個集群系統(tǒng)的新瓶頸。大多數(shù) Internet服務(wù)都有這樣的特點:請求報文較短而響應(yīng)報文往往包含大量的數(shù)據(jù)。

既然同時處理進出報文會大大的影響效率,增加機器的負載,那么若是僅僅處理進來的報文,即在負載調(diào)度器中只負責(zé)調(diào)度請求,而出去的報文由 Real Server 直接發(fā)給客戶端這樣豈不是高效許多。

VS/DR(Virtual Server via Direct Routing)利用大多數(shù)Internet服務(wù)的非對稱特點,負載調(diào)度器中只負責(zé)調(diào)度請求,而服務(wù)器直接將響應(yīng)返回給客戶,可以極大地提高整個集群 系統(tǒng)的吞吐量。

VS/DR 實現(xiàn)的虛擬服務(wù)器是這樣的一個結(jié)構(gòu),主要經(jīng)過這樣的一些步驟:

DR-sturct

  • 客戶端通過 Internet 向服務(wù)器發(fā)起請求,而請求的 IP 地址指向的是調(diào)度器上對外公布的 IP 地址;
  • 請求報文到達調(diào)度器(Load Balancer),調(diào)度器根據(jù)各個服務(wù)器的負載情況,動態(tài)地選擇一臺服務(wù)器,不修改也不封裝IP報文,而是將數(shù)據(jù)幀的MAC地址改為選出服務(wù)器的MAC地址,再將修改后 的數(shù)據(jù)幀在與服務(wù)器組的局域網(wǎng)上發(fā)送。因為數(shù)據(jù)幀的MAC地址是選出的服務(wù)器,所以服務(wù)器肯定可以收到這個數(shù)據(jù)幀;
  • Real Server 接收到報文之后,發(fā)現(xiàn)報文的目標(biāo)地址 VIP 是在本地的網(wǎng)絡(luò)設(shè)備上,服務(wù)器處理這個報文,然后根據(jù)路由表將響應(yīng)報文直接返回給客戶。

change-MAC

在VS/DR中,根據(jù)缺省的TCP/IP協(xié)議棧處理,請求報文的目標(biāo)地址為VIP,響應(yīng)報文的源地址肯定也為VIP,所以響應(yīng)報文不需要作任何修改,可以直接返回給客戶,客戶認為得到正常的服務(wù),而不會知道是哪一臺服務(wù)器處理的。

這便是 VS/DR 的處理數(shù)據(jù)包的整個過程,它有這樣的一些特點:

  • 集群節(jié)點,也就是 Real Server 與 Load Balacer 必須在同一個物理網(wǎng)絡(luò)中(若是不同網(wǎng)段的話結(jié)構(gòu)將變得復(fù)雜)
  • RIP 通常是私有地址,也可以是公網(wǎng)地址,以便于遠程管理與監(jiān)控。
  • Load Balancer 僅僅負責(zé)處理入站的請求,Real Server 將直接響應(yīng)客戶端
  • Real Server 的網(wǎng)關(guān)不能指向 Load Balancer
  • 不支持端口映射:也就是Real Server 的端口必須是與 Load Balancer 對外服務(wù)的一樣

5.VS/TUN 實現(xiàn)虛擬服務(wù)器

VS/DR 限制 Real Server 與 Load Balancer 必須在同一個物理網(wǎng)絡(luò)中,那若是分散在各地豈不是無法使用?所以有了 VS/TUN(Virtual Server via IP Tunneling)的誕生。

IP隧道(IP tunneling)是將一個IP報文封裝在另一個IP報文的技術(shù),這可以使得目標(biāo)為一個IP地址的數(shù)據(jù)報文能被封裝和轉(zhuǎn)發(fā)到另一個IP地址。IP隧道技術(shù)亦稱為IP封裝技術(shù)(IP encapsulation)。IP隧道主要用于移動主機和虛擬私有網(wǎng)絡(luò)(Virtual Private Network),在其中隧道都是靜態(tài)建立的,隧道一端有一個IP地址,另一端也有唯一的IP地址。

我們利用IP隧道技術(shù)將請求報文封裝轉(zhuǎn)發(fā)給后端服務(wù)器,響應(yīng)報文能從后端服務(wù)器直接返回給客戶。但在這里,后端服務(wù)器有一組而非一個,所以我們不可能靜態(tài)地建立一一對應(yīng)的隧道,而是動態(tài)地選擇 一臺服務(wù)器,將請求報文封裝和轉(zhuǎn)發(fā)給選出的服務(wù)器。這樣,我們可以利用IP隧道的原理將一組服務(wù)器上的網(wǎng)絡(luò)服務(wù)組成在一個IP地址上的虛擬網(wǎng)絡(luò)服務(wù)。 VS/TUN的體系結(jié)構(gòu)如圖所示,各個服務(wù)器將VIP地址配置在自己的IP隧道設(shè)備上。

Tunnel-sturct

它的連接調(diào)度和管理與VS/NAT中的一樣,只是它的報文轉(zhuǎn)發(fā)方法不同。調(diào)度器根據(jù)各個服務(wù)器的負載情況,動態(tài)地選擇一臺服務(wù)器, 將請求報文封裝在另一個 IP 報文中,再將封裝后的 IP 報文轉(zhuǎn)發(fā)給選出的服務(wù)器;服務(wù)器收到報文后,先將報文解封獲得原來目標(biāo)地址為 VI P的報文,服務(wù)器發(fā)現(xiàn)VIP地址被配置在本地的 IP隧道設(shè)備上,所以就處理這個請求,然后根據(jù)路由表將響應(yīng)報文直接返回給客戶。

這便是 VS/TUN 的處理數(shù)據(jù)包的整個過程,它有這樣的一些特點:

  • 集群節(jié)點,也就是 Real Server 與 Load Balacer 可以跨越公網(wǎng)
  • RIP 必須是公網(wǎng)地址。
  • Load Balancer 僅僅負責(zé)處理入站的請求,Real Server 將直接響應(yīng)客戶端
  • Real Server 的網(wǎng)關(guān)不能指向 Load Balancer
  • 不支持端口映射:也就是Real Server 的端口必須是與 Load Balancer 對外服務(wù)的一樣

這便是 LVS 所提供的 IP 負載均衡的三種技術(shù),我們可以根據(jù)自己的情況做出不同的選擇。


網(wǎng)站欄目:LVS 所提供的 IP 負載均衡的三種技術(shù)
文章鏈接:http://www.5511xx.com/article/dhsgcgj.html