当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于NetBIOS协议的网络通信系统的设计与实现

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字节以内。

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

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
bListen             Call 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指定的地址,读网络控制块信息,从而得知有关操作信息。下面是网络控制块的格式及所对应的结构定义。

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

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭