WINS詳解
我們為什麼需要WINS服務
在默認狀態中,網路上的每一台計算機的 NetBIOS名字是通過廣播的方式來提供更新的,也就是說,假如網路上有 n台計算機,那么每一台計算機就要廣播 n-1次,對於小型網路來說,這似乎並不影響網路交通,但是當大型網路來說,加重了網路的負擔。因此 WINS對大中型企業來說尤其重要。
WINS工作原理
上面說過, WINS伺服器為客戶端提供名字註冊、更新、釋放和轉換服務,下面就詳細介紹這四個基本服務的工作原理:
1.名字註冊
名字註冊就是客戶端從WINS伺服器獲得信息的過程,在WINS服務中,名字註冊是動態的。
當一個客戶端啟動時,它向所配置的WINS伺服器傳送一個名字註冊信息(包括了客戶機的IP位址和計算機名),如果 WINS伺服器正在運行,並且沒有其它客戶端計算機已註冊相同的名字,伺服器就向客戶端計算機返還一個成功註冊的訊息(包括了名字註冊的存活期---- TTL)。
與 IP位址一樣,每個計算機都要求有唯一的計算機名,否則就無法通信。如果名字已經被其它計算機註冊了, WINS服務將會驗證該名字是否正在使用。如果該名字正在使用則註冊失敗(發回一個負確認的信息),否則就可以繼續註冊。
2.名字更新
因為客戶端被分配了一個 TTL(存活期),所有它的註冊也有一定的期限,過了這個期限, WINS伺服器將從資料庫中刪除這個名字的註冊信息。它的過程是這樣的:
(1).在過了存活期的1/8後,客戶端開始不斷試圖更新它的名字註冊,如果收到不到任何回響, WINS客戶端每過2分鐘重複更新濃度,直到存活期過了一半。
(2).當存活期過了一半時, WINS客戶端將嘗試與次選 WINS伺服器更新它的租約,它的過程與首選 WINS伺服器一樣。
(3).如果時間過了一半後仍然沒有成功的話,該客戶端又回到它的首選 WINS伺服器了。
在該過程中,不管是與首選還是次選 WINS伺服器,一旦名字註冊成功之後,該 WINS客戶端的名字註冊將被提供一個新的 TTL值。
3.名字釋放
在客戶端的正常關機過程中, WINS客戶端向 WINS伺服器傳送一個名字釋放的請求,以請求釋放其映射在 WINS伺服器資料庫中的IP位址和 NetBIOS名字。收到釋放請求後, WINS伺服器驗證一下在它的資料庫中是否有該IP位址和 NetBIOS名,如果有就可以正常釋放了,否則就會出現錯誤( WINS伺服器向 WINS客戶端傳送一個負回響)。
如果計算機沒有正常關閉,WINS伺服器將不知道其名字已經釋放了,則該名字將不會失效,直到 WINS名字註冊記錄過期。
4.名字解析
當客戶端在許多網路操作中需要WINS伺服器解析名字,例如當使用網路上其它計算機的已分享檔案時,為了得到已分享檔案,用戶需要指定兩件事:系統名和共享名,而系統名就需要轉換成IP位址。
名字解析過程是這樣的:
(1).當客戶端計算機想要轉換一個名字時,它首先檢查本地 NetBIOS名字快取器。
(2).如果名字不在本地 NetBIOS名字快取器中,便傳送一個名字查詢到首選WINS伺服器(每隔15秒傳送一次,共發三次),如果請求失敗,則向次選WINS傳送同樣的請求。
(3).如果都失敗了,那么名字解析可以通過其它途徑來轉換(例如本地廣播、 lmhosts檔案和 hosts檔案、或者 DNS來進行名字解析。
WINS伺服器和客戶端的需求
1.Microsoft對伺服器的需求
(1).至少提供一個首選 WINS伺服器和一個次選 WINS伺服器來提供容錯功能。
(2).一個 WINS伺服器每分鐘可以處理近1500個名字註冊和約4500個名字查詢。因此我們強烈建議你一個首選和一個次選WINS伺服器可以帶動10000個客戶端。
(3).如果 WINS伺服器與客戶機不在同一個子網上,就要考慮到路由器的性能了。
2.客戶端的需求
幾乎所有的支持網路互聯的 Microsoft客戶端都可以是 WINS客戶端,下面列出了可以與 WINS一起工作的客戶端:
* Windows Server 2003/2008
* Windows NT Server3.5x,4.0
* Windows NT Workstation3.5x,4.0
* Windows 9x/me/2000
* Windows for Workgroups withTCP/IP-32
* Microsoft Network Client3.0 for MS-DOS
* LAN Manager2.2c for MS-DOS
基於DOS的客戶端也可以用 WINS伺服器進行名字解析,但你必須為它們在 WINS伺服器中添加靜態詞條。2000以後 wins幾乎被拋棄。全面轉向 win2000的 DNS系統了~
WINS原理
通常, Windows作業系統支持以下兩種主要的網路名稱解析方法。
主機名稱解析
這是 Windows基於套接字的名稱解析方式,它執行 gethostbyname() API函式以搜尋主機IP位址,該地址是建立在已查詢的主機名稱基礎上的。該方法依賴於Hosts檔案或查詢DNS以執行名稱解析功能。
NetBIOS名稱解析
該名稱解析使用 NetBIOS重定向程式來搜尋基於查詢的 NetBIOS名稱的地址。該方法依賴於 Lmhosts檔案,或查詢 WINS執行名稱解析。
在默認情況下,運行 Windows2000 /XP/Server2003作業系統的 WINS客戶端被配置為先使用DNS解析長度超過15個字元或包含句點(.)的名稱。對於少於15個字元,並且不包含句點的名稱,如果將客戶端配置為使用DNS伺服器,則也可以在WINS查詢失敗之後再次將DNS用做最終選項。在默認情況下,當用WINS伺服器地址配置(手動或通過 DHCP)運行 Windows 2000/ XP/ Server2003作業系統的計算機的名稱解析時,除非配置了其他 NetBIOS節點類型,否則計算機將使用混合節點( h-節點)作為 NetBIOS名稱註冊的節點類型。對於 NetBIOS名稱查詢和解析,也使用h-節點行為,但有少許差異。
允許使用
1.打開 DNS。
2.右鍵單擊控制台樹中的適用區域,然後單擊“屬性”。
3.執行以下任一操作:
如果適用的區域是正向查找區域,應在“ WINS”選項卡上選中“使用 WINS 正向查找”複選框。在“ IP 地址”中鍵入 WINS 伺服器的 IP 地址(該伺服器將用於解析 DNS 中找不到的名稱),然後單擊“添加”。
如果適用的區域是反向查找區域,應在“ WINS-R”選項卡上選中“使用 WINS-R搜尋”複選框。在“附加到返回的名稱的域”中,鍵入一個名稱。
4.如果合適,請為此 WINS 記錄選中“不複製此記錄”複選框。
如果在不能識別 WINS 或 WINS-R 資源記錄的 DNS伺服器之間複製此區域,請單擊此複選框。這樣可以防止在區域傳輸過程中將這些記錄複製到其他伺服器上。如果在向 BIND伺服器執行區域傳輸時使用此區域,這是一個重要選項,因為 BIND不能識別 WINS 記錄。
注意
To perform this procedure,you must be a member of the Administrators group on the local computer,or you must have been delegated the appropriate authority. If the computer is joined to a domain,members of the Domain Admins group might be able to perform this procedure. As a security best practice,consider using Run as to perform this procedure.
To open DNS,click Start,click Control Panel,double-click Administrative Tools,and then double-clickDNS.
使用該選項時,此過程中配置的指定 WINS 伺服器將為在適用區域中未找到的名稱提供最後的引用。
也可以單擊“高級”,調整高級的 WINS 查找參數。
有關功能差異的信息
Your server might function differently based on the version and edition of the operating system that is installed,your account permissions,and your menu settings. For more information,see Viewing Help on the Web.