赞
踩
这段时间,我在学习的时候总看到NetBIOS的身影,不知道是什么,但感觉很厉害的样子。所有今天打算着重学习一下,简单地了解一下这是个什么玩意。
要了解一个东西,从它是如何诞生的开始切入都是不错的
IBM在局域网中,为他们的大型主机开发了IBM系统网络架构(SNA)。但这套系统过于复杂, 不适用于个人计算机,IBM雇用了Sytek Inc,为他们开发新的IBM PC Network, 以适用于个人计算机组成的局域网。 1983年,Sytek Inc开发了一套软件API,使用在IBM PC Network局域网中。 NetBIOS(Network Basic Input/Output System,网络基本输入/输出系统)是Sytek Inc公司在1983年为IBM PC开发的一种应用程序编程接口(API)。它最初被设计用于使IBM PC和其他计算机之间能够进行通信。 1984年,IBM授权开放这套标准的API给外界使用,用来与IBM计算机进行网上链接。 1985年,IBM开发令牌环(token ring)网络,为了让旧有使用NetBIOS API的软件能在新的网络架构上 运作,创建了NetBIOS模拟器,这个模拟器被称为NetBIOS延伸用户界面 (NetBIOS Extended User Interface, NetBEUI), 扩展了原有的 NetBIOS API。同时,也制定了NetBIOS Frames协议, 让NetBEUI能够在token ring网络上提供服务,特别是在IEEE 802.2LLC层。 1986年,Novell发表NetWare2.0,将NetBIOS实现在其中。Novell让NetBIOS运作在IPX/SPX协议上, 提出了NetBIOS over IPX/SPX协议。 1987年,出现将NetBIOS封装为TCP与UDP数据包的技术,IETF随后发布RFC 1001与RFC 1002, 将它制定为标准,这套标准被称为NetBIOS over TCP/IP,简称为NBT。 在PS/2计算机上市之后,IBM发布了PC LAN支持程序,在其中包括了NetBIOS驱动程序。
NetBIOS,为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,NetBIOS不是一种网上协议,而是应用程序接口(API)。较古老的操作系统,使用IEEE 802.2与IPX/SPX协议,可以使用NetBIOS Frames协议或NetBIOS over IPX/SPX协议来运作。现代操作系统,多数都使用TCP/IP协议,则可透过NetBIOS over TCP/IP协议来相互通信
简单地说,所谓NetBIOS就是一个在会话层的API,该协议的目的就是让不同计算机(主要指Windows,Linux与unix可以通过额外安装软件来实现,但兼容性不理想)在局域网之中实现连接,得以分享数据。很多应用程序基于NetBIOS来实现计算机之间的通信。 其实就是提供了一个很好的统一实现通信的标准,只要按照这个标准编写程序,通过这个程序,计算机之间就能实现通信与数据的分享。
NetBIOS说得更加具体一点就是,一组网络编程的API,同时支持可靠的面向连接与不可靠的无连接的通信。是不是有人感到了一些熟悉,如果了解socket网络编程的朋友应该就有一种会心一笑的感觉。
以下是NetBIOS简单的工作流程:
其实,NetBIOS可以算是socket网络编程的前辈(因为NetBIOS基本已经过时了,有更好的技术来代替它),从以上典型的流程就可以看出现在的socket有不少NetBIOS的影子。现在NetBIOS还存在的原因也只有为了兼容以前已经编写好的且还可以使用的程序。
为什么是现在呢?因为现在的常见的NetBIOS基本指NetBIOS over tcp/ip,就是NetBIOS over tcp/ip(会话层)下面的网络层是用tcp/ip来实现的。另外,传统的NetBIOS使用NetBIOS Frames协议(NBF),是一种非路由网络协议(这个具体是什么我也不清楚,至少已经不多见了),位于传输层。
NetBIOS(网络基本输入输出系统)提供了一组网络服务,包括名称服务(NBNS)、数据报服务(NBDS)和会话服务(NBSS)。这些服务在网络中扮演着重要的角色。
今天我简单地了解了什么是NetBIOS(不涉及具体的技术),它是如何产生的以及其作用是什么。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。