Linux DNS查詢過程
Linux DNS 查詢過程當(dāng)客戶端程序要通過一個(gè)計(jì)算機(jī)訪問網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī)時(shí),它首先要得到這個(gè)計(jì)算機(jī)名稱所對(duì)應(yīng)的IP 地址。因?yàn)?,IP 數(shù)據(jù)報(bào)中允許放置的是目地主機(jī)的IP 地址,而不是計(jì)算機(jī)名稱
Linux DNS 查詢過程
當(dāng)客戶端程序要通過一個(gè)計(jì)算機(jī)訪問網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī)時(shí),它首先要得到這個(gè)計(jì)算機(jī)名稱所對(duì)應(yīng)的IP 地址。因?yàn)?,IP 數(shù)據(jù)報(bào)中允許放置的是目地主機(jī)的IP 地址,而不是計(jì)算機(jī)名稱。
可以從本地計(jì)算機(jī)的hosts 文件中得到計(jì)算機(jī)名稱所對(duì)應(yīng)的IP 地址,但如果hosts 文件不能解析該計(jì)算機(jī)名稱時(shí),只能通過向客戶機(jī)所設(shè)定DNS 服務(wù)器進(jìn)行查詢了。
在Linux 系統(tǒng)中,通過修改“/etc/host.conf”文件中,可以修改hosts 和Bind 的查詢
順序。
DNS 查詢以各種不同的方式進(jìn)行解析,下面來詳細(xì)介紹一下以下幾種方式:
1.本地解析
本地解析即客戶端可以使用緩存信息就地應(yīng)答,這些緩存信息是通過以前的查詢獲得的。當(dāng)客戶端提出解析請(qǐng)求時(shí),首先將請(qǐng)求傳送至DNS 客戶服務(wù),以便使用本地緩存信息進(jìn)行解析。如果可以解析所要查詢的名稱,則DNS 客戶服務(wù)應(yīng)答該查詢,該請(qǐng)求處理過程結(jié)束。本地DNS 服務(wù)客戶解析過程如圖2所示。
DNS
客戶端客戶端DNS
緩存
主機(jī)文件 圖2 本地DNS 服務(wù)客戶解析過程
本地解析程序的緩存包括兩種名稱信息:
●
● 本地配置的主機(jī)文件,該文件是主機(jī)名稱到地址的映射信息,在DNS 客戶服務(wù)啟動(dòng)時(shí)預(yù)先加載到緩存中; 從以前的DNS 查詢應(yīng)答的響應(yīng)中獲取的資源記錄,它被保留在緩存中一段時(shí)間。 如果此查詢與本機(jī)的緩存中的項(xiàng)目不匹配,則解析過程將繼續(xù)進(jìn)行,客戶端將查詢DNS 服務(wù)器來解析名稱。
2.直接解析
直接解析即是直接由所設(shè)定的DNS 服務(wù)器解析,使用的是該DNS 服務(wù)器的資源記錄緩存或者其權(quán)威應(yīng)答(如果所查詢的域名是該服務(wù)器管轄的)。
如果DNS 客戶端程序不能從本地DNS 緩存回答客戶機(jī)的DNS
查詢,它就向