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地址,完成解析;如果不成功,转向下一步: