WINS為注冊及查詢計算機和組的動態映射NetBIOS名提供了一個分布式數據庫,WINS在NetBIOS名與ip地址之間建立映射,他是基于TCP/IP網絡中NetBIOS名解析的最佳選擇。
1.1WINS客戶機與服務器的通信目的:
§在WINS客戶機啟動時它將計算機名、IP地址、DNS域名等數據注冊到WINS服務器的數據庫中。

§當客戶機需要與其它客戶機通信時,它可以從WINS服務器取得所須的計算機名稱、IP地址、DNS域名。
1.2WINS客戶機的名稱注冊
讓用戶通過一個例子來了解名稱注冊的過程
如圖12.1WINS客戶機(HOST-C)直接向WINS服務器(WINS-A)發送名稱注冊請求。
WINS-A可以通過向HOST-C"接收"或"拒絕"的回答表示它對注冊請求的接受或拒絕。服務器是通過以下因素來作出回答的:
§在WINS-A的數據庫中是否已存在此名稱
§請求的名稱是獨立名稱還是組名稱
假如名稱不在數據庫中,則接受這個新注冊,并進行以下操作:
1.將HOST-C名輸入到數據庫中,并添加一個時間戳及標記上WINS服務器所有者的ID。
時間戳是用來計算更新間隔的(默認為:6天)
2.向HOST-C發送接受注冊的回答,在回答信息中還包含客戶機可以使用此名稱的時間(TTL)
假如HOST-C的名稱已經存在于數據庫中且與請求的IP地址相同,那么就由已存在名稱的情況和所有權決定:
1.假如數據庫中的記錄標記為"活動"切歸服務器(WINS-A)所有,則服務器更新該記錄的時間戳并向客戶機發送"接受"回答。
2.假如數據庫中的記錄被標記為"釋放、過期"或記錄歸另一個WINS服務器所有,則當前注冊被作為新注冊來處理,時間戳、所有者、版本ID等全部更新,并向客戶機發送"接受"回答。
假如HOST-C的名稱已經存在于數據庫中但與請求的IP地址不同,WINS服務器必須避免重名的發生,假如數據庫中的記錄已被標記為過期或釋放,那么可以接受注冊請求。但當記錄仍為活動狀態時,WINS服務器(WINS-A)需要向網絡上注冊該名稱的客戶機咨詢(challenge),以便確定它是否還在網絡上,具體操作如下:
1.WINS-A首先向客戶機(HOST-C)發送一個等待確認的回答(WACK),并利用TTL指定等待時間。
2.WINS-A接著向注冊此名稱的客戶機發送一個名稱查詢請求。
3.假如客戶機仍然在網絡上,它會給服務器WINS-A發送一個確認回答。
4.WINS-A,向客戶機(HOST-C)發送拒絕名稱注冊的回答,以拒絕客戶機的名稱注冊請求。
5.假如服務器WINS-A的查詢請求沒有得到相應的回答,它再同時發出兩個查詢請求,假如三次查詢均未得到回答,那么查詢過程結束,服務器WINS-A向客戶機(HOST-C)發送確認回答,接受客戶機的名稱請求,并更新數據庫中的記錄。
1.3WINS客戶機釋放(Release)名稱
當WINS客戶機(HOST-C)關機時,它將通知服務器它將不再使用它的注冊名,具體操作如下:
1.當客戶機(HOST-C)關機后用戶在命令行輸入nBTstat-RR命令時,客戶機將向服務器(WINS-A)發送一個釋放請求。
2.服務器(WINS-A)將數據庫中有關客戶機(HOST-C)的記錄標記為釋放。
3.WINS-A向客戶機(HOST-C)發送一個釋放確認消息。r
假如名稱記錄被標記為釋放,當其它客戶機以相同名稱但不同IP地址注冊時,服務器可以立即更新記錄。
1.4WINS客戶機更新名稱注冊
為確保WINS客戶機的注冊名稱在WINS服務器的數據庫中為"活動"狀態,客戶機必須定期更新它的注冊名稱。
當客戶機第一次在向服務器中注冊名稱時,從服務器返回的確認信息中的TTL(Time-To-Live)值指定了客戶機何時相應更新注冊。假如在指定時間內客戶機沒有更新它的注冊,服務器將從它數據庫中刪除客戶機的記錄。WINS數據庫中的默認更新時間為6天,當更新時間(TTL)達到一半時客戶機相應向服務器更新它的注冊名稱。
新聞熱點
疑難解答