NetBIOS協議的節點類型
我們都知道NetBIOS的應用很多,問題也不少。那么針對它使用中的節點問題,我們今天就來詳細介紹一下。首先讓我們來了解一下都有哪些NetBIOS節點類型。
NetBIOS協議節點類型
這里有一個術語叫nodedesignation,中文意思我認為就是節點指定,它主要用來表明某計算機節點解析計算機名稱及地址的方法。每個NetBIOS計算機都有一種節點類型,共有四種節點類型對應于四種解析方法:
B節點——只使用廣播方法。該類型的節點在本地子網上使用廣播消息來發現位于同一子網中的計算機。
廣播節點( B節點)只通過廣播數據報來解析LAN子網中計算機名和地址,即它的有效范圍只是它所在的子網。其工作方式是:客戶機發送一條廣播消息到其所在的局域子網上,這條消息包含有要查找的計算機的IP地址和其本身的MAC地址。由于使用廣播方式,則該網上的所有計算機都會接收到,如果該數據報中所要求的地址的計算機存在,則它就會根據包含在此數據報中的發出該消息的計算機的MAC地址作出回應。這樣,計算機就會把經常用到的MAC地址緩存起來,通過這些地址實現與遠程計算機的直接通信。
采用 B節點方式的缺點:1、增大網絡上不必要的通信流量,形成大量的廣播消息泛濫。2、大多數路由器不會轉發這些廣播,阻止了 B節點解析路由器另一邊的計算機,即 B節點不能查找到其所在子網以外的計算機地址。
解決的辦法:
1、采用WINS服務器可以減少通信流量。
2、采用一個LMHOSTS或HOSTS文件將路由器另一邊的計算機的地址存入本地NetBIOS名字緩存,避免通過廣播查找。因此,一個完整的NetBIOS B節點解析方式可作如下描述:
1、通過NetBIOS名字緩存進行查詢,如果成功,返回一個IP地址,完成解析;如果不成功,轉向下一步:
2、通過廣播進行查詢,如果成功,返回一個IP地址,完成解析;如果不成功,轉向下一步:
3、通過本地LMHOSTS和HOSTS文件進行查詢,無論成功與否都結束解析。
P節點——只和名字服務器使用點對點通信。該類型的節點使用服務(如WINS服務器)來進行查詢以獲取要解析的地址。
P節點不是用廣播來解析名稱的,它通過點對點通信由UDP的數據報和TCP對話登記到一個NetBIOS名字服務器(WINS),因此,它會直接向這臺服務器查詢以進行地址翻譯,然后再直接將信息發送到目的計算機。因此,P節點的好處就是減少了本地廣播的數量,同時可以跨過路由器與位于其它子網中的WINS服務器進行通信。
采用P節點方式的缺點:
1、客戶機在配置時為P節點時必須知道WINS服務器的IP地址。
2、配置P節點還要使用到DHCP服務器。
3、如果WINS服務器停止服務,P節點也就失去解析名稱和翻譯地址的能力。
M節點——先使用廣播,再點對點通信。該類型的節點在LAN上發送廣播消息來查找另一臺電腦,如果沒有回應或查找失敗,就轉為使用P點節方式繼續查詢。它向名稱解析服務器注冊自己的名稱時也是用的廣播消息。
M節點先使用廣播,在解析失敗后就直接和WINS服務器通信,因此,它是前面講的兩種方式的組合。在實際應用中很少配置計算機為這種節點類型,這樣的***好處是在一個遠程沒有WINS服務器的廣域網節點所需的大多數服務都在一個子網,即通信都發生在同一子網中,它可以減少路由器的信息傳送量。同時,即使WINS服務器停止服務,它還可以使用廣播方式來查詢本地子網中的計算機。
H節點——先使用點對點通信,然后使用廣播。該類型的節點使用NetBIOS名稱解析服務來進行注冊或解析,如果無法連接到名稱解析服務器(如WINS服務器)則再轉為使用 B節點方式繼續查詢。
H節點如我們上面的測試中所示,在Windows9x中它被稱為交叉節點,而在實際應用中,它也被稱為混合節點。它與M節點恰好相反,它先使用P節點方式請求WINS服務器解析計算機名,如果這種方式失敗,它再使用廣播方式來解析。
因此,H節點與 B節點的不同是, H節點可以通過路由器解析在同一個WINS服務器上登記的所有計算機。
H節點與M節點的不同是,如果其配置的WINS服務器沒有在線, H節點在解析過程中也繼續與其聯系,即是說,只要該WINS服務器重新開始服務, H節點就會立即改為使用WINS服務器來解析計算機名稱,即使此時它正以廣播方式與目的計算機進行通信。
一個完整的NetBIOS H節點解析方式可作如下描述:
1、通過NetBIOS名字緩存進行查詢,如果成功,返回一個IP地址,完成解析;如果不成功,轉向下一步:
2、通過WINS服務器進行查詢,如果成功,返回一個IP地址,完成解析;如果不成功,轉向下一步:
3、通過廣播進行查詢,如果成功,返回一個IP地址,完成解析;如果不成功,轉向下一步:
4、通過本地LMHOSTS和HOSTS文件進行查詢,無論成功與否都結束解析。