1. DNS算法
DNS全稱是Domain Name System,域名系統,它的任務就是把域名映射成對應的IP。瀏覽器
DNS解析域名的過程:緩存
(1)首先查找緩存:包括瀏覽器緩存、操做系統緩存、路由器緩存等,找到了直接返回對應的IP,找不到則進行(2);服務器
(2)查找本機的hosts文件:hosts文件保存在本地的一個文件,內容包含域名和IP地址對,通常格式是域名+空格+IP地址,若是還找不到則到(3);ssh
(3)查找DNS服務器:加密
域名的解析是與咱們的閱讀順序相反,解析過程是從後向前,好比https://www.cnblogs.com這個域名,首先跟域名服務器解析com,返回一個定義域名服務器地址;頂級域名服務器解析cnblogs返回一個權限域名服務器地址,最後權限域名服務返回整個域名對應的IP給客戶端,到此即完成了域名解析。spa
2. SSH操作系統
SSH的定義是一個能夠遠程登陸主機並在遠程主機上執行指令的程序(ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine)。SSH是一種協議,有多種實現方式,其中包括商用的和開源的,主要目的都是加密傳輸信息。SSH加密有兩種方式,一種是經過密碼的形式;第二種是經過密鑰的形式,常見的是非對稱加密算法RSA算法。.net
加密方式就是經過密碼進行登陸,Linux指令是 ssh [-p 端口號] 用戶名@IP地址。blog
密鑰分爲私鑰和公鑰,其成對存在,互爲對方的加密和解密,即一個負責加密,另外一個負責解密,缺一不可;公鑰負責對外公開,私鑰本身保留。
密鑰的工做分爲兩種機制:加密機制和認證機制。
下面舉個例子,A和B之間須要加密傳輸信息,那麼A和B首先各自須要各自產生本身的私鑰和公鑰,記爲公鑰A,私鑰A和公鑰B和私鑰B,而後A把公鑰A發給B,B把公鑰B發給A,那麼接下來就能夠進行加密傳輸了。
加密機制:B向A傳輸,則B用公鑰A加密資料後發送給A,A收到後使用私鑰A解密B發來的資料,這就是加密機制;
認證機制:A向B傳輸資料,A使用私鑰A加密資料後發送給B,B收到後使用公鑰A嘗試解密資料,結果成功解密,則說明這個資料是由A發送的,着就是認證機制。
Linux指令:
產生密鑰 ssh -keygen (通常產生兩個文件 id_rsa是私鑰,id_rsa.pub公鑰)
發送公鑰 scp id_rsa.pub 用戶名@IP地址:/home/playsand/.ssh
SSH的內容參考了兩位前輩的博客的部分觀點,特此感謝: