浅谈netbios及其相关内容

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/141086

       Netbios想必大家都有接触。对于netbios的理解,我以前有很多困惑,不知道如何掌握这些知识点,这几天通过了一段时间的实验和学习,有了一些体会,和大家一起分享。

 

阅读本文,你可以了解到以下内容

 

◆netbios的来龙去脉

◆netbios名和计算机名的关系

◆netbios名的存在依据

◆netbios名和IP地址解析的4种方式

◆如何查看本机netbios缓存

◆netbios和netbeui的关系

 

一、来历

       用几句简单的话来概括netbios的来由,毕竟了解一个事物,我们不能摈弃它的历史,尽管可能很久远。跳过这步,即使明白了,我想这也是不完整的。

       Netbios,到底是协议还是接口?不同的出处可能因侧重点不懂而不尽相同。我们一起来刨根问底,NetBIOS是什么?是一种协议。什么协议?是一种在局域网上的协议。谁来用呢?是局域网的一些应用程序(软件)。这些应用程序需要通过某种手段或者途径协同合作才能实现或完成某种操作或目的,他们运行的基础平台是什么??  是小型的局域网内的网络,也就是小型局域网。基础平台有了,如何去区分或者标记他们呢? 那就需要给每个应用程序打上标签,命名,否则就会混乱不堪。

好,重点来了,这个工作谁来完成,netbios应运而生。它就是这样一种东西。

简而言之,NetBIOS是一种在局域网上的应用程序可以使用的应用程序编程接口,

       最早由Sytec Inc在1983年为IBM开发。微软把netbios作为一种高级程序接口来标识网络上的每个资源,它的长度是有限的,仅仅16个字符位。现在的2000/2003系统中依然存在,只是集成到Tcp/IP协议中,即Netbios over Tcp/IP,也称之为NetBT。可能有朋友要问了,我们平时用计算机名对一台电脑进行标识,那这个和netbios名称有什么关系呢?恩,好问题! 之前已经提到过,netbios名的字符长度为16位,前15位由用户指定,第16个字符用来标识名称后缀。其实,前15位和我们现在用的计算机名是一模一样的,没有什么区别,只是计算机名的最大长度是63个字节而已。

 

二、Netbios的存在形式

      尽管在win2000以后就不再独立支持netbios了,但依然存在于windows系统中。我们来找找看。为了保证最大的系统兼容性(主要是为了照顾98/NT系统),netbios以两种形式存在。

1、第一种

我们可以打开网卡的TCP/IP属性设置界面,

1.jpg

点击右下方的【高级】,如下图:

2.jpg

下方的红框内就是netbios的一种体现形式,我们可以手动开启或关闭。

主要运用于2000、xp 等客户端系统上,当然2000adv ser、2003 ser也有。

2、第二种

为了实现netbios名称解析和提高解析效率,微软开发了WINS,它是专门来负责netbios名称解析的一种网络服务。这也就是netbios的第二种体现方式,我们把netbios的名称解析服务简称为NBNS,即NetBIOS Name Server。

 

三、Netbios名和IP地址解析的4种查询方式

      我们再来谈一谈netbios的解析。解析,我们可以理解是一种对应关系,就是netbios名和计算机ip的对应关系。 有一点要先说明,当我们的网络上的各类资源通过netbios进行通信时,那我们就说这种通信是基于NetBIOS名的,而不能基于IP地址。netbios既是一种接口,也是一种协议,而TCP/IP是一类协议簇,在此之上通信的基础就是IP地址。netbios名和ip地址混合存在,必定会涉及到相互解析的问题。

那由谁来完成这项任务呢?通常有几种不同的查找方式:

1、netbios广播

在本地网络上发送广播信息,查找某个netbios名对应的IP地址。这种方式也可以用来注册自己的NetBIOS名,因为当netbios主机启动的时候就会向整个网络通告自己当前的NetBIOS名,如果已经有其他计算机使用了这个名字,这个计算机就会收到错误信息。

2、本机缓存

支持NetBIOS的计算机都维护一张NetBIOS名和相应IP地址的列表。当有解析请求时,通过对应自己的缓存表来查找IP地址。

我们还可以通过nbtstat -c 这个命令查询本机的netbios缓存表。

下面是一个查询的实例,

3.jpg

3、NetBIOS名字服务器

也就是NBNS,NetBIOS Name Server(s))。在windows中,NBNS的具体体现就是WINS。通过WINS服务来实现netbios名到ip地址的解析。

4、Lmhosts文件

这个文件位于C:\WINDOWS\system32\drivers\etc下,与hosts文件在同一路径。windows可以通过查询lmhos ts来判断NetBIOS名和IP的对应关系。

 

四、Netbios和Netbeui协议

 

      什么是Netbeui呢?即NetBIOS Extend User Interface,由IBM于1985年提出的一种传输协议,而NetBIOS仅仅是通过一组命令来让系统或程序使用网络而已。所以严格意义上将,Netbeui才算得上是一种真正早期的小型局域网协议。以前的不少程序都需要运行在netbeui的基础只上,当然自动TCP/IP大规模应用起来以后,这类协议就很少被使用,只是作为一种补充协议存在,新装的XP没有默认被安装,关于安装netbeui协议,网上有很多教程可以参考,所以这里就不作讨论了。

     欢迎指正,谢谢大家。

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/1651

(1)
上一篇 2015-03-26 08:35
下一篇 2015-03-26 10:00

相关推荐

  • 文本三剑客之sed

      文本处理三剑客:    grep,egrep,fgrep:文本过滤器    sed:stream  editor,流编辑器,是一行一行处理的    awk :文本格式化工具,报告生成器     sed工作方式:它是读一行的文本…

    Linux干货 2016-08-15
  • 配置Nginx作为反向代理服务器

    配置Nginx作为反向代理服务器      一、nginx作为反向代理的工作模型: 1、nginx作为反向代理的工作模型       nginx工作在应用层,其能理解并可以提取出http请求报文中的首部信息中的请求方法、url、http协议版本等信息。   &…

    Linux干货 2016-10-29
  • shell脚本执行

    shell脚本执行 对于我们这些小白而讲,shell脚本无疑是最令人头疼的事了,我再这里讲一下shell脚本运行要注意的哪些。 shell脚本就好像c++,java代码一样,按照从上到下然后从左到右的顺序执行。就像我们日常读书一样。如果shell命令遇见了子进程(嵌套代码),程序就会跟着顺序进入子进程。当子进程完成后,回到父进程,并且把父进程所需要的参数提交…

    2017-06-05
  • 系统基础之shell脚本编程详解2

    shell脚本编程2:   在上节我们介绍了shell脚本编程,但只是介绍了基础的内容,下面将为大家介绍shell的脚本的高级用法,判断与循环.判断分为两种:if语句和case语句;循环分为三种:for语句,while语句,until语句,select语句 判断语句:  在脚本的编写中,我们要使用大量的数据和命令,但对于使用的数据,我们要…

    Linux干货 2016-08-19
  • 系统启动及恢复

    一、知识整理 1、modinfo命令:显示模块的详细描述信息: -n 只显示模块文件路径 -p 显示模块参数 -a auther -d description -l license协议 modprobe命令:装载或卸载内核 -r卸载内核,同rmmod 配置文件:/etc/modprobe.d/*.conf depmod命令:内核模块依赖关系文件及系统信息映射…

    Linux干货 2016-09-22
  • 马哥linux运维第一天感受

    101个人的大家庭

    Linux干货 2018-03-26