LVS的工作模式

對(duì)LVS只做了粗淺的了解,LVS的工作模式主要分

  • VS-NAT
  • VS-DRouting
  • VS-IPTunneling

其中用的最多的是NAT模式,下面分別來闡述下

VS-NAT

原理圖


nat
nat

請(qǐng)求到達(dá)lvs之后,lvs會(huì)重寫數(shù)據(jù)包的目的地址到real server ip:port,并將請(qǐng)求轉(zhuǎn)發(fā)給real server,real server處理完之后,將請(qǐng)求包反饋給lvs,lvs修改數(shù)據(jù)包的源地址為vip:port.

假設(shè)202.100.1.2:3456是客戶端的地址,202.103.106.5:80是LVS的虛擬地址,172.16.0.3:8000是內(nèi)網(wǎng)真實(shí)server地址。

The incoming packet for web service would has source and destination addresses as:

SOURCE 202.100.1.2:3456 DEST 202.103.106.5:80
The load balancer will choose a real server, e.g. 172.16.0.3:8000. The packet would >be rewritten and forwarded to the server as:

SOURCE 202.100.1.2:3456 DEST 172.16.0.3:8000
Replies get back to the load balancer as:

SOURCE 172.16.0.3:8000 DEST 202.100.1.2:3456
The packets would be written back to the virtual server address and returned to the client as:

SOURCE 202.103.106.5:80 DEST 202.100.1.2:3456

疑問1:對(duì)于返回的數(shù)據(jù)包怎么DEST是202.100.1.2:3456,還是會(huì)請(qǐng)求到LVS呢?
解答:這個(gè)其實(shí)是因?yàn)楹蠖说膔eal server沒有獨(dú)立的公網(wǎng)IP,在real server上有配置路由規(guī)則,LVS是該機(jī)器上所有外網(wǎng)請(qǐng)求的網(wǎng)關(guān)。

VS-DRouting

原理圖


drouting
drouting

在dr模式下:

  1. lvs只是接收client的請(qǐng)求,response是直接由后端的real server返回給client的,相當(dāng)于lvs只是做了負(fù)載均衡。
  2. 要求所有的real server都必須要有公網(wǎng)IP。
  3. lvs和real server都需要共享這個(gè)虛IP,所以lvs和real server必須要在同一個(gè)物理網(wǎng)段下。

疑問1: 為什么lvs和real server必須要在同一個(gè)物理網(wǎng)段?因?yàn)橐蚕硪粋€(gè)虛擬IP。為什么只有同一個(gè)物理網(wǎng)段才能共享同一個(gè)虛擬IP呢?

疑問2:這是通過MAC地址轉(zhuǎn)發(fā)嗎,走的數(shù)據(jù)鏈路層?

流程圖


drouting-flow
drouting-flow

VS-IPTunneling

原理圖


ipTunneling
ipTunneling

在ip-tunneling模式下:

  1. lvs只是接收client的請(qǐng)求,response是直接由后端的real server返回給client的,相當(dāng)于lvs只是做了負(fù)載均衡(與dr模式一致)。
  2. 這個(gè)要求所有的real server都必須要有公網(wǎng)IP(與dr模式一致)。
  3. real server不需要跟lvs在同一個(gè)網(wǎng)段下,也不需要共享一個(gè)虛擬IP。

流程圖


ipTunneling-flow
ipTunneling-flow

疑問1: client請(qǐng)求的時(shí)候dest是lvs的外網(wǎng)地址,但接收包的src變成real server的外網(wǎng)地址了,client還會(huì)認(rèn)這個(gè)包嗎,不會(huì)認(rèn)為這個(gè)是偽造的請(qǐng)求回復(fù)包?

疑問2:IP封包技術(shù),走IP層的轉(zhuǎn)發(fā)?對(duì)下層透明

其他說明

echo 1 > /proc/sys/net/ipv4/ip_forward作用?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本文部分觀點(diǎn)圖片采用于:http://chenx1242.blog.51cto.com 隨著智能機(jī)的逐漸普及,大量...
    BossHuang閱讀 3,230評(píng)論 0 16
  • 集群的概念LVS介紹ipvsadm的使用實(shí)現(xiàn)LVS-NAT實(shí)現(xiàn)LVS-DRLVS高可用 一、集群的概念 (一)系統(tǒng)...
    哈嘍別樣閱讀 811評(píng)論 0 2
  • LVS簡(jiǎn)介 LVS是Linux Virtual Server的簡(jiǎn)寫,意即Linux虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集...
    geekdeedy閱讀 462評(píng)論 0 0
  • 1.Cluster(集群)概念 (1)系統(tǒng)擴(kuò)展方式: Scale UP:向上擴(kuò)展,增強(qiáng)Scale Out:向外擴(kuò)展...
    尛尛大尹閱讀 1,124評(píng)論 0 4
  • 今天的作業(yè)老師布置的比較少,語文拼音昨天已經(jīng)預(yù)習(xí),學(xué)會(huì)了,今天晚上回來聽寫,數(shù)學(xué)也很少。晚上下班,去托輔接...
    耿浩然媽媽閱讀 166評(píng)論 1 7