18、DNS服務
socket:ip+port
2、裸套接字:
無需調用傳輸層的tcp和utp協議端口號,而自身可以實現此功能,並能借助網絡層發送出去。
3、DNS:domain name server;是一個應用層程序
協議端口:tcp:53,udp:53
4、客戶端名稱解析過程:
先查本地的hosts文件,在去查dns緩存,如果都沒有,在去查dns服務器。
5、hosts文件:
它記錄了要通信主機的主機名和ip地址,主機不多時,可以用,多了就會降低解析效率。host文件是通用的,可以作為庫文件供開發人員調用。
庫:getipbyhostname( )
庫:gethostnamebyip( )
6、dns介紹:
dns是一個分層結構的名稱解析程序。
由根(.)、一級域(也叫頂級域:tlp,top level domain)、二級域、三級域(可以繼續往下分層)組成。
DNS緩存(dns cache):
為了減少每次輸入域名主機時,都要去dns服務器查找提供服務的主機,因此,每次去訪問dns服務器時,都緩存一份名稱庫解析在dns cache中,緩存時間的定義(即緩存有效期)是由DNS服務器來設定的,它通過設置一個遞減的時間(TTL)來實現此功能。
DNS查詢類型:
遞歸查詢:一般是主機到指定的DNS服務器進行查詢,需要DNS服務器幫自己去完成解析
叠代查詢:一般是DNS服務器向根、頂級域及二級域之間的查詢
DNS解析方式:
正向解析:從名稱解析得到ip
反向解析:從ip解析得到名稱
註意:正向解析和反向解析是兩種完全不同的解析功能,是彼此間獨立的,因此二者的數據庫也是不一樣的。
18、DNS服務