簡單描述LVS工作原理-第1部分

一、NAT模式(VS-NAT)

原理:就是把客戶端發來的數據包的IP頭的目的地址,在負載均衡器上換成其中一臺RS的IP地址,并發至此RS來處理,RS處理完成后把數據交給經過負載均衡器,負載均衡器再把數據包的原IP地址改為自己的IP,將目的地址改為客戶端IP地址即可?期間,無論是進來的流量,還是出去的流量,都必須經過負載均衡器?

優點:集群中的物理服務器可以使用任何支持TCP/IP操作系統,只有負載均衡器需要一個合法的IP地址。

缺點:擴展性有限。當服務器節點(普通PC服務器)增長過多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包的流向都經過負載均衡器。當服務器節點過多時,大量的數據包都交匯在負載均衡器那,速度就會變慢!

二、IP隧道模式(VS-TUN)

原理:首先要知道,互聯網上的大多Internet服務的請求包很短小,而應答包通常很大。那么隧道模式就是,把客戶端發來的數據包,封裝一個新的IP頭標記(僅目的IP)發給RS,RS收到后,先把數據包的頭解開,還原數據包,處理后,直接返回給客戶端,不需要再經過負載均衡器?注意,由于RS需要對負載均衡器發過來的數據包進行還原,所以說必須支持IPTUNNEL協議?所以,在RS的內核中,必須編譯支持IPTUNNEL這個選項

優點:負載均衡器只負責將請求包分發給后端節點服務器,而RS將應答包直接發給用戶。所以,減少了負載均衡器的大量數據流動,負載均衡器不再是系統的瓶頸,就能處理很巨大的請求量,這種方式,一臺負載均衡器能夠為很多RS進行分發。而且跑在公網上就能進行不同地域的分發。

缺點:隧道模式的RS節點需要合法IP,這種方式需要所有的服務器支持”IP Tunneling”(IP Encapsulation)協議,服務器可能只局限在部分Linux系統上。

三、直接路由模式(VS-DR)

原理:負載均衡器和RS都使用同一個IP對外服務?但只有DR對ARP請求進行響應,所有RS對本身這個IP的ARP請求保持靜默?也就是說,網關會把對這個服務IP的請求全部定向給DR,而DR收到數據包后根據調度算法,找出對應的RS,把目的MAC地址改為RS的MAC(因為IP一致)并將請求分發給這臺RS?這時RS收到這個數據包,處理完成之后,由于IP一致,可以直接將數據返給客戶,則等于直接從客戶端收到這個數據包無異,處理后直接返回給客戶端?由于負載均衡器要對二層包頭進行改換,所以負載均衡器和RS之間必須在一個廣播域,也可以簡單的理解為在同一臺交換機上?

優點:和TUN(隧道模式)一樣,負載均衡器也只是分發請求,應答包通過單獨的路由方法返回給客戶端。與VS-TUN相比,VS-DR這種實現方式不需要隧道結構,因此可以使用大多數操作系統做為物理服務器。

缺點:(不能說缺點,只能說是不足)要求負載均衡器的網卡必須與物理網卡在一個物理段上。

原創文章,作者:zuoyang1990,如若轉載,請注明出處:http://www.www58058.com/34772

(0)
zuoyang1990zuoyang1990
上一篇 2016-08-15 10:55
下一篇 2016-08-15 10:57

相關推薦

  • Grep 文本搜索工具與正則表達式

            grep (縮寫來自Globally search a Regular Expression and Print)是一種強大的文本搜索工具,它能使用特定模式匹配(包括正則表達式)搜索文本,并默認輸出匹配行。Grep在實際中對于我們的工作有著很大的作用,用于對文件的搜索,通過由正則表達式字符以及…

    2017-04-15
  • Linux下history命令的介紹

    Linux下history命令的介紹 一、用處 對于Linux而言,命令是人機交互的重要方式,而查看命令歷史可以幫助我們了解系統的使用狀態、增強安全性也可以調用歷史達到快捷操作的目的。 二、命令行歷史   執行過的命令會被存入緩存,當正常退出shell時,緩存中的命令會被寫入文件中并保存在用戶下的隱藏文件文件.bash_history中。當用戶登陸…

    Linux干貨 2016-07-29
  • 計算機和操作系統的一些概念

    一、計算機組成     (一) 硬件         CPU:運算器、控制器、寄存器、緩存器         存儲器:主內存,RAM(Random Access…

    Linux干貨 2016-08-15
  • 文件權限

    首先簡單介紹一下文件的屬性: 使用ls -l 長列出-rw-r–r–. 1 root root 1302 Jul 25 10:23 group文件類型|owner權限group權限other權限|硬鏈接數|owner|group|文件大小(bytes)|mtime|文件名 文件類型:     &…

    2017-07-29
  • 上古神器vim

    概述:     在之前的篇章中,我們介紹了一些文本的處理工具,如grep、sed、cut、sort等,但是那些工具的側重點都在于有了現成的文本之后,對現有的文本進行一定條件的加工處理后,滿足我們進一步對數據的要求。但是目前為止,還沒有接觸一款專業用來編輯文本的工具,本篇就來介紹一下Linux系統上自帶的專業用來文本編輯…

    Linux干貨 2016-08-10
  • 8.16

    for 循環是相對比較簡單的循環,任何一個循環里面都可以嵌套循環,用for可以解決簡單邏輯上的任何循環 。 有兩種基本格式:for i in " ";do         或者dor((i=0;i<=9;i++))可以嵌套if或者while等循環 if循環。最重要的是判斷的條件,if意為如果什…

    Linux干貨 2016-08-19
欧美性久久久久