JavaShuo
欄目
標籤
DNS/SSL/LB學習總結
時間 2019-11-24
標籤
dns
ssl
學習
總結
欄目
系統網絡
简体版
原文
原文鏈接
DNS 域名系統
定義:
域名系統,它是域名和IP地址的映射關係,能夠是一對一,也能夠是一對多(用於DNS負載均衡)
做用:
1.減輕用戶的記憶負擔;2.能夠保持域名不變,更新IP地址。這樣能夠下降IP變動帶來的影響
DNS服務器結構:
是一個分級的樹狀結構體系。每個節點都是一個DNS服務器,每一個節點都有本身的IP地址。
DNS查詢:
用戶計算機和DNS服務器使用DNS協議通訊。用戶計算機根據DNS服務器的反饋,依次與下一層節點的DNS創建通訊。通過遞歸查詢,最終和末端節點通訊,得到IP地址。
DNS緩存:
計算機的操做系統中有域名解析模塊撞門負責域名解析工做。並非每次都要經歷完整的解析過程,在域名解析模塊中有DNS緩存,計算機會首先檢查緩存中是否有相關記錄。所以重複使用的域名並不會老是須要經歷整個遞歸查詢的過程了。
DNS冗餘:
爲了保證DNS服務的高可用,會用多臺名稱服務器冗餘支持每一個區域。主 DNS 服務器爲一個或幾個區域的權威名稱服務器。其餘的冗餘名稱服務器又稱輔DNS服務器被用做同一區域中主DNS服務器的備份服務器,以防主服務器出現故障。輔DNS服務器爲了保證與主服務器的信息保持一致,會定時與主服務器通訊,這種將區域文件複製到多臺服務器的過程稱爲區域複製。
網址訪問過程如圖:
DNS解析過程圖:
SSL證書
定義:
SSL協議,由受信任的數字證書頒發機構CA,在驗證服務器身份後頒發,具備服務器身份驗證和數據傳輸加密功能。
用途:
https 則是具備安全性的ssl加密傳輸協議。所以須要申請SSL證書。
SSL協議:
用以保證在Internet上數據傳輸的安全,利用數據加密方式,用來保證數據在網絡上傳輸中不被截取或竊聽。被普遍用於web瀏覽器與服務器之間的身份認證和數據加密傳輸。SSL協議用於TCP/IP協議和各類應用層協議之間,爲數據通信提供安全保障。
經常使用的加密算法:
對稱密碼算法:加密和解密使用相同的密鑰。
非對稱密碼算法:又稱公鑰加密算法。是加密和解密使用不一樣的密鑰。公開的公鑰用於加密,私有的私鑰用於解密。反過來也能夠用私鑰加密公鑰解密。總結就是匹配的一對公鑰密鑰才能進行加解密。
散列算法:將文件經過某種公開的算法,變成固定長度的值,這種算法是不能夠的(由鴿籠原理可知,將無限集合放入有限的集合裏面,必然不能從加密摘要推測出明文)
SSL工做原理中包含的三個協議:
握手協議(Handshake protocol)
記錄協議(Record protocol)
警報協議(Alert protocol)
SSL的加密過程:
因爲非對稱加密算法的效率要比對稱加密低的多,因此SSL在握手過程當中使用非對稱米飯算法來協商密鑰,實際使用對稱加解密的方法對http內容加密,具體過程如圖:
注意:
客戶端生成的對稱密鑰,是經過服務器的公鑰進行加密的,因此只能經過服務器的密鑰加密,所以就算這個對稱密鑰被截獲了,沒有密鑰也破解不了,這樣,這個工程就很安全了。
LB負載均衡
定義:
將用戶訪問的訪問請求,根據負載均衡算法分發到集羣中的可用服務器上。是一種服務器或網絡設備的集羣技術。負載均衡將特定的業務(網絡服務、網絡流量等)分擔給多個服務器或網絡設備,從而提升了業務處理能力,保證了業務的高可用性
做用:
1.解決併發壓力,提升應用處理性能(增長吞吐量,增強網絡處理能力);
2.提供故障轉移,實現高可用;
3.經過添加或減小服務器數量,提供網站伸縮性(擴展性);
4.安全防禦;(負載均衡設備上作一些過濾,黑白名單等處理)
負載均衡優化以及應用
1.TCP連接複用:鏈接複用功能經過使用鏈接池技術,能夠將前端大量的客戶的HTTP請求複用到後端與服務器創建的少許的TCP長鏈接上,大大減少服務器的性能負載,減少與服務器之間新建TCP鏈接所帶來的延時,並最大限度減小後端服務器的併發鏈接數,下降服務器的資源佔用。
2.SSL卸載:爲了不明文傳輸出現的安全問題,對於敏感信息,通常採用
SSL協議,如
HTTPS,對
HTTP協議進行加密,以保證整個
HTTP傳輸過程的安全性。
SSL是須要耗費大量
CPU資源的一種安全技術,若是由後端的服務器來承擔,則會消耗很大的處理能力。應用交付設備爲了提高用戶的體驗,分擔服務器的處理壓力,將
SSL加解密集中在自身的處理上,相對於服務器來講
LB能提供更高的
SSL處理性能,還可以簡化對證書的管理,減小平常管理的工做量,
LB的該功能又稱爲
SSL卸載。Client端發送給
Server的全部的
HTTPS流量都被
LB設備終結,
LB設備將
SSL終結後,與
Server之間可採用
HTTP或者弱加密的
HTTPS進行通信。
LB設備承擔了
SSL的卸載工做,從而極大的減少了服務器端對
SSL處理的壓力,將服務器的處理能力釋放出來,更加專一於處理服務器自己承擔的業務邏輯。
SSL卸載流程圖:
負載均衡分類
1.DNS負載均衡
DNS負載均衡技術的實現原理是在
DNS服務器中爲同一個主機名配置多個
IP地址,在應答
DNS查詢時,
DNS服務器對每一個查詢將以
DNS文件中主機記錄的
IP地址按順序返回不一樣的解析結果,將客戶端的訪問引導到不一樣的機器上去,使得不一樣的客戶端訪問不一樣的服務器,從而達到負載均衡的目的。。大型網站老是部分使用DNS解析,做爲第一級負載均衡。
優缺點:DNS負載均衡是一種簡單而有效的方法,可是它不能區分服務器的差別,也不能反映服務器的當前運行狀態。DNS負載均衡的一個問題是一旦某個服務器出現故障,即便及時修改了
DNS設置,仍是要等待足夠的時間(刷新時間)才能發揮做用,在此期間保存了故障服務器地址的客戶計算機將不能正常訪問服務器。
2. IP負載均衡
用戶請求數據包,到達負載均衡服務器後,負載均衡服務器在操做系統內核進程獲取網絡數據包,根據負載均衡算法獲得一臺真實服務器地址,而後將請求目的地址修改成,得到的真實ip地址,不須要通過用戶進程處理。真實服務器處理完成後,響應數據包回到負載均衡服務器,負載均衡服務器,再將數據包源地址修改成自身的ip地址,發送給用戶瀏覽器。
優缺點:在內核進程完成數據分發,比在應用層分發性能更好;全部請求響應都須要通過負載均衡服務器,集羣最大吞吐量受限於負載均衡服務器網卡帶寬。
3.鏈路層負載均衡
在通訊協議的數據鏈路層修改mac地址,進行負載均衡。數據分發時,不修改ip地址,只修改目標mac地址,配置真實物理服務器集羣全部機器虛擬ip和負載均衡服務器ip地址一致,達到不修改數據包的源地址和目標地址,進行數據分發的目的。實際處理服務器ip和數據請求目的ip一致,不須要通過負載均衡服務器進行地址轉換,可將響應數據包直接返回給用戶瀏覽器,避免負載均衡服務器網卡帶寬成爲瓶頸。也稱爲直接路由模式(DR模式)。
優缺點:性能好;配置複雜;DR模式是目前使用最普遍的一種負載均衡方式。
4.混合型負載均衡
因爲多個服務器羣內硬件設備、各自的規模、提供的服務等的差別,能夠考慮給每一個服務器羣採用最合適的負載均衡方式,而後又在這多個服務器羣間再一次負載均衡或羣集起來以一個總體向外界提供服務(即把這多個服務器羣當作一個新的服務器羣),從而達到最佳的性能。將這種方式稱之爲混合型負載均衡
負載均衡算法
經常使用的負載均衡算法有,輪詢,隨機,最少連接,源地址散列,加權等方式;
1.輪詢
將全部請求,依次分發到每臺服務器上,適合服務器硬件同相同的場景。
優勢:服務器請求數目相同;
缺點:服務器壓力不同,不適合服務器配置不一樣的狀況;
2.隨機
請求隨機分配到各個服務器。
優勢:使用簡單;
缺點:不適合機器配置不一樣的場景;
3.最少連接:
將請求分配到鏈接數最少的服務器(目前處理請求最少的服務器)。
優勢:根據服務器當前的請求處理狀況,動態分配;
缺點:算法實現相對複雜,須要監控服務器請求鏈接數;
4.Hash(源地址散列)
根據IP地址進行Hash計算,獲得IP地址。
優勢:未來自同一IP地址的請求,同一會話期內,轉發到相同的服務器;實現會話粘滯。
缺點:目標服務器宕機後,會話會丟失;
5.加權
在輪詢,隨機,最少連接,Hash’等算法的基礎上,經過加權的方式,進行負載服務器分配。
優勢:根據權重,調節轉發服務器的請求數目;
缺點:使用相對複雜。
學習感想
學習過程當中發現有不少概念都只是聽過,其中不明白的地方還另外查了下,負載均衡原理很難理解,我暫且有了概念上的簡單瞭解。短暫的學習並不能掌握詳細的原理,須要多花時間在上面。
前端
相關文章
1.
【總結】AngularJs學習總結
2.
學習總結
3.
總結學習
4.
【學習總結】SQL的學習-彙總
5.
CAN總線學習總結
更多相關文章...
•
XML 總結 下一步學習什麼呢?
-
XML 教程
•
您已經學習了 XML Schema,下一步學習什麼呢?
-
XML Schema 教程
•
Tomcat學習筆記(史上最全tomcat學習筆記)
•
適用於PHP初學者的學習線路和建議
相關標籤/搜索
學習總結
學習、總結
Docker學習總結
JS學習總結
實習總結
總結
Java菜鳥學習總結
機器學習總結
Mybatis學習總結五
第九周學習總結
SSL
系統網絡
PHP教程
Thymeleaf 教程
MyBatis教程
學習路線
初學者
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
1.2 Illustrator多文檔的幾種排列方式
2.
5.16--java數據類型轉換及雜記
3.
性能指標
4.
(1.2)工廠模式之工廠方法模式
5.
Java記錄 -42- Java Collection
6.
Java記錄 -42- Java Collection
7.
github使用
8.
Android學習筆記(五十):聲明、請求和檢查許可
9.
20180626
10.
服務擴容可能引入的負面問題及解決方法
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
【總結】AngularJs學習總結
2.
學習總結
3.
總結學習
4.
【學習總結】SQL的學習-彙總
5.
CAN總線學習總結
>>更多相關文章<<