当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]在有文件服务器存在的计算机网络系统中,要实现PC机之间的通信或信息交换,一般是由一个工作站把信息写入文件服务器,然后由另一个工作站去读取,这是工作站之间信息交换的一种方式,但不是最佳、最方便的方式。因为使用文件服务器,速度慢、需占用硬盘空间,还要经常对文件系统进行维护、管理等等。而且用户对文件系统的访问权也受到权限等因素的限制,更重要的是服务器的存在,提高了网络系统的成本及造价。所以,在很多情况下采用Net-BIOS支持下的PC机之间直接通信则更为简捷、经济。

1引言

在有文件服务器存在的计算机网络系统中,要实现PC机之间的通信或信息交换,一般是由一个工作站把信息写入文件服务器,然后由另一个工作站去读取,这是工作站之间信息交换的一种方式,但不是最佳、最方便的方式。因为使用文件服务器,速度慢、需占用硬盘空间,还要经常对文件系统进行维护、管理等等。而且用户对文件系统的访问权也受到权限等因素的限制,更重要的是服务器的存在,提高了网络系统的成本及造价。所以,在很多情况下采用Net-BIOS支持下的PC机之间直接通信则更为简捷、经济。

2数据通信与NetBIOS协议

数据通信通常包含以下几项内容:

 一是连接的建立和拆除。即在计算机网络通信中,为使源主机与目标主机进行通
信,通常通信前先在它们之间建立连接,即建立一条由源主机到目标主机的通信线路,在通信结束时拆除已建立的连接。

二是数据传送控制。也就是在通信双方建立起连接之后,利用该连接传送用户数
据。另外还有错误的检测及处理等。

NetBIOS(NETWORK BASICINPUT/OUTPUTSYSTEM)网络基本输入/输出系统,是一种用于计算机之间进行通信的专用程序,是计算机网络通信中的重要协议之一。它支持TCP/IP、MAP/TOP、IEEE和OSI等协议,而且NetBIOS正迅速成为不同操作系统环境下普遍使用的编程平台。NetBIOS基本概念包括NetBIOS名字、NetBIOS命令、NetBIOS通信方式等,下面分别给以说明。

NetBIOS名字:NetBIOS是一种按名字工作的系统,每个网络工作站都有一个名字。由NetBIOS保留一张名字表,每个名字由16字符组成,在进行通信时,信息的源地址和目的地址都是用名字来表示的。

NetBIOS命令:NetBIOS的功能是由一系列命令完成的。NetBIOS命令返回方式有两种WAIT和NO_WAIT。前者要等到命令完成之后,才返回你的程序,后者则立即返回你的程序,并带回“立即返回代码”,待命令执行完时又返回一个“最终返回代码”。

NetBIOS通信方式:NetBIOS有两种通信方式,即数据报通信方式和会话通信方式。数据报通信是一种非面向连接的通信方式,每个数据报中的信息长度必须小于或等于512个字节,而会话通信是一种面向连接的通信方式,信息长度限制在65535字节以内。

3NetBIOS支持下的网络通信系统的设计

3.1正确选择通信方式

我们知道NetBIOS的通信方式有两种,即数据报通信方式和会话通信方式。那么,在通信系统设计时究竟采用哪种通信方式呢?这要根据我们的实际情况,进行具体分析。

由于数据报通信时,把每一个报文作为一个独立的数据报处理,即各个数据报之间相互独立,单独传送,不用建立和拆除会话连接,所以简单方便、通信速度快。但这种机制在通信过程中不检测信息是否安全到达目的地,系统出现差错时,无出错提示信息,而且每个数据报信息长度受到512字节的限制,所以,数据报通信仅适用于待发送的信息是一系列互不相关的报文及一些简单对话、小数据的场合。

而会话通信方式是在通信之前先在发送方和接收方之间建立会话连接,然后进行会话通信,在会话通信过程中,发出的所有报文都能正确无误地送到目的地。如果发出的报文不止一个,那么通信协议将保证收到报文次序和发送报文次序一致。如果报文在传送过程中发生差错,通信协议会自动地进行重发,加以更正,并有出错信息提示。最后,在送完报文之后撤除会话连接。

由此可见,会话通信过程比较复杂,通信速度较慢,又通信中信息长度限制在65535字节以内,所以,会话通信适于点到点之间多次往复式对话、大数据场合。

数据报通信方式和会话通信方式各自都有优点和缺点。数据报方式适合于小批量的传送数据,可靠性不高,数据传送时易发生错误或丢失,但它的传送过程比较简单,易于实现,易于管理。会话方式可传送的信息量大,可靠性高,但传送过程比较复杂,在发送信息之前先要建立会话连接,信息传送结束后要撤除会话连接,不易于管理。我们在具体设计通信系统时,要根据自己的实际情况、实际要求和实际传送数据量的大小选择合适的通信方式。若A工作站和B工作站之间以数据报文方式通信,步骤如下: 

工作站A工作站B
a增加名字A增加名字B
b发送报文给B接收
c接收发送报文给A
d删除名字A删除名字B


若A工作站和B工作站之间以会话方式通信,步骤如下:

工作站A工作站B
a增加名字A增加名字B
bListenCall A站
c发送报文给B接收报文
d接收报文发送报文给A
eHang up B站Hang up A站
f删除名字A删除名字B

3.2正确选择NetBIOS命令的返回方式

NetBIOS命令的返回方式有WAIT(等待)和NO_WAIT(非等待)两种方式。如果采用WAIT方式,则要等到NetBIOS命令完成之后才返回你的程序。如果采用NO_WAIT方式,那么又可以有两种选择:一种是采用轮询方法,即反复查询网络控制块(NCB)中的最终返回代码字段,当它的值从FF变为00时,表示NetBIOS命令完成,返回用户程序。另一种是将一个POST程序的地址告诉NetBIOS,使NetBIOS在完成命令时唤醒该程序,执行一个指定的程序段。这两种方法都是在后台进行的,它们的主要差别在于对网负荷的影响。例如,A站发出一命令,要求B站执行一项较费时的任务,如果A站采用NO_WAIT的轮询方法,不断地询问对方是否完成任务,这样会大大地增加网络负荷,这时尽管轮询比较容易编程,那也不是一种好的选择。我们在通信系统设计时,要综合各种因素,选择合适的NetBIOS命令返回方式。

3.3分组长度的限制及差错和超时

数据报通信,每个报文长度上限为512字节。会话通信中,每个报文长度上限为65535字节。那么,当我们要传送的数据信息大小超过所规定的限制值时怎么办呢?这时可采用分组处理的办法,按照规定的信息长度限制,将数据分为若干段,对每一段进行一次发送,在接收端再把它们装配起来复原。另一种方法是依照信息长度限制规定来设计一个数据记录的格式,这样每个报文都可安全发送。

无论采用何种方式的通信,通信过程中差错是不可避免的,所以差错处理是必不可少的。当出现差错时,首先要根据差错代码确定差错性质,并做出相应处理,排除错误之后继续执行后面的命令。超时通常是指一个工作站向另一个工作站发出信息到收到对方应答所需时间的超时时限。

引起超时的因素很多,一般是因为网络过于繁忙或接收站故障。

3.4调用NetBIOS功能

在编写通信程序中,要调用一个Net-BIOS功能,必须首先构造一个网络控制块,然后把网络控制块的地址写入ES:BX中,作为指向该控制块的远程地址指针,最后执行5CH中断,使NetBIOS自动进入ES:BX指定的地址,读网络控制块信息,从而得知有关操作信息。下面是网络控制块的格式及所对应的结构定义。

4NetBIOS支持下的网络通信系统的实现

作为NetBIOS支持下的网络通信系统的实现,我们以会话通信方式下双机通信为例。

4.1通信硬件环境要求

两台独立的PC机各自接有网卡,通过一根同轴电缆线将其相连。同轴电缆的两端各接50Ω的匹配器,这样就从物理上连通了两台PC机。

4.2通信软件环境要求

DOS5.0以上版本启动,同时磁盘上应有以下文件:IPX.EXE网络通信协议;NetBIOS协议支持用户程序;TC高级语言环境,用以编写用户通信程序。


4.3通信程序

要实现两台PC机间的双机通信,必须编写NetBIOS支持下的双机通信程序,包括
发送信息程序SEND.C和接收信息程序RECEIVE.C。其程序流程框图如下:

程序略。

这样在两台PC机上分别执行SEND程序和RECEIVE程序,就可将信息从A站(PC1机)上传送到B站(PC2机)上,实现双机通信。

5结束语

实现NetBIOS支持下的计算机网络通信,可使我们更加快速、方便、经济地进行计算机间的数据传送,以达到数据通信与资源共享的目的。通过网络通信,一方面为特定环境下的用户实现计算机间的数据传送提供了重要的支持,另一方面也大大地提高了通信网络的性能。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭