在開始整理之前,需要準備幾個知識點:
一:lvs的組成
1.ipvs:執行在核心間netfilter上input鏈的框架;通過對資料進行檢測.滿足規則後通過鉤子強制**的功能
2.ipvsadm:執行在使用者空間,用於編寫ipvs框架規則的工具;
二:netfilter的五鏈與iptables的功能作用;
1.客戶端傳送請求,由於目的ip位址為vip(lvs外網ip位址).所以請求資料報進入排程伺服器(lvs);
2.進入伺服器後,由於伺服器通過netfilter框架來管理網路資料,故資料報會被系統分到netfilter框架的第乙個鏈:prerouting;
3.進入prerouting鏈後,判斷是否目標ip位址是否為本機,如果是,則轉入input鏈;
此時資料報的目標ip為:dip,目標mac為:dip-mac,源ip為:cip,源mac為:cip-mac
4.在input上有lvs的ipvs框架針對資料進行檢測,當滿足了ipvsadm制定的規則後,通過排程演算法,將資料報中的目標ip位址修改為rip;
此時資料報的目標ip為:rip,目標mac為:rip-mac,源ip為:cip,源mac為:cip-mac
5.將修改後的資料報轉入postrouting.經由路由**到真實伺服器;
6.真實伺服器接到請求後,處理完請求的內容後,由於真實伺服器的閘道器為排程器內網的ip位址,所以真實伺服器將響應資料發往排程伺服器.
此時資料報的目標ip位址為:cip,目標mac為:cip-mac,源ip位址為rip,源ip位址為:rip,源mac位址為:rip-mac;
7.資料到達排程伺服器後,進入prerouting鏈,通過判斷發現目標ip不是為本機ip,於是進入forword鏈---->postrouting鏈,進入網路,最終到達客戶端;
1.當客戶端的請求進入伺服器所在的網路時,交換機發廣播諮詢vip的mac位址,此時排程伺服器響應該arp請求.交換機快取該響應到自身arp表;並**訪問資料;
3.訪問資料進入伺服器後,由於伺服器通過netfilter框架來管理網路資料,故資料報會被系統分到netfilter框架的第乙個鏈:prerouting;
4.進入prerouting鏈後,判斷是否目標ip位址是否為本機,通過檢查發現為本機的vip.則轉入input鏈;
此時資料報的目標ip為:vip,目標mac為:dip-mac,源ip為:cip,源mac為:cip-mac
5.在input上有lvs的ipvs框架針對資料進行檢測,當滿足了ipvsadm制定的規則後,通過排程演算法,傳送arp請求,等待rip的mac位址;
6.rip的伺服器響應arp請求,並回應自身的mac位址;
7.等到得到目標rip的mac位址;將修改後的資料報轉入postrouting.
此時資料報的目標ip為:vip,目標mac為:rip-mac,源ip為:cip,源mac為:dip-mac
8.rs接到請求後,處理完請求的內容後,通過lo介面傳送給出口網絡卡,傳送資料回客戶端;
此時資料報的目標ip位址為:cip,目標mac為:cip-mac,源ip位址為vip,源mac位址為:vip-mac;
總結:dr模式是為了解決nat排程伺服器瓶頸的優化方案,所以在響應客戶端資料的時候,不再經過排程伺服器,而是由真實伺服器直接將資料傳送給客戶,但是這樣存在乙個問題,會將真實伺服器暴露出去(不安全).所以從ds到rs的網段必須維護同乙個vip(對外的伺服器ip位址).即ds跟rs都必須通過回環lo設定vip;
但是這裡存在乙個問題:所有的伺服器都擁有vip,當區域網中發起關於該vip的arp請求的時候,所有伺服器都會響應,故此時需要設定只有排程伺服器才能響應客戶端的arp請求;即遮蔽掉真實主機關於該ip的arp響應;
另外,當資料往客戶端傳送資料時,必須通過eth0網絡卡對外傳送,但是存在問題,rs不知道客戶端的mac位址,需要傳送arp請求,如果用vip位址傳送請求的話,會更新掉客戶端所在的arp表,導致ds失效.所以需要將arp請求讓出口網絡卡發出,並得到響應後再更新本身arp表.最後再封裝傳送響應資料;(
對arp機制不是很了解,這段描述有問題,待完善)
綜上所述,dr模式搭建過程中,需要注意的是
1.需要配置arp抑制; 2.
ds跟rs必須在同乙個物理網路中,因為是雙方是通過資料鏈路層來進行資料傳輸的.
EPOLL兩種模式
select epoll 的特點 select 的特點 select 選擇控制代碼的時候,是遍歷所有控制代碼,也就是說控制代碼有事件響應時,select 需要遍歷所有控制代碼才能獲取到哪些控制代碼有事件通知,因此效率是非常低。但是如果連線很少的情況下,select 和epoll的lt 觸發模式相比,...
ftp的兩種模式
常用ftp的人都知道,ftp在傳輸檔案的時候分為兩種模式 ascii模式 和 二進位制模式 1 ascii模式是一般是用來傳輸文字檔案的 2 二進位制模式是用來傳輸二進位制檔案的 一般我們使用ftp工具進行檔案傳輸的時候,工具內部應該會識別檔案型別,而如果我們使用windows內建的ftp,在命令列...
XML的兩種模式
color darkblue size medium 在xml使用過程中,往往需要對xml的有效性進行驗證。只要不違反xml格式良好的規則,就可以自由選取標記的名字,用自己習慣的方式描述事物。這就意味著用xml描述相同的事物時,不同的編寫者可能寫出含有不同標記名 採用不同結構的xml文件,這對於資料...