NetBios通信程序设计基础

2008-04-09 04:02:44来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  摘要:随着计算机网络的飞速发展,各种网络协议应运而生。Windowst和Win95的用户越来越多。基于微软产品的网络协议主要以NetBios为主,本文就PC机网络Windows平台为例介绍NetBios协议编程。

  关键词:Windows,NetBios协议,LAN
 
  1. 概述:

  NetBios是PC机网络中用得最为广泛的网络协议之一,大多数的局域网(LAN)产品,如Microsoft LAN Manager,Novell NetWare和Banqan Vines都支持NetBios。因此,将NetBios作为网络协议的优点是:基于NetBios网络应用程序并不需修改便能在其它各种网络环境下运行,用户将享受到极大的灵活性,既使改用了其它网络也能继续使用原先的应用程序,避免了重复投入。本文就NetBios协议及Windows下NetBios的编程作些探讨。
 
  2.NetBios原则:

  NetBios(NetWork Basic Input Output System,即网络基本输入输出系统)规格说明最初是由IBM定义的,现已成为网络应用程序的事实标准。但是,术语“NetBios”现仍用来代表下面三个概念:

  ·网络通信开放系统互连(OSI)模型中的会话层

  ·用来在会话层和更高层之间传递数据和命令的协议

  ·由特定的程序设计接口组成的协议的实现
 
  NetBios提供了会话层

  NetBios提供了OSI模型的会话层接口(有关OSI模型的详细介绍,参见IBM局域网技术参考手册)。OSI是由OSI(International Standards Organization,国际标准化组织)提出的参考模型。该模型按层次抽象出了网络软件和硬件,它建立在两个简单的概念上。第一个概念是同层通信,即每一层都假定它正同远程机器上的对应层进行通信。也就是说,每一层都不知道远程机器上其他层的情形,它只管同远程机器上对应层按照标准的或协商好的协议进行通信。第二个概念是网络中的每一层为其上一层提供服务。每一层都提供了一系列上一层的接口,但隐藏了实现细节。一台机器上的所有层加在一起,便成了一个栈。

  同层通信是通过数据封装实现的。发送数据时,第一台机器上栈中的每一层(服务请求者)都将要发送的数据组织成一帧,并将其传给低一层(服务提供者),帧中含有只有第二台远程机器上对应层才明白的头信息。第二台机器上的对应层接收到一帧后,将读取其中含有的头信息并进行解释,再据此进行相应的控制。最后,对应层将从帧中去掉头信息,还可能将包中的其余内容传送给上一层,如图所示:
 
  每一层都可为上一层提供连接式服务或非连接式服务。连接式服务类似于打电话的两个人都不知道居于其间的电话网的电话连接,提供给他们使用的是“虚连接”,信息就在虚连接上来回传递,并且秩序井然,全无差错。也就是说明,连接式服务提供了发送方和接收方之间的虚电路。

  而非连接式服务则类似于邮政服务所采用的方法。在这种方法下,每一封信都是独立地送达接收方,彼此之间没有关系。事实上,在同一时刻发出的寄往同一个收信人的两封信,其传递路线可能截然不同。非连接式服务提供了“数据表”(datagram)服务。每一个数据表包在网络中的传递方式都是独立的,不受下一包或上一包的影响。

  下面摘要列出OSI模型每一层的功能,具体如下:

  ·物理层负责通过物理通信介质,如微波、双绞线或同轴电缆等,传送数据。网络的拓扑结构也是物理层的一部分。在物理层上传送数据可能会发生差错,差错检测和修正服务由较高层提供。

  ·数据链路层在物理层上传送数据,并通过差错控制方法达到传送无差错的目的。

  ·网络层负责决定完整的网络传送路线,通信双方要么是同一LAN中的两个通信站,要么是不同网络中的两个通信站。

  ·传输层为会话层提供了“一端到另一端”或“源到目标”式的数据传输信道,隐去了网络本身的细节。它能将一个数据包分成多个包,以适应网络层的限制。它还能将在同一物理信道上传输的多个数据流组合起来。

  ·会话层为两个通信处理(位于表示层上),提供了“会话能力”。它首先通过传输层服务连接到远程处理上,然后再为上一层管理会话。因此,尽管传输层可能只提供非连接式服务,但会话层能为上一层提供连接式服务。简而言之,NetBios提供的就是会话层服务。

  ·表示层主要与数据的表达与变换有关,其作用是使数据能在不同平台上来回传送(例如,在Digital VAX系统和IBM System/360间来回传送)。

  ·应用层含有的是诸如FTP或Telenet之类的应用程序,这些应用程序要使用其他层提供的服务。

  OSI模型勾勒出了复杂网络的框架,它能用来连接任何两台或更多台计算机。大多数个人机和UNIX工作站都彼此相连,构成了一个个局域网。但是,目前的大多数局域网都采用了修改后的OSI模型。对于OSI模型的最底两层,它们采用的是ANSI/IEEE 802-1995标准,甚至是更为简单的802标准。该标准先是被ISO采纳,后又批准作为国际标准(ISO 8802:1989)使用。图比较了802标准和OSI模型的最底两层。(ANSI代表美国国家标准化学会,IEEE代表电子电气工程师学会)

  802标准实际上是一个标准集,其中每一个标准都详细描述了通用局域网的一个特定部分。综合介绍802标准的部分称为802.1,它包括了所有802标准。802.2标准称为逻辑链路控制(LLC)标准,它为在两个网络中的物理站之间建立“逻辑”链路而定义了低层协议。网络拓扑结构由介质访问控制(MAC)层定义,具体可定义成CSMA/CD,Token Bus或Token Ring,这三者在802标准中分别称为802.3,802.4和802.5。Ethernet是一种很流行的CSMA/CD拓扑结构,它兼容于802.3标准。对应于802.X标准ISO已经相应发布了8802.X标准。虽然802标准没有定义数据链路层以上的各层,但是,事实上存在着一个标准,该标准就是NetBios,它定义了一个协议,并提供了会话层服务。
  NetBios协议

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:DirectShow编程之Filter原理

下一篇:全面解析IIS