Linux DNS查詢(xún)過(guò)程
Linux DNS 查詢(xún)過(guò)程當(dāng)客戶(hù)端程序要通過(guò)一個(gè)計(jì)算機(jī)訪問(wèn)網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī)時(shí),它首先要得到這個(gè)計(jì)算機(jī)名稱(chēng)所對(duì)應(yīng)的IP 地址。因?yàn)?,IP 數(shù)據(jù)報(bào)中允許放置的是目地主機(jī)的IP 地址,而不是計(jì)算機(jī)名稱(chēng)
Linux DNS 查詢(xún)過(guò)程
當(dāng)客戶(hù)端程序要通過(guò)一個(gè)計(jì)算機(jī)訪問(wèn)網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī)時(shí),它首先要得到這個(gè)計(jì)算機(jī)名稱(chēng)所對(duì)應(yīng)的IP 地址。因?yàn)?,IP 數(shù)據(jù)報(bào)中允許放置的是目地主機(jī)的IP 地址,而不是計(jì)算機(jī)名稱(chēng)。
可以從本地計(jì)算機(jī)的hosts 文件中得到計(jì)算機(jī)名稱(chēng)所對(duì)應(yīng)的IP 地址,但如果hosts 文件不能解析該計(jì)算機(jī)名稱(chēng)時(shí),只能通過(guò)向客戶(hù)機(jī)所設(shè)定DNS 服務(wù)器進(jìn)行查詢(xún)了。
在Linux 系統(tǒng)中,通過(guò)修改“/etc/host.conf”文件中,可以修改hosts 和Bind 的查詢(xún)
順序。
DNS 查詢(xún)以各種不同的方式進(jìn)行解析,下面來(lái)詳細(xì)介紹一下以下幾種方式:
1.本地解析
本地解析即客戶(hù)端可以使用緩存信息就地應(yīng)答,這些緩存信息是通過(guò)以前的查詢(xún)獲得的。當(dāng)客戶(hù)端提出解析請(qǐng)求時(shí),首先將請(qǐng)求傳送至DNS 客戶(hù)服務(wù),以便使用本地緩存信息進(jìn)行解析。如果可以解析所要查詢(xún)的名稱(chēng),則DNS 客戶(hù)服務(wù)應(yīng)答該查詢(xún),該請(qǐng)求處理過(guò)程結(jié)束。本地DNS 服務(wù)客戶(hù)解析過(guò)程如圖2所示。

DNS

客戶(hù)端客戶(hù)端DNS

緩存


主機(jī)文件 圖2 本地DNS 服務(wù)客戶(hù)解析過(guò)程
本地解析程序的緩存包括兩種名稱(chēng)信息:
●
● 本地配置的主機(jī)文件,該文件是主機(jī)名稱(chēng)到地址的映射信息,在DNS 客戶(hù)服務(wù)啟動(dòng)時(shí)預(yù)先加載到緩存中; 從以前的DNS 查詢(xún)應(yīng)答的響應(yīng)中獲取的資源記錄,它被保留在緩存中一段時(shí)間。 如果此查詢(xún)與本機(jī)的緩存中的項(xiàng)目不匹配,則解析過(guò)程將繼續(xù)進(jìn)行,客戶(hù)端將查詢(xún)DNS 服務(wù)器來(lái)解析名稱(chēng)。
2.直接解析
直接解析即是直接由所設(shè)定的DNS 服務(wù)器解析,使用的是該DNS 服務(wù)器的資源記錄緩存或者其權(quán)威應(yīng)答(如果所查詢(xún)的域名是該服務(wù)器管轄的)。
如果DNS 客戶(hù)端程序不能從本地DNS 緩存回答客戶(hù)機(jī)的DNS

查詢(xún),它就向