網絡基礎小補。
利用 NetBIOS 名稱與其他計算機通信
網絡中的計算機之間必須知道IP位址後才能互相通信。但對人來說IP難以記憶,NetBIOS計算機名稱比較容易記憶。當計算機使用 NetBIOS 名稱與其他計算機通信時,必須先通過 NetBIOS名稱找到IP位址,然後再通過IP位址通信。由NetBIOS名稱找出IP位址的操作被稱為NetBIOS名稱解析(NetBIOS name resolution)。
NetBIOS名稱是什麼?
NetBIOS名稱是一個長度為16個字元的字元串。MS網絡中用到NetBIOS名稱的地方有:計算機名,域名,工作組名。
NetBIOS 計算機名:nick-os
DNS主機名:nick-os.mydomain.net
計算機全名:加不加域不一樣
不加域時:nick-os
加入域後:nick-os.mydomain.net
全域名 (Fully Qualified Domain Name, FQDN) 或 DNS名稱。
nick-os.mydomain.net
(沒有加入域時,就沒有什麼 “全域名”和 “DNS名稱”)
如何檢視目前機器注冊的NetBIOS名稱:
通過NetBIOS名稱來解析IP位址
主要有下面三種方式:
1. 檢視NetBIOS名稱緩存區
我們也可以通過指令來檢視目前的NetBIOS名稱緩存區:
2. 通過廣播的方式搜尋對方的IP位址(應盡量避免使用這種方式)
3. 直接向WINS伺服器查詢
NetBIOS節點類型
上面的三種方法都可以解析到IP位址,但究竟會用哪一種呢?
這取決于計算機采用的NetBIOS節點類型(node-type):
B-node: 廣播方式
P-node: 直接向WINS伺服器查詢
M-node: B與P的混合方式(mixed),先廣播,若失敗,再向WINS伺服器查詢
H-node: 也是B與P的混合方式(hybird),但是先向WINS伺服器查詢,若失敗,之後才廣播
檢視 NetBIOS節點類型:
采用H節點的WINS用戶端,其NetBIOS名稱解析的完整順序為:
1. 檢查要查詢的計算機名稱是不是自己的計算機名稱。
2. 檢查NetBIOS名稱緩存區。
3. 向WINS伺服器查詢。
4. 發出廣播消息。
5. 檢查LMHOSTS檔案。
6. 檢查HOSTS檔案或向DNS伺服器查詢。
LMHOSTS檔案和HOSTS檔案存放于 “%systemroot%\system32\drivers\etc”目錄下。