NetBios协议详解及网上邻居工作原理


Netbois(网络基本输入/输出系统)最初由IBM,Sytek作为API开发,使用户软件能使用局域网的资源 。自从诞生,Netbois成为许多其他网络应用程序的基础 。严格意义上,Netbios是接入网络服务的接口标准 。
Netbios原来是作为THE网络控制器为IBM局域网设计的,是通过特定硬件用来和网络操作系统连接的软件层 。Netbios经扩展,答应程序使用Netbios接口来操作IBM令牌环结构 。Netbios已被公认为工业标准,通常参照Netbios-compatible;LANs.
它提供给网络程序一套方法,相互通讯及传输数据 。基本上,Netbios答应程序和网络会话 。它的目的是把程序和任何类型的硬件属性分开 。它也使软件开发员可以免除以下负担:开发网络错误修复,低层信息寻址和路由 。使用Netbios接口,可以为软件开发员做许多工作 。Netbios使程序和局域网操作能力之间的接口标准化 。有它们,可以将程序细化到为osi模型的哪一层所写,使程序能移植到其他网络上 。在Netbios局域网环境下,计算机通过名字被系统知道 。网络中每台计算机都有通过不同方法编的永久性名称 。这些名称将在下面做进一步讨论 。
通过使用Netbios的数据报或广播方式,在Netbios局域网上的pc机建立会话彼此联络 。会话答应更多的信息被传送,探测错误,和纠正 。通信是在一对一的基础上的 。数据报或广播方式答应一台计算机和多台其他的计算机同时通信,但信息大小受限 。使用数据报或广播方式没有探测错误和纠正 。然而,数据报通信可以不必建立一个会话 。
在这种环境下所有的通信以一种称为“网络控制块“的格式提交给NetBIOS 。内存中这些块的分配依靠于用户程序 。这些“网络控制块“分配到域中,分别为输入/输出保留 。
在当今的环境中,NetBIOS是使用很普遍的协议 。以太网,令牌环,IBM;PC网都支持NetBIOS 。在它原始版本中,它仅作为程序和网络适配器的接口 。从那以后,传输类功能加入NetBIOS,使它功能日益增多 。
在NetBIOS里,面向连接(tcp)和无连接(udp)通信均支持 。它支持广播和复播,支持三个分开的服务:命名,会话,数据报 。
[1.0.2];NetBIOS;名称
NetBIOS名称用来在网络上鉴别资源 。程序用这些名称开始和结束会话 。你能用多个程序配置一台单独的机器,每个程序都有独特的NetBIOS名称 。每台支持应用的pc机也有用户定义或通过内部方法获得的NetBIOS站名 。
NetBIOS能包含至多16个阿尔法数字字母 。在整个资源路由网络里,字母的组合必须独特 。在一台使用NetBIOS的pc机在网络上能完全工作起来之前,pc必须先登记NetBIOS名称 。
以下看仔细啦,一台机器开机啦~~他在干嘛??
当客户端A活跃时,客户端A广播它的名称 。当它成功广播自己,并没有其他人和它重名,客户端就登记成功 。登记过程如下:
1.在登陆上,客户端A在所有地方广播它自己和它的NetBIOS信息6到10次(靠,这种办法Who想出来个,馊的 。。。。),确保其他网络成员收到信息 。(假如有机器没有收到,那该机的网上邻居里这个客户端A就隐身了)
2.假如有另一客户端B已用此名,另一客户端B发布它自己的广播,包括它正在使用的名字 。请求登陆的客户端A停止所有登记的企图 。
3.如无其他客户端反对登记,请求登陆的客户端A完成登记过程 。假如有可用的名称服务器,那么名称服务器会在它的数据库里记上一笔,某机的名称是A,IP地址是XXX.XXX.XXX.XXX
4、当A机正常关机时,重新广播释放刚才注册的这个名字,同一网段上的计算机收到后把这个名字在网上邻居里就麻油了 。(靠,晕倒死正常关机 。。。。。不正常呢?别急呀)假如网上有Wins服务器的话,客户机非正常关机一定时间以后,Wins也会注销这个名字 。假如麻油wins服务的话,您就对着网上邻居里的图标撞大运吧~~,当心噢,这时候查询名字肯定是广播~~,假如你网上有个几十台机器,广播个N篇,再等回答

推荐阅读