在不少有关于NetBIOS的问题中,我们总是能看到NetBIOS名字的词语。那么什么是NetBIOS名字呢?它又存在着那些不安因素呢?现在就让我们来详细看看。首先,我们要理解一下NetBIOS名字解析的概念。
NetBIOS名字解析
NetBIOS名包含的内容:
NetBIOS名——即计算机名称,用来标识独立的用户或计算机。独立的NetBIOS名是工作组的成员,它们属于一个默认的工作组或由用户自定义可以加入一个自选的工作组。
工作组名——用来标识某个工作组的成员。
域名——同工作组名一样,域名也是一种NetBIOS组名,它是通过域控制器来标识、证实其成员的。但在域名服务中这两者被认为是一样的,这也就是在“网络控制面板”的属性的“标识”页框中只有计算机名、工作组、计算机说明等项目而没有“域名”的原因。
NetBIOS名的登记:
NetBIOS在小型网络中登记名字的方法是广播。NetBIOS名字服务提供的功能有:自动登记名字、查询名字、响应名字查询、在关机时释放名字等,但它并不需要专门的名字服务器,甚至可以通过直接通信来进行名字登记。
NetBIOS名字的解析方法(绑定协议为TCP/IP)
1、NetBIOS名字缓存——本地的名字缓存通过预先加载或地址解析而将地址在存放在客户机的内存中。其优点是从缓存中查询名字的速度特别快,缺点是缓存中每条记录的生存周期只有10分钟,需要不停的刷新。
2、广播查询——如果名字在缓存中不能被查询到,同时系统没有配置WINS服务器,系统就使用UDP端口137和138的NetBIOSDatagramDistributionService(NDDS,中文意思就是NetBIOS数据报分布服务)来进行查询。本地网上的计算机在网络中搜索它们的名字列表,如果目标主机在同一网络中,就发出一个响应。缺点是NDDS服务不能通过路由器,只能在单段网络上使用广播查询。
3、WINS——这个我们已经做了专门的介绍,客户机通过配置使用WINS服务器来登记和撤消自己的名字。其优点是可以指引UDP端口137和138的消息通过路由器,使得可以查询本地网以外的主机。
4、LMHOSTS——这与我们讲到的名字缓存有关了。LMHOSTS是一种在存储在本地机器上的纯文本的主机文件,采用的是LANManager格式。其一般是在广播查询失败后才用到,其方法是通过标记#PRE将LMHOSTS名预先加载到本地的NetBIOS名字缓存,以避免使用广播查询用到的主机名。
这里我们同时看看Windows系统中用到的另外两种名字解析方法:
1、HOSTS——HOSTS也是一种在存储在客户本地机器上的纯文本主机文件,但采用的是UNIX格式。同样是在广播查询失败及LMHOSTS查询失败后才用到。其优点是可以存储别名和全域名,其缺点是不支持Tag操作。
2、DNS——这一点我们也已经做了专门讲述了。如果客户机允许“启动DNS”来进行Windows名字解析,客户机在上面的所有查询操作都失败后将查询DNS服务器。
我们可以看出这两种解析方式是一种域名查询方式,一般说来它们用于IP主机名的解析。