Netbois(网络基本输入/输出系统)最初由IBMSytek作为API开发使用户软件能使用局域网的资源自从诞生Netbois成为许多其他网络应用程序的基础严格意义上Netbios是接入网络服务的接口标准 Netbios原来是作为THE网络控制器为IBM局域网设计的是通过特定硬件用来和网络操作系统连接的软件层Netbios经扩展允许程序使用Netbios接口来操作IBM令牌环结构Netbios已被公认为工业标准通常参照Netbioscompatible LANs 它提供给网络程序一套方法相互通讯及传输数据基本上Netbios允许程序和网络会话 它的目的是把程序和任何类型的硬件属性分开它也使软件开发员 可以免除以下负担开发网络错误修复低层信息寻址和路由使用Netbios接口可以为软件开发员做许多工作 Netbios使程序和局域网操作能力之间的接口标准化有它们可以将程序细化到为osi模型的哪一层所写使程序能移植到其他网络上在Netbios局域网环境下计算机通过名字被系统知道网络中每台计算机都有通过不同方法编的永久性名称这些名称将在下面做进一步讨论 通过使用Netbios的数据报或广播方式在Netbios局域网上的pc机建立会话彼此联络会话允许更多的信息被传送探测错误和纠正通信是在一对一的基础上的数据报或广播方式 允许一台计算机和多台其他的计算机同时通信但信息大小受限使用数据报或广播方式没有探测错误和纠正然而数据报通信可以不必建立一个会话 在这种环境下所有的通信以一种称为网络控制块的格式提交给NetBIOS内存中这些块的分配依赖于用户程序这些网络控制块分配到域中分别为输入/输出保留 在当今的环境中NetBIOS是使用很普遍的协议以太网令牌环IBM PC网都支持NetBIOS 在它原始版本中它仅作为程序和网络适配器的接口从那以后传输类功能加入NetBIOS使它功能日益增多 在NetBIOS里面向连接(tcp)和无连接(udp)通信均支持它支持广播和复播支持三个分开的服务命名会话数据报 [] NetBIOS 名称 NetBIOS名称用来在网络上鑒别资源程序用这些名称开始和结束会话你能用多个程序配置一台单独的机器每个程序都有独特的NetBIOS名称每台支持应用的pc机也有用户定义或通过内部方法获得的NetBIOS站名 NetBIOS能包含至多个阿尔法数字字母在整个资源路由网络里字母的组合必须独特在一台使用NetBIOS的pc机在网络上能完全工作起来之前pc必须先登记NetBIOS名称 当客户端活跃时客户端广播它的名称当它成功广播自己并没有其他人和它重名客户端就登记成功登记过程如下 在登陆上客户端在所有地方广播它自己和它的NetBIOS信息到次确保其他网络成员收到信息 如果有客户端A已用此名客户端A发布它自己的广播包括它正在使用的名字请求登陆的客户端停止所有登记的企图 如无其他客户端反对登记请求登陆的客户端完成登记过程 在NetBIOS环境中有两类名称独特的和集合的独特的名称必须在网络中独特集合的名称不必在网络中独特所有同名过程属于同一集合每个NetBIOS节点包含一张该节点当前使用名称的表 NetBIOS命名允许个字母用在NetBIOS名称中而微软只允许个字母用在NetBIOS名称中第十六个为NetBIOS后缀NetBIOS后缀用在Microsoft Networking 软件中区别安装的功能登记的设备和服务 [注意smb 和nbt(在tcp/ip上的NetBIOS)紧密的工作在一起且都使用端口 端口是NetBIOS名称UDP端口是NetBIOS数据报UDP端口是NetBIOS会话tcp进一步的NetBIOS信息看rhino网站上所列文章] 以下是Microsoft WindowsNT目前使用的NetBIOS后缀表后缀是进制 名称 数字 类型 用途 ========================================================================= = U Workstation Service U Messenger Service <\\_MSBROWSE_> G Master Browser U Messenger Service U RAS Server Service F U NetDDE Service U File Server Service U RAS Client Service U Exchange Interchange U Exchange Store U Exchange Directory U Modem Sharing Server Service U Modem Sharing Client Service U SMS Client Remote Control U SMS Admin Remote Control Tool U SMS Client Remote Chat U SMS Client Remote Transfer C U DEC Pathworks TCPIP Service U DEC Pathworks TCPIP Service U Exchange MTA A U Exchange IMC BE U Network Monitor Agent BF U Network Monitor Apps U Messenger Service G Domain Name B U Domain Master Browser C G Domain Controllers D U Master Browser E G Browser Service Elections C G Internet Information Server U Internet Information Server [B] U Lotus Notes Server IRISMULTICAST [F] G Lotus Notes IRISNAMESERVER [] G Lotus Notes Forte_$NDZA [] U DCA Irmalan Gateway Service 独特的(u)该名仅有一个IP地址分给它在网络设备中一个名称的多次出现看来会被登记但后缀是唯一的使整个名称唯一 集合的(g):普通集合一个名称可有多个IP地址 多址的(M):名称是唯一的但由于在同一计算机上有多个网络接口这种配置应该被允许登记 地址的最大数目是 Internet集合(I):这是组名的特殊配置用在操作WINDOSNT的域名 域名(D):在NT中新引进的 为了快速浏览一台服务器上登记的NETBIOS名称和服务用以下命令 nbstat a [ipaddress] nbstat a [host] [] NetBIOS 会话 NetBIOS 会话服务提供给用户程序一种面向连接可靠的完全双重的信息服务NetBIOS要求一个是客户端程序一个是服务器端程序NetBIOS会话的建立需要双方预定的合作一个程序必须先发出listen命令其他程序才可以发出call命令listen命令参考在它的NetBIOS名称表中的名称(或windows服务器中的)也参考用于作为会话另一端的远端程序的名称如果聆听者不在聆听call命令将不会成功如果call成功各程序将接到会话id以作为会话建立的确认 send和receive命令操作传输数据在会话最后各程序将执行挂起命令没有为会话服务的实际流控制因为假定局域网足够快能够传输需要的数据 [] NetBIOS 数据报 数据报可以发送到特定的地点或组中所有成员或广播到整个局域网与其它数据服务相比NetBIOS 数据报是无连接非可靠的Send_Datagram 命令需要调用者设定目的名如果目的名是组名组中每个成员都收到数据Receive_Datagram 命令的调用者必须确定它接收数据的本地名除了实际数据外Receive_Datagram也返回发送者的名称如果NetBIOS收到数据但却没有Receive_Datagram 命令在等待数据将被丢弃 Send_Broadcast_Datagram 命令发送信息给本地网上每个NetBIOS系统当NetBIOS节点收到广播数据 发Receive_Broadcast_Datagram 命令的每个进程都收到数据如果当广播数据被收到时没有这些命令在运行数据将被丢弃 NetBIOS使应用程序能和另一个设备建立会话使网络转发器和处理协议处理收到发送到另一台机器的 请求NetBIOS实际上不操作数据NetBIOS定义规定了用来到达这些服务的协议的网络接口而非协议 本身历史上NetBIOS曾与叫做NetBEUI的协议(网络扩展用户接口)捆绑接口和协议的结合有时引 起混淆但它们是不同的 网络协议为定位连接到网络上特定的服务提供至少一种方法这通常由将节点和服务名转化为网络地址 (名称解析)完成在连接用TCP/IP建立前NetBIOS服务名必须解析成IP地址大多数NetBIOS的TCP/IP实现用广播或LMHOSTS文件完成名称地址的解析在Microsoft环境中你最可能使用叫做WINS的NetBIOS名称服务器 [] NetBEUI 解释 NetBEUI是网络操作系统使用的NetBIOS协议的加强版本它规范了在NetBIOS 中未标准化的传输帧还加了额外的功能传输层驱动器经常被Microsofts LAN Manager(微软局域网操作器)使用NetBEUI执行OSI LLC 协议NetBEUI是原始的PC网络协议和IBM为LanManger(局域网操作器)服务器设计的接口本协议稍后被微软采用作为它们的网络产品的标准它规定了高层软件通过NetBIOS帧协议发送接收信息的方法本协议运行在标准数据链协议层上 [] NetBIOS 范围 NetBIOS范围ID为建立在TCP/IP(叫做NBT)模块上的NetBIOS提供额外的命名服务NetBIOS范围ID的主要 目的是隔离单个网络上的NetBIOS通信和那些有相同NetBIOS范围ID的节点NetBIOS范围ID是附加在NetBIOS名称上的字符串两个主机上的NetBIOS范围ID必须匹配否则两主机无法通信NetBIOS范围ID允许计算机使用相同的计算机名不同的范围ID范围ID是NetBIOS名称的一部分使名称唯一 |