台灣最大程式設計社群網站
線上人數
924
 
會員總數:246713
討論主題:190131
歡迎您免費加入會員
討論區列表 >> office VBA / WinOS >> drivers\etc\hosts 的設定時機問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
drivers\etc\hosts 的設定時機問題
價值 : 10 QP  點閱數:5722 回應數:1
樓主

Mark Hsu 版主
中級顧問
42091 589
15011 3773
發送站內信

捐贈 VP 給 Mark Shu
請問一下 為何有時要去 設定 C:\WINNT\system32\drivers\etc\hosts
設定 xxx.xxx.x.xx xxx.xxx.com 這樣子的對應 才可ping的到 xxx.xxx.com,
有時 沒有去設定 對應, 直接 ping xxx.xxx.com 卻又可以ping的到
請問這之間的差別為何?
是否是同一個網域與不同網域的差別呢?
煩請幫忙 謝謝

本篇文章發表於2007-03-31 20:50
== 簽名檔 ==
猛虎別在當道臥,困龍也有上天時。


1樓
最有價值解答


捐贈 VP 給 旭 檢舉此回應
首先,其實這個問題有點不好回答,因為它牽涉很多東西,但不講清楚,你可能不太了解,但一下講太多你也會搞混.
所以針對你這一題所問,我用比較清楚的方式回覆,希望你先有初步的想法,然後再慢慢去進一步研究它!!

這個直接清楚明白的講,就是名稱解析的問題,而名稱解析以Microsoft公司來講,直接先跟您報告Name Resolution in Windows 2000的作法(又有作業系統版本查詢順序不太一樣的問題,所以回答你現行普遍的Windows 2000的查詢順序)。主要又分兩種,一種就是DNS解析,一種就是WiNS解析。而DNS Client查詢是要向DNS Server作查詢動作;當然,WINS Client查詢就是要向WINS Server作查詢動作。而為什麼要有DNS又有WINS呢?那是因為WINS是微軟為了解決NetBIOS Name問題的一種解決方法。而你所問到的Hosts file則為跟DNS名稱解析有關的。Win 2000中的DNS,也就是Host Name Resolution它的查詢順序為Client->Local Host Name->HOSTS file->DNS Server->NetBIOS Name Cache->WINS Server->作Broadcast->LMHOSTS File。而WINS也就是NetBIOS Name Resolution 它的查詢順序為 Client->NetBIOS Name Cache->WINS Server-> 作Broadcast->LMHOSTS File->HOSTS File->DNS Server。你可以仔細的發現到微軟在Win2000中已經將DNS的名稱解析查不到時,也會再去查WINS的;而若作WINS的名稱解析查不到時,也會再去查DNS Server的.只是它的查詢順序不同。注意,現在講的是Win2000的唷,NT 4版本之前則不是這個機制。所以,再回到你的問題中,為何有時Ping的到,有時ping不到即是這個原理,但這個順序記得要背起來唷,對你在網管的領域可是大大的有用,因為非常多人不清楚這個規則,所以在Troubleshooting時產生盲點。所以,Hosts file 沒設時,只要DNS Server中有該筆記錄,即可先查詢的到的.而在win2000中它甚至還會DNS查不到時,再查WINS Server,及LMHOSTS File的。而你一定會問,LMHOSTS 是什麼檔呀(在相同路徑下,你可以另外發現一個lmhosts.sam 的檔案,就是它了),它就是WINS解決方案中,放在Client的檔案,而Hosts File 則是DNS解決方案中,放在Client 的檔案。當然,名稱解析跟網域有關係,但並不是不同網域就Ping不到唷,這個觀念要分開想。因為,別人的網域只要在DNS Server中有這記錄,就查詢的到的,甚至DNS是可以幫人或請人家代管,而自己的DNS查不到時,就是Forward請別台DNS代查,再把結果送回來,這都是在實務中可以做到的唷。希望我的回答不會太難又夠清楚,然後,您也可以再進一步的去研究DNS及WINS的機制(因為在Unix及Linux的則又不同,您可以另外在這些版面詢問),加油!!
本篇文章回覆於2007-04-01 00:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.