时间:2023-03-07 15:01:19
绪论:在寻找写作灵感吗?爱发表网为您精选了8篇通信协议,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!
关键词:Modbus; RTU; FPGA; VHDL
中图分类号:TP316 文献标识码:A
文章编号:1004-373X(2010)11-0203-05
Modbus Communication Protocol Based on FPGA
YU Zheng-lin, ZHANG Long, HUANG Yong
(Changchun University of Science and Technology,Changchun 130022,China)
Abstract: Modbus protocol is a popular fieldbus, and has become one of national standards in China with easy perfor-mance, widely opening and compact frame format. A method of implementing Modbus RTU protocol based on Cyclone FPGA is introduced. A interface can be used both in Modbus server and client, a Modbus slave coprocessor was designed based on it. The test results show that the design meets the communication requirement of industry environment, and has certain value in other kinds of FPGA.
Keywords: Modbus; RTU; FPGA; VHDL
0 引 言
现场总线是一种应用于生产现场,在现场设备之间,现场设备与控制装置之间实现双向、串行、多节点数字通信的技术[1]。Modbus协议其节点安装数量非常多,安装的地区遍及世界各地。
今天的FPGA可包含内嵌乘法器、专用计算例程和片上RAM等,加上FPGA的并行性,其结果比最快的DSP芯片还要快上500倍乃至更多。随着FPGA价格不断下降,甚至最小的器件都足以实现一个集成可选定制I/O功能的软处理器核。可见,FPGA对嵌入控制应用越来越具有吸引力[2]。
目前Modbus协议实现方式多为单片机和PLC,随着FPGA的广泛应用,研究Modbus现场总线的FPGA解决方案有很大的实用价值。
1 Modbus协议简介[3-4]
Modbus串行链路系统可以使用不同的物理接口(RS 485,RS 232),最常用的是RS 485两线制接口。为了提高通信模块在工业应用中的抗干扰性和稳定性,接口芯片和FPGA核心模块之间应加入高速光耦进行隔离,总线两端处放置线路终端电阻,采用屏蔽双绞线作为通信线等。
在串行链路上,Modbus RTU(Remote Terminal Unit)模式报文中每8个位字节含有两个4位十六进制字符,这种模式的主要优点是较高的数据密度,在相同的波特率下比ASCII模式有更高的吞吐率。RTU模式每个字节(11位)的格式如图1所示,支持奇、偶和无校验,使用无校验时要求2个停止位。Modbus RTU帧最大为256 B,由发送设备将Modbus报文构造为带有已知起始和结束标记的帧,报文帧由时长至少为3.5个字符时间的空闲间隔区分,整个报文帧必须以连续的字符流发送,如果两个字符之间的空闲间隔大于1.5个字符时间,则报文帧被认为不完整被接收节点丢弃,如图1所示。
图1 RTU模式位序列和报文帧
在应用层上,Modbus是一个请求/应答协议,并且提供功能码规定的服务。有三类Modbus功能码:公共码、用户定义码和保留码,大多数情况下只用公共码,其主要包括比特(线圈)访问、16 b(寄存器)访问、文件记录访问、诊断和其他信息访问。
2 Modbus RTU通信协议接口设计
2.1 接口功能及模块划分
Modbus RTU接口框图及输入、输出引脚示意图如图2所示。
图2 Modbus接口示意图
在某一确定的主时钟频率、通信波特率和奇偶校验方式下,通过设置CE_Modbus和R_Tn的状态,可以控制该接口模块处于接收Modbus协议帧模式、发送Modbus协议帧模式或输入/输出寄存器操作模式,如表1所示。
表1 操作模式控制
CE_ModbusR_Tn操作模式
11接收Modbus协议帧
10发送Modbus协议帧
0×输入/输出寄存器操作
典型的波特率和奇偶校验位设置如表2、表3所示。这两组控制信号可以从端口引出接到拨码开关,然后可以通过调节拨码开关来灵活控制该设备奇偶性与波特率,也可以通过寄存器配置方式控制。
表2 波特率控制
Sel_baud[2..0]波特率/(b/s)
009 600
0119 200
1038 400
11115 200
表3 奇偶校验控制
Sel_parity [2..0]校验方式
00偶
01奇
10或11无
2.2 接收过程
(1) 系统处于接收Modbus协议帧模式下之后,清零标志位和定时器,然后启动定时器,如果检测到有串口输入数据,则清零定时器,如果没有检测到串口输入数据且定时器第一次计时到3.5个字符时间,置帧起始标志;
(2) 把接收到的第一个字符放入接收缓冲寄存器的0x00地址(协议帧最长为256 B,故接收缓冲大小为256 B,地址为8 b),置已开始接收标志;
(3) 将接收到的正确字符依次放入接收缓冲寄存器中,即地址每次加1,每接收完一个字符之后清零定时器;如果在接收字符时检查到起始错误(起始位没有持续波特率所对应bit时间的一半),奇偶校验错误,或者帧错误(停止位为0),则丢弃该字符,重新同步起始位;
(4) 如果检测到两个字符时间间隔大于1.5个字符时间,则重置帧起始标志,把下一个接收到的字符放入接收缓冲寄存器的0x00地址,再继续步骤(3);
(5) 当检测到没有字符输入且定时器第二次检测到3.5个字符时间,置协议帧接收完全标志;
[局域网;通信协议;TCP/IP
不同的网络协议都有其存在的必要,每一种协议都有它所主要依靠的操作系统和工作环境。在一个网络上运行得很好的通信协议,在另一个看起来很相似的网络上可能完全不适合。因此,组建网络时通信协议的选择尤为重要。
无论是几台机器组成的Windows95/98对等网,还是规模较大的WindowsNT、Novell或Unix/Xenix局域网,凡是亲自组建或管理过网络的人,都碰到过如何选择和配置网络通信协议的新问题。由于许多用户对网络中的协议及其功能特征不是很清楚,所以在组网中经常选用了不符合自身网络特征的通信协议。其结果就造成了网络无法接通,或者是速度太慢,工作不稳定等现象而影响了网络的可靠性。下面我就分析一下各个协议的特征和性能借以说明我配置协议的理论和立场。
一、通信协议
组建网络时,必须选择一种网络通信协议,使得用户之间能够相互进行“交流”。协议(Protocol)是网络设备用来通信的一套规则,这套规则可以理解为一种彼此都能听得懂的公用语言。有关网络中的协议可以概括为两类摘要:“内部协议”和“外部协议”下面分别予以介绍。
1.内部协议
1978年,国际标准化组织(ISO)为网络通信制定了一个标准模式,称为OSI/RM(OpenSystemInterconnect/ReferenceModel,开放系统互联参考模型)体系结构。该结构共分七层,从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中,任何一个网络设备的上下层之间都有其特定的协议形式,同时两个设备(如工作站和服务器)的同层之间也有其使用的协议约定。在这里,我们将这种上下层之间和同层之间的协议全部定义为“内部协议”。内部协议在组网中一般很少涉及到,它主要提供给网络开发人员使用。假如你只是为了组建一个网络,可不去理会内部协议。
2.外部协议
外部协议即我们组网时所必须选择的协议。由于它直接负责计算机之间的相互通信,所以通常称为网络通信协议。自从网络问世以来,有许多公司投入到了通信协议的开发中,如IBM、Banyan、Novell、Microsoft等。每家公司开发的协议,最初一般是为了满足自己的网络通信,但随着网络应用的普及,不同网络之间进行互联的要求越来越迫切,因此通信协议就成为解决网络之间互联的关键技术。就像使用不同母语的人和人之间需要一种通用语言才能交谈一样,网络之间的通信也需要一种通用语言,这种通用语言就是通信协议。目前,局域网中常用的通信协议(外部协议)主要有NetBEUI、IPX/SPX及其兼容协议和TCP/IP三类。
3.选择网络通信协议的原则
我们在选择通信协议时一般应遵循以下的原则摘要:
第
一、所选协议要和网络结构和功能相一致。如你的网络存在多个网段或要通过路由器相连时,就不能使用不具备路由和跨网段操作功能的NetBEUI协议,而必须选择IPX/SPX或TCP/IP等协议。另外,假如你的网络规模较小,同时只是为了简单的文件和设备的共享,这时你最关心的就是网络速度,所以在选择协议时应选择占用内存小和带宽利用率高的协议,如NetBEUI。当你的网络规模较大,且网络结构复杂时,应选择可管理性和可扩充性较好的协议,如TCP/IP。
第
二、除非凡情况外,一个网络尽量只选择一种通信协议。现实中许多人的做法是一次选择多个协议,或选择系统所提供的所有协议,其实这样做是很不可取的。因为每个协议都要占用计算机的内存,选择的协议越多,占用计算机的内存资源就越多。一方面影响了计算机的运行速度,另一方面不利于网络的管理。事实上一个网络中一般一种通信协议就可以满足需要。
第
三、注重协议的版本。每个协议都有它的发展和完善过程,因而出现了不同的版本,每个版本的协议都有它最为合适的网络环境。从整体来看,高版本协议的功能和性能要比低版本好。所以在选择时,在满足网络功能要求的前提下,应尽量选择高版本的通信协议。
第
四、协议的一致性。假如要让两台实现互联的计算机间进行对话,它们两者使用的通信协议必须相同。否则中间还需要一个“翻译”进行不同协议的转换,这样不仅影响通信速度,同时也不利于网络的平安和稳定运行。
二、局域网中常用的三种通信协议
BEUI协议
NetBEUI通信协议的特征。NetBEUI(NetBIOSExtendedUserInterface,用户扩展接口)由IBM于1985年开发完成,它是一种体积小、效率高、速度快的通信协议。NetBEUI也是微软最钟爱的一种通信协议,所以它被称为微软所有产品中通信协议的“母语”。微软在其早期产品,如DOS、LANManager、Windows3.x和WindowsforWorkgroup中主要选择NetBEUI作为自己的通信协议。在微软如今的主流产品,如Windows95/98和WindowsNT中,NetBEUI已成为其固有的缺省协议。有人将WinNT定位为低端网络服务器操作系统,这和微软的产品过于依靠NetBEUI有直接的关系。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的,它不具有跨网段工作的功能,即NetBEUI不具备路由功能。假如你在一个服务器上安装了多块网卡,或要采用路由器等设备进行两个局域网的互联时,将不能使用NetBEUI通信协议。否则,和不同网卡(每一块网卡连接一个网段)相连的设备之间,以及不同的局域网之间将无法进行通信。
虽然NetBEUI存在许多不尽人意的地方,但它也具有其他协议所不具备的优点。在三种通信协议中,NetBEUI占用内存最少,在网络中基本不需要任何配置。尤其在微软产品几乎独占PC操作系统的今天,它很适合于广大的网络初学者使用。
NetBEUI和NetBIOS之间的关系。细心的读者可能已经发现,NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS(NetworkBasicInput/OutputSystem,网络基本输入/输出系统)是IBM在1983年开发的一套用于实现PC间相互通信的标准,其目的是开发一种仅仅在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个,其特征是突出一个“小”字。后来,IBM发现NetBIOS存在的许多缺陷,所以于1985年对其进行了改进,推出了NetBEUI通信协议。随即,微软将NetBEUI作为其客户机/服务器网络系统的基本通信协议,并进一步进行了扩充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(ServerMessageBlocks,服务器消息块)的组成部分,以降低网络的通信堵塞。为此,有时将NetBEUI协议也称为“SMB协议”。
人们常将NetBIOS和NetBEUI混淆起来,其实NetBIOS只能算是一个网络应用程序的接口规范,是NetBEUI的基础,它不具有严格的通信协议功能。而NetBEUI是建立在NetBIOS基础之上的一个网络传输协议。
2.IPX/SPX及其兼容协议
IPX/SPX通信协议的特征。IPX/SPX(InternetworkPacketeXchange/SequencesPacketeXchange,网际包交换/顺序包交换)是Novell公司的通信协议集。和NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的新问题,具有强大的路由功能,适合于大型网络使用。当用户端接入NetWare服务器时,IPX/SPX及其兼容协议是最好的选择。但在非Novell网络环境中,一般不使用IPX/SPX。尤其在WindowsNT网络和由Windows95/98组成的对等网中,无法直接使用IPX/SPX通信协议。
IPX/SPX协议的工作方式。IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成摘要:标明物理网段的“网络ID”和标明非凡设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号(网卡卡号)。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。
在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,假如接收节点在同一网段内,就直接按该节点的ID将数据传给它;假如接收节点是远程的(不在同一网段内,或位于不同的局域网中),数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,所以我们将IPX/SPX也叫做“Novell的协议集”。
NWLink通信协议。WindowsNT中提供了两个IPX/SPX的兼容协议摘要:“NWLinkSPX/SPX兼容协议”和“NWLinkNetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继续IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。WindowsNT网络和Windows95/98的用户,可以利用NWLink协议获得NetWare服务器的服务。假如你的网络从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。不过在使用NWLink协议时,其中“NWLinkIPX/SPX兼容协议”类似于Windows95/98中的“IPX/SPX兼容协议”,它只能作为客户端的协议实现对NetWare服务器的访问,离开了NetWare服务器,此兼容协议将失去功能;而“NWLinkNetBIOS”协议不但可在NetWare服务器和WindowsNT之间传递信息,而且能够用于WindowsNT、Windows95/98相互之间任意通信。
3.TCP/IP协议
TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。
TCP/IP通信协议的特征。TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。如此复杂的设置,对于一些初识网络的用户来说的确带来了不便。不过,在WindowsNT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时所需的信息,减轻了联网工作上的负担,并避免了出错。当然,DHCP所拥有的功能必须要有DHCP服务器才能实现。
同IPX/SPX及其兼容协议一样,TCP/IP也是一种可路由的协议。但是,两者存在着一些差别。TCP/IP的地址是分级的,这使得它很轻易确定并找到网上的用户,同时也提高了网络带宽的利用率。当需要时,运行TCP/IP协议的服务器(如WindowsNT服务器)还可以被配置成TCP/IP路由器。和TCP/IP不同的是,IPX/SPX协议中的IPX使用的是一种广播协议,它经常出现广播包堵塞,所以无法获得最佳的网络带宽。
Windows95/98中的TCP/IP协议。Windows95/98的用户不但可以使用TCP/IP组建对等网,而且可以方便地接入其它的服务器。值得注重的是,假如Windows95/98工作站只安装了TCP/IP协议,它是不能直接加入WindowsNT域的。虽然该工作站可通过运行在WindowsNT服务器上的服务器(如ProxyServer)来访问Internet,但却不能通过它登录WindowsNT服务器的域。假如要让只安装TCP/IP协议的Windows95/98用户加入到WindowsNT域,还必须在Windows95/98上安装NetBEUI协议。
TCP/IP协议在局域网中的配置。在提到TCP/IP协议时,有许多用户便被其复杂的描述和配置所困扰,而不敢放心地去使用。其实就局域网用户来说,只要你把握了一些有关TCP/IP方面的知识,使用起来也非常方便。
IP地址基础知识。前面在谈到IPX/SPX协议时就已知道,IPX的地址由“网络ID”(NetWorkID)和“节点ID”(NodeID)两部分组成,IPX/SPX协议是靠IPX地址来进行网上用户的识别的。同样,TCP/IP协议也是靠自己的IP地址来识别在网上的位置和身份的,IP地址同样由“网络ID”和“节点ID”(或称HOSTID,主机地址)两部分组成。一个完整的IP地址用32位(bit)二进制数组成,每8位(1个字节)为一个段(Segment),共4段(Segment1~Segment4),段和段之间用“.”号隔开。为了便于应用,IP地址在实际使用时并不直接用二进制,而是用大家熟悉的十进制数表示,如192.168.0.1等。IP地址的完整组成摘要:“网络ID”和“节点ID”都包含在32位二进制数中。目前,IP地址主要分为A、B、C三类(除此之外,还存在D和E两类地址,现在局域网中这两类地址基本不用,故本文暂且不涉及),A类用于大型网络,B类用于中型网络,C类一般用于局域网等小型网络中。其中,A类地址中的最前面一段Segment1用来表示“网络ID”,且Segment1的8位二进制数中的第一位必须是“0”。其余3段表示“节点ID”;B类地址中,前两段用来表示“网络ID”,且Segment1的8位二进制数中的前二位必须是“10”。后两段用来表示“节点ID”;在C类地址中,前三段表示“网络ID”,且Segment1的8位二进制数中的前三位必须是“110”。最后一段Segment4用来表示“节点ID”。
值得一提的是,IP地址中的所有“网络ID”都要向一个名为InterNIC(InternetNetworkInformationCenter,互联网络信息中心)申请,而“节点ID”可以自由分配。目前可供使用的IP地址只有C类,A类和B类的资源均已用尽。不过在选用IP地址时,总的原则是摘要:网络中每个设备的IP地址必须唯一,在不同的设备上不答应出现相同的IP地址。表1列出了IP地址中的“网络ID”的有关属性,“节点ID”在互不重复的情况下由用户自由分配。其实,将IP地址进行分类,主要是为了满足网络的互联。假如你的网络是一个封闭式的网络,只要在保证每个设备的IP地址唯一的前提下,三类地址中的任意一个都可以直接使用(为以防万一,你还是老老实实地使用C类IP地址为好)。
子网掩码。对IP地址的解释称之为子网掩码。从名称可以看出,子网掩码是用于对子网的管理,主要是在多网段环境中对IP地址中的“网络ID”进行扩展。举个例子来说明摘要:例如某个节点的IP地址为192.168.0.1,它是一个C类网。其中前面三段共24位用来表示“网络ID”,是非常珍贵的资源;而最后一段共8位可以作为“节点ID”自由分配。但是,假如公司的局域网是分段管理的,或者该网络是由多个局域网互联而成,是否要给每个网段或每个局域网都申请分配一个“网络ID”呢?这显然是不合理的。此时,我们可以使用子网掩码的功能,将其中一个或几个节点的IP地址全部充当成“网络ID”来使用,用来扩展“网络ID”不足的困难。
当我们将某一节点的IP地址如192.168.0.1已设置成一个“网络ID”时,网络上的其它设备又怎样知道它是一个“网络ID”,而不是一个节点IP地址呢?这就要靠子网掩码来告知。子网掩码是这样做的摘要:假如某一位的二进制数是“1”,它就知道是“网络ID”的一部分;假如是“0”便认作是“节点ID”的一部分。如将192.168.0.1当做“网络ID”时,其子网掩码就是11111111.11111111.11111111.00000001,对应的十进制数表示为255.255.255.1。否则它的子网掩码就是11111111.11111111.11111111.00000000,对应的十进制数表示应为255.255.255.0。有了子网掩码,便可方便地实现用户跨网段或跨网络操作。不过,为了让子网掩码能够正常工作,同一子网中的所有设备都必须支持子网掩码,且子网掩码相同。表2列出了A、B、C三类网络的缺省子网掩码。
网关。网关(Gateway)是用来连接异种网络的设置。它充当了一个翻译的身份,负责对不同的通信协议进行翻译,使运行不同协议的两种网络之间可以实现相互通信。如运行TCP/IP协议的WindowsNT用户要访问运行IPX/SPX协议的Novell网络资源时,则必须由网关作为中介。假如两个运行TCP/IP协议的网络之间进行互联,则可以使用WindowsNT所提供的“默认网关”(DefaultGateway)来完成。网关的地址该如何分配呢?可举一个例子往返答摘要:假如A网络的用户要访问B网络上的资源,必须在A网络中设置一个网关,该网关的地址应为B网络的“网络ID”(一般可理解为B网络服务器的IP地址)。当A网络的用户同时还要访问C网络的资源时又该怎么呢?你只需将C网络的“网络ID”添加到A网络的网关中即可。依次类推……网关连多少个网络,就拥有多少个IP地址。
主机名。网络中唯一能够代表用户或设备身份的只有IP地址。但一般情况下,众多的IP地址不轻易记忆,操作起来也不方便。为了改善这种状况,我们可给予每个用户或设备一个有意义的名称,如“WANGQUN”。至于在网络中用到“WANGQUN”时,怎样知道其对应的IP地址呢?这完全由操作系统自己完成,我们大可不必考虑。
三、通信协议的安装、设置和测试
局域网中的一些协议,在安装操作系统时会自动安装。如在安装WindowsNT或Windows95/98时,系统会自动安装NetBEUI通信协议。在安装NetWare时,系统会自动安装IPX/SPX通信协议。其中三种协议中,NetBEUI和IPX/SPX在安装后不需要进行设置就可以直接使用,但TCP/IP要经过必要的设置。所以下文主要以WindowsNT环境下的TCP/IP协议为主,介绍其安装、设置和测试方法,其他操作系统中协议的有关操作和WindowsNT基本相同,甚至更为简单。
TCP/IP通信协议的安装。在WindowsNT中,假如未安装有TCP/IP通信协议,可选择“开始/设置/控制面板/网络”,将出现“网络”对话框,选择对话框中的“协议/添加”,选取其中的TCP/IP协议,然后单击“确定”按钮。系统会询问你是否要进行“DHCP服务器”的设置?假如你的IP地址是固定的(一般是这样),可选择“否”。随后,系统开始从安装盘中复制所需的文件。
TCP/IP通信协议的设置。在“网络”对话框中选择已安装的TCP/IP协议,打开其“属性”,在指定的位置输入已分配好的“IP地址”和“子网掩码”。假如该用户还要访问其它WidnowsNT网络的资源,还可以在“默认网关”处输入网关的地址。
TCP/IP通信协议的测试。当TCP/IP协议安装并设置结束后,为了保证其能够正常工作,在使用前一定要进行测试。笔者建议大家使用系统自带的工具程序摘要:PING.EXE,该工具可以检查任何一个用户是否和同一网段的其他用户连通,是否和其他网段的用户连接正常,同时还能检查出自己的IP地址是否和其他用户的IP地址发生冲突。假如服务器的IP地址为192.168.0.1,如要测试你的机器是否和服务器接通时,只需切换到DOS提示符下,并键入命令“PING192.168.0.1”即可。假如出现类似于“Replyfrom192.168.0.1……”的回应,说明TCP/IP协议工作正常;假如显示类似于“Requesttimedout”的信息,说明双方的TCP/IP协议的设置可能有错,或网络的其它连接(如网卡、HUB或连线等)有新问题,还需进一步检查。
通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。
在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就通信协议是指通信各方事前约定的通信规则,可以简单地理解为各计算机之间进行相互会话所使用的共同语言。两台计算机在进行通信时,必须使用的通信协议。
(来源:文章屋网 )
[关键词]局域网;通信协议;TCP/IP
How TO Configure the Communication Protocols of the LAN
Wang Guang ming
(Class One,Grade Three,Department of Computer Science,Zaozhuang Teachers' College,Zaozhuang 277100)
Abstract: Based on the LAN,for NetWare、Windows 95/98 and the main is Windows NT operation system,this paper introduce and analysis the characteristic、 capability and the essential configure method of the communication protocols.
Key Words: LAN;Communication Protocols; TCP/IP
不同的网络协议都有其存在的必要,每一种协议都有它所主要依赖的操作系统和工作环境。在一个网络上运行得很好的通信协议,在另一个看起来很相似的网络上可能完全不适合。因此,组建网络时通信协议的选择尤为重要。
无论是几台机器组成的Windows 95/98对等网,还是规模较大的Windows NT、Novell或Unix/Xenix局域网,凡是亲自组建或管理过网络的人,都遇到过如何选择和配置网络通信协议的问题。由于许多用户对网络中的协议及其功能特点不是很清楚,所以在组网中经常选用了不符合自身网络特点的通信协议。其结果就造成了网络无法接通,或者是速度太慢,工作不稳定等现象而影响了网络的可靠性。 下面我就分析一下各个协议的特点和性能借以说明我配置协议的理论和立场。
一、通信协议
组建网络时,必须选择一种网络通信协议,使得用户之间能够相互进行“交流”。协议(Protocol)是网络设备用来通信的一套规则,这套规则可以理解为一种彼此都能听得懂的公用语言。关于网络中的协议可以概括为两类:“内部协议”和“外部协议”下面分别予以介绍。
1.内部协议
1978年,国际标准化组织(ISO)为网络通信制定了一个标准模式,称为OSI/RM(Open System Interconnect/Reference Model,开放系统互联参考模型)体系结构。该结构共分七层,从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中,任何一个网络设备的上下层之间都有其特定的协议形式,同时两个设备(如工作站与服务器)的同层之间也有其使用的协议约定。在这里,我们将这种上下层之间和同层之间的协议全部定义为“内部协议”。内部协议在组网中一般很少涉及到,它主要提供给网络开发人员使用。如果你只是为了组建一个网络,可不去理会内部协议。
2.外部协议
外部协议即我们组网时所必须选择的协议。由于它直接负责计算机之间的相互通信,所以通常称为网络通信协议。自从网络问世以来,有许多公司投入到了通信协议的开发中,如IBM、Banyan、Novell、Microsoft等。每家公司开发的协议,最初一般是为了满足自己的网络通信,但随着网络应用的普及,不同网络之间进行互联的要求越来越迫切,因此通信协议就成为解决网络之间互联的关键技术。就像使用不同母语的人与人之间需要一种通用语言才能交谈一样,网络之间的通信也需要一种通用语言,这种通用语言就是通信协议。目前,局域网中常用的通信协议(外部协议)主要有NetBEUI、IPX/SPX及其兼容协议和TCP/IP三类。
3.选择网络通信协议的原则
我们在选择通信协议时一般应遵循以下的原则:
第一、所选协议要与网络结构和功能相一致。如你的网络存在多个网段或要通过路由器相连时,就不能使用不具备路由和跨网段操作功能的NetBEUI协议,而必须选择IPX/SPX或TCP/IP等协议。另外,如果你的网络规模较小,同时只是为了简单的文件和设备的共享,这时你最关心的就是网络速度,所以在选择协议时应选择占用内存小和带宽利用率高的协议,如NetBEUI。当你的网络规模较大,且网络结构复杂时,应选择可管理性和可扩充性较好的协议,如TCP/IP。
第二、除特殊情况外,一个网络尽量只选择一种通信协议。现实中许多人的做法是一次选择多个协议,或选择系统所提供的所有协议,其实这样做是很不可取的。因为每个协议都要占用计算机的内存,选择的协议越多,占用计算机的内存资源就越多。一方面影响了计算机的运行速度,另一方面不利于网络的管理。事实上一个网络中一般一种通信协议就可以满足需要。
第三、注意协议的版本。每个协议都有它的发展和完善过程,因而出现了不同的版本,每个版本的协议都有它最为合适的网络环境。从整体来看,高版本协议的功能和性能要比低版本好。所以在选择时,在满足网络功能要求的前提下,应尽量选择高版本的通信协议。
第四、协议的一致性。如果要让两台实现互联的计算机间进行对话,它们两者使用的通信协议必须相同。否则中间还需要一个“翻译”进行不同协议的转换,这样不仅影响通信速度,同时也不利于网络的安全和稳定运行。
二、局域网中常用的三种通信协议
1.NetBEUI协议
■NetBEUI通信协议的特点。NetBEUI(NetBIOS Extended User Interface,用户扩展接口)由IBM于1985年开发完成,它是一种体积小、效率高、速度快的通信协议。NetBEUI也是微软最钟爱的一种通信协议,所以它被称为微软所有产品中通信协议的“母语”。微软在其早期产品,如DOS、LAN Manager、Windows 3.x和Windows for Workgroup中主要选择NetBEUI作为自己的通信协议。在微软如今的主流产品,如Windows 95/98和Windows NT中,NetBEUI已成为其固有的缺省协议。有人将WinNT定位为低端网络服务器操作系统,这与微软的产品过于依赖NetBEUI有直接的关系。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的,它不具有跨网段工作的功能,即NetBEUI不具备路由功能。如果你在一个服务器上安装了多块网卡,或要采用路由器等设备进行两个局域网的互联时,将不能使用NetBEUI通信协议。否则,与不同网卡(每一块网卡连接一个网段)相连的设备之间,以及不同的局域网之间将无法进行通信。
虽然NetBEUI存在许多不尽人意的地方,但它也具有其他协议所不具备的优点。在三种通信协议中,NetBEUI占用内存最少,在网络中基本不需要任何配置。尤其在微软产品几乎独占PC操作系统的今天,它很适合于广大的网络初学者使用。
■NetBEUI与NetBIOS之间的关系。细心的读者可能已经发现,NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS(Network Basic Input/Output System,网络基本输入/输出系统)是IBM在1983年开发的一套用于实现PC间相互通信的标准,其目的是开发一种仅仅在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个,其特点是突出一个“小”字。后来,IBM发现NetBIOS存在的许多缺陷,所以于1985年对其进行了改进,推出了NetBEUI通信协议。随即,微软将NetBEUI作为其客户机/服务器网络系统的基本通信协议,并进一步进行了扩充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(Server Message Blocks,服务器消息块)的组成部分,以降低网络的通信堵塞。为此,有时将NetBEUI协议也称为“SMB协议”。
人们常将NetBIOS和NetBEUI混淆起来,其实NetBIOS只能算是一个网络应用程序的接口规范,是NetBEUI的基础,它不具有严格的通信协议功能。而NetBEUI是建立在NetBIOS基础之上的一个网络传输协议。
2.IPX/SPX及其兼容协议
■IPX/SPX通信协议的特点。IPX/SPX(Internetwork Packet eXchange/Sequences Packet eXchange,网际包交换/顺序包交换)是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。当用户端接入NetWare服务器时,IPX/SPX及其兼容协议是最好的选择。但在非Novell网络环境中,一般不使用IPX/SPX。尤其在Windows NT网络和由Windows 95/98组成的对等网中,无法直接使用IPX/SPX通信协议。
■IPX/SPX协议的工作方式。IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号(网卡卡号)。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。
在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的(不在同一网段内,或位于不同的局域网中),数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,所以我们将IPX/SPX也叫做“Novell的协议集”。
■NWLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows 95/98的用户,可以利用NWLink协议获得NetWare服务器的服务。如果你的网络从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。不过在使用NWLink协议时,其中“NWLink IPX/SPX兼容协议”类似于Windows 95/98中的“IPX/SPX兼容协议”,它只能作为客户端的协议实现对NetWare服务器的访问,离开了NetWare服务器,此兼容协议将失去作用;而“NWLink NetBIOS”协议不但可在NetWare服务器与Windows NT之间传递信息,而且能够用于Windows NT、Windows 95/98相互之间任意通信。
3.TCP/IP协议
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。
■TCP/IP通信协议的特点。TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。如此复杂的设置,对于一些初识网络的用户来说的确带来了不便。不过,在Windows NT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时所需的信息,减轻了联网工作上的负担,并避免了出错。当然,DHCP所拥有的功能必须要有DHCP服务器才能实现。
同IPX/SPX及其兼容协议一样,TCP/IP也是一种可路由的协议。但是,两者存在着一些差别。TCP/IP的地址是分级的,这使得它很容易确定并找到网上的用户,同时也提高了网络带宽的利用率。当需要时,运行TCP/IP协议的服务器(如Windows NT服务器)还可以被配置成TCP/IP路由器。与TCP/IP不同的是,IPX/SPX协议中的IPX使用的是一种广播协议,它经常出现广播包堵塞,所以无法获得最佳的网络带宽。
■Windows 95/98中的TCP/IP协议。Windows 95/98的用户不但可以使用TCP/IP组建对等网,而且可以方便地接入其它的服务器。值得注意的是,如果Windows 95/98工作站只安装了TCP/IP协议,它是不能直接加入Windows NT域的。虽然该工作站可通过运行在Windows NT服务器上的服务器(如Proxy Server)来访问Internet,但却不能通过它登录Windows NT服务器的域。如果要让只安装TCP/IP协议的Windows 95/98用户加入到Windows NT域,还必须在Windows 95/98上安装NetBEUI协议。 转贴于
■TCP/IP协议在局域网中的配置。在提到TCP/IP协议时,有许多用户便被其复杂的描述和配置所困扰,而不敢放心地去使用。其实就局域网用户来说,只要你掌握了一些有关TCP/IP方面的知识,使用起来也非常方便。
IP地址基础知识。前面在谈到IPX/SPX协议时就已知道,IPX的地址由“网络ID”(NetWork ID)和“节点ID”(Node ID)两部分组成,IPX/SPX协议是靠IPX地址来进行网上用户的识别的。同样,TCP/IP协议也是靠自己的IP地址来识别在网上的位置和身份的,IP地址同样由“网络ID”和“节点ID”(或称HOST ID,主机地址)两部分组成。一个完整的IP地址用32位(bit)二进制数组成,每8位(1个字节)为一个段(Segment),共4段(Segment1~Segment4),段与段之间用“.”号隔开。为了便于应用,IP地址在实际使用时并不直接用二进制,而是用大家熟悉的十进制数表示,如192.168.0.1等。IP地址的完整组成:“网络ID”和“节点ID”都包含在32位二进制数中。目前,IP地址主要分为A、B、C三类(除此之外,还存在D和E两类地址,现在局域网中这两类地址基本不用,故本文暂且不涉及),A类用于大型网络,B类用于中型网络,C类一般用于局域网等小型网络中。其中,A类地址中的最前面一段Segment1用来表示“网络ID”,且Segment1的8位二进制数中的第一位必须是“0”。其余3段表示“节点ID”;B类地址中,前两段用来表示“网络ID”,且Segment1的8位二进制数中的前二位必须是“10”。后两段用来表示“节点ID”;在C类地址中,前三段表示“网络ID”,且Segment1的8位二进制数中的前三位必须是“110”。最后一段Segment4用来表示“节点ID”。
值得一提的是,IP地址中的所有“网络ID”都要向一个名为InterNIC(Internet Network Information Center,互联网络信息中心)申请,而“节点ID”可以自由分配。目前可供使用的IP地址只有C类,A类和B类的资源均已用尽。不过在选用IP地址时,总的原则是:网络中每个设备的IP地址必须唯一,在不同的设备上不允许出现相同的IP地址。表1列出了IP地址中的“网络ID”的有关属性,“节点ID”在互不重复的情况下由用户自由分配。其实,将IP地址进行分类,主要是为了满足网络的互联。如果你的网络是一个封闭式的网络,只要在保证每个设备的IP地址唯一的前提下,三类地址中的任意一个都可以直接使用(为以防万一,你还是老老实实地使用C类IP地址为好)。
子网掩码。对IP地址的解释称之为子网掩码。从名称可以看出,子网掩码是用于对子网的管理,主要是在多网段环境中对IP地址中的“网络ID”进行扩展。举个例子来说明:例如某个节点的IP地址为192.168.0.1,它是一个C类网。其中前面三段共24位用来表示“网络ID”,是非常珍贵的资源;而最后一段共8位可以作为“节点ID”自由分配。但是,如果公司的局域网是分段管理的,或者该网络是由多个局域网互联而成,是否要给每个网段或每个局域网都申请分配一个“网络ID”呢?这显然是不合理的。此时,我们可以使用子网掩码的功能,将其中一个或几个节点的IP地址全部充当成“网络ID”来使用,用来扩展“网络ID”不足的困难。
当我们将某一节点的IP地址如192.168.0.1已设置成一个“网络ID”时,网络上的其它设备又怎样知道它是一个“网络ID”,而不是一个节点IP地址呢?这就要靠子网掩码来告知。子网掩码是这样做的:如果某一位的二进制数是“1”,它就知道是“网络ID”的一部分;如果是“0”便认作是“节点ID”的一部分。如将192.168.0.1当做“网络ID”时,其子网掩码就是11111111.11111111.11111111.00000001,对应的十进制数表示为255.255.255.1。否则它的子网掩码就是11111111.11111111.11111111.00000000,对应的十进制数表示应为255.255.255.0。有了子网掩码,便可方便地实现用户跨网段或跨网络操作。不过,为了让子网掩码能够正常工作,同一子网中的所有设备都必须支持子网掩码,且子网掩码相同。表2列出了A、B、C三类网络的缺省子网掩码。
网关。网关(Gateway)是用来连接异种网络的设置。它充当了一个翻译的身份,负责对不同的通信协议进行翻译,使运行不同协议的两种网络之间可以实现相互通信。如运行TCP/IP协议的Windows NT用户要访问运行IPX/SPX协议的Novell网络资源时,则必须由网关作为中介。如果两个运行TCP/IP协议的网络之间进行互联,则可以使用Windows NT所提供的“默认网关”(Default Gateway)来完成。网关的地址该如何分配呢?可举一个例子来回答:假如A网络的用户要访问B网络上的资源,必须在A网络中设置一个网关,该网关的地址应为B网络的“网络ID”(一般可理解为B网络服务器的IP地址)。当A网络的用户同时还要访问C网络的资源时又该怎么呢?你只需将C网络的“网络ID”添加到A网络的网关中即可。依次类推……网关连多少个网络,就拥有多少个IP地址。
主机名。网络中唯一能够代表用户或设备身份的只有IP地址。但一般情况下,众多的IP地址不容易记忆,操作起来也不方便。为了改善这种状况,我们可给予每个用户或设备一个有意义的名称,如“WANGQUN”。至于在网络中用到“WANGQUN”时,怎样知道其对应的IP地址呢?这完全由操作系统自己完成,我们大可不必考虑。
三、通信协议的安装、设置和测试
局域网中的一些协议,在安装操作系统时会自动安装。如在安装Windows NT或Windows 95/98时,系统会自动安装NetBEUI通信协议。在安装NetWare时,系统会自动安装IPX/SPX通信协议。其中三种协议中,NetBEUI和IPX/SPX在安装后不需要进行设置就可以直接使用,但TCP/IP要经过必要的设置。所以下文主要以Windows NT环境下的TCP/IP协议为主,介绍其安装、设置和测试方法,其他操作系统中协议的有关操作与Windows NT基本相同,甚至更为简单。
■TCP/IP通信协议的安装。在Windows NT中,如果未安装有TCP/IP通信协议,可选择“开始/设置/控制面板/网络”,将出现“网络”对话框,选择对话框中的“协议/添加”,选取其中的TCP/IP协议,然后单击“确定”按钮。系统会询问你是否要进行“DHCP服务器”的设置?如果你的IP地址是固定的(一般是这样),可选择“否”。随后,系统开始从安装盘中复制所需的文件。
■TCP/IP通信协议的设置。在“网络”对话框中选择已安装的TCP/IP协议,打开其“属性”,在指定的位置输入已分配好的“IP地址”和“子网掩码”。如果该用户还要访问其它Widnows NT网络的资源,还可以在“默认网关”处输入网关的地址。
■TCP/IP通信协议的测试。当TCP/IP协议安装并设置结束后,为了保证其能够正常工作,在使用前一定要进行测试。笔者建议大家使用系统自带的工具程序:PING.EXE,该工具可以检查任何一个用户是否与同一网段的其他用户连通,是否与其他网段的用户连接正常,同时还能检查出自己的IP地址是否与其他用户的IP地址发生冲突。假如服务器的IP地址为192.168.0.1,如要测试你的机器是否与服务器接通时,只需切换到DOS提示符下,并键入命令“PING 192.168.0.1”即可。如果出现类似于“Reply from 192.168.0.1……”的回应,说明TCP/IP协议工作正常;如果显示类似于“Request timed out”的信息,说明双方的TCP/IP协议的设置可能有错,或网络的其它连接(如网卡、HUB或连线等)有问题,还需进一步检查。
四、小结
在组建局域网时,具体选择哪一种网络通信协议主要取决于网络规模、网络间的兼容性和网络管理几个方面。如果正在组建一个小型的单网段的网络,并且对外没有连接的需要,这时最好选择NetBEUI通信协议。如果你正从NetWare迁移到Windows NT,或两种平台共存时,IPX/SPX及其兼容协议可提供一个很好的传输环境。如果你正在规划一个高效率、可互联性和可扩展性的网络,TCP/IP则将是理想的选择。
参考文献
[1]阮家栋 俞丽和 《微型计算机网络原理及应用》 北京 中国纺织大学出版社 1995
[2]瞿 坦 《计算机网络及应用》 北京 化学工业出版社 2002
【关键词】计算机网络通信协议TCP/IP协议IPX/SPX及其兼容协议
随着计算机技术的普及,网络信息化得到了新的发展。在这个过程中计算机网络通信协议成为该行业讨论的焦点问题。因此,本文将从通信协议的概念、原则和常见协议几个方面进行分析,力求提供新的思路。
1网络通信协议的概念
在计算机通信的过程中,两台计算机之间必须使用通信协议。网络通信协议主要是指通过信道和设备将多个不同位置的数据进行连接的通信系统,是计算机之间实现会话的必要基础。通信协议具有可靠性、有效性和层次性的特点。其本质是一种规则的体现,即计算机网络硬件和软件必须共同遵守的规则。与此同时,我们认为网络协议并不是单独存在的,常常存在于其他软件中。其中,基础型协议主要用来提供网络连接的服务,是通信服务中最基础的层面;应用型协议需要针对具体的网络服务来进行选择,不属于必备协议。从组成方面来看,网络协议主要包含三个要素,即语义、语法和时序。语义主要是对协议元素进行必要的解释,而不同的协议元素对语义的规定有所差别。语法主要是将各个协议的元素进行组合,通过计算机语言表达出相对完整的内容,是对信息数据处理的结构形式。时序则是对事件发生的顺序进行调整和说明。
2网络通信协议的原则
在计算机网络通信协议中进行信息和数据传递需要坚持三大原则。即所选协议的一致性、选择高版本协议和通信协议的单一性。所选协议的一致性是指协议需要和网络结构、功能相一致。在计算机网络通信协议中,网络通信协议需要对网络规模、兼容性和管理进行综合考虑。具体而言,当网络规模较小时,对网络的要求也随之较低。因此在网络配置的选择上重心在于网络速度。故,在协议的选择上以占用内存小和宽带利用率高的协议为主,常见的有:NetBEUI。反之,当网络规模较大时,网络结构也变得复杂,此时可以选择扩充性和管理性较强的协议,常见的有:TCP/IP。通信协议的单一性主要是指计算机之间的通信离不开通信协议,常规模式下每一个网络只能选择一种通信协议。这是因为,每一个网络通信协议均会占用计算机内存,当选择协议较多时,无疑会造成内存资源的不足和浪费,从而直接影响到计算机的运行速度,加大了网络管理的难度。选择高版本协议主要原因是:高版本协议的功能和性能相对较好。值得一提的是每个通信协议都有其最合适的网络环境。因此,使用者需要根据网络计算机的环境选择与之匹配的网络通信协议。
3常见的网络通信协议
3.1TCP/IP协议
TCP/IP协议是TCP协议和IP协议的结合体,是最重要的两种协议。最早使用该协议的是Unix系统,并且得到了市场上大多数计算机厂商和操作系统的大力支持。在互联网的使用过程中,TCP/IP协议能够提供有效地端字节传输服务。首先,传给IP层的数据流可以通过TCP分割成长度较为合适的数据段后再进行二次传输,然后根据接收端主机从IP层接收的数据包进行上传。常见的IP协议主要为IPV4协议和IPV6协议,该协议规定了在互联网传输过程中准确的数据格式,因此,在TCP/IP协议中的传输是相对严格的一个过程。与此同时,IPV6协议优于IPV4协议,具体表现在三个方面。即IPV6协议拥有更为广阔的地址空间,将IP地址长度从32位上升到128位;拥有更小的路由表,即IPV6协议遵循聚类原则,路由器可以在路由表中选择一条记录来代表一片子网,因此缩短了路由表的长度,进而提高了路由器转发数据包的速度。最后,IPV6协议协议增加了自动配置的支持功能,该功能能够使网络管理更为便利和安全,同时可以对网络层提供加密数据处理,提高了互联网安全。除此之外,TCP/IP协议本身具有较强的灵活性,可以支持不同规模的网络,连接所有的服务器和工作站。但是,在这个过程中也存在一些麻烦和问题。即在使用其他协议的过程中不需要进行配置,可以自动的分配网络所需的必要信息,减少人工操作。而TCP/IP协议需要完成相对复杂的设置过程,即每一个节点都需要IP地址、子网掩码、默认网关和主机名。此外,对于Windows中的TCP/IP协议而言,想要直接加入WindowsNT域只安装TCP/IP协议是无法登陆的,还需要在Windows系统上安装NetBEUI协议,从而顺利的访问其服务器的域中。
3.2IPX/SPX及其兼容协议
IPX/SPX及其兼容协议是由Novell公司开发的一种网络通信协议集,与NetBEUI通信协议不同的地方在于该协议较为庞大,在复杂的网络环境下依旧有强大的适应性。因此,非常适合大型网络使用。与此同时,IPX/SPX及其兼容协议可以通过网络地址信息来辨别身份,不需要任何其他配置,是其最大的优点。此外,IPX/SPX及其兼容协议所有的网络IP和节点IP都有内部的一个IPX地址,具有唯一性。然而,IPX属于NetWare自带的最底层的网络协议,其功能主要是对网络中传输的数据负责,即仅保证传输的成功,不保证传输的正确性。而SPX主要是针对数据的正确性进行核查与处理。因此,当两种协议合并在一起的时候能够具备较强的功能,弥补其劣势。因此,使用Windows的用户可以获得NetWare服务器的相关服务,当Novell环境开始转向微软平台的时候,这两种平台将实现共存。
3.3NetBEUI协议
NetBEUI协议最大的优点在于速度快、体积小和效率高,且NetBEUI协议是微软主流产品的缺省协议。该协议主要应用于小型局域网环境中,且局域网中可以实现几百台PC机的互联。NetBIOS是NetBEUI通信协议中的一个网络接口标准,其功能是加强PC机之间的通信,而内网PC机一般不超过30个。
4结语
随着局域网的组建和发展,网络兼容性和网络规则将直接影响到网络通信协议的选择。与此同时,TCP/IP协议主要用于效率高且扩展性能较强的网络,而NetBEUI通信协议比较适合小型网络。IPX/SPX及其兼容协议协议主要适用于两种平台共存的计算机网络系统。因此,在网络通信协议的选择上需要根据实际需要进行科学的、合理的选择,提高计算机的使用效率。
参考文献:
[1]刘芳基.于通信顺序进程的计算机网络通信协议形式化描述[J].信息系统工程,2016(2).
[2]吉逸,吴国新.计算机网络体系结构及通信协议[J].江苏机械制造与自动化,2011(5).
[3]石全民,何辉.网络安全协议在计算机通信技术当中的作用与意义[J].中国建材科技,2015(4).
【关键词】CBTC系统 通信协议 设计 分析
前言:所谓CBTC系统,是指基于通信的列车运行控制系统(Communications Train Control),此项技术最早发源于欧洲,经过多年的发展,CBTC系统已经发展的比较完善。当前,我国在应用CBTC系统对列车进行控制时,应该在借鉴国外先进技术的基础上,研发出适合我国实际情况的CBTC系统,同时,此种新型CBTC系统要以移动通信为基础。
一、CBTC系统通信协议的设计
1、需求分析和设计思想。CBTC系统对安全性的要求非常高,因此,在进行通信协议设计之前,首先需要进行需求分析,主要从系统结构及安全防护措施两个方面来进行分析,之后,再在需求分析的基础上,结合安全传输规范中的方法,提出具体的设计思想。系统结构需求:在进行数据传输的搭建工作时,以标准的TCP/IP四层协议为基础,具体使用的为应用层定义的传输协议,鉴于此点要求,系统结构需求有三种,分别为对上层应用透明、具备安全相关的传输功能及访问保护功能、通信协议的统一性。防护措施要求:在确定防护措施的要求时,要以影响系统安全的危险因素为基础,进而根据EN50159-2标准来进行合理的设计。
2、通信协议架构设计。在进行CBTC系统的通信协议设计时,需要具备三大功能,一是具有独立性,二是对上层应用透明,三是保证双冗余总线发送。基于通信协议功能上的要求,架构设计也应该包含三个层次:第一层次,安全时间层,主要的功能是在进行数据传输时,加盖时间戳,同时,在完成数据接收之后,将数据所带有的时间戳解析出来,通过对比分析,将信息的正确性与实效性予以确定;第二层次,安全链接层,主要功能就是对链接进行管理,从而使链接处于良好的状态当中;第三层次,冗余管理层,安全数据处理完成之后,安全链接层会对其进行打包,而冗余管理层就是对打包之后的数据进行加密,并在两条总线上发送,同时接受发来的报文,进行解密之后传送给上层。
二、CBTC系统通信协议的形式化分析
1、系统模型的分解和验证。对于设计完成的CBTC系统通信协议来说,有三项指标需要进行考察和验证,这三项指标分别为链接建立时间、信息传输延时范围、信道性能对链路状态的影响。在实际的考察和验证中,链接建立过程与实际数据传输过程分别进行验证,在对链接建立过程中进行验证时,主要是对建立时间进行考察,而对实际数据传输过程中进行验证时,主要是对剩余性能指标进行考察,进而通过分解模型,将状态空间科学的分析,使模型的动态特性得到合理的验证。
2、危险分析。CBTC系统在运行的过程中,存在着很多影响安全的危险因素,而危险分析就是对危险因素进行明确,并确定是否采取有效地防护措施。一般来说,在CBTC系统中,存在的危险因素主要有三种:第一,信道的丢包率,在利用信道进行数据传输的过程中,信息丢失的可能性非常大,因而,信道的丢包率是一项非常主要的危险因素,在对其进行分析时,分析的方法为随机数模拟,从而将丢包概率值予以改变,最终得出合理的接受范围;第二,信道的传输延迟,通过分析,将延迟的最大范围进行明确;第三,入侵者的恶意数据,一旦此种危险因素的危险发生,那么CBTC系统就会出现错误,因此,必须要对其采取相应的防护措施。
3、系统的仿真及结果分析。经过前两个步骤,可以分析相关的性能参数并得出结果。在进行系统仿真的过程中,首选需要对链接建立时间进行仿真,进而对其性能进行科学的评价,仿真实验时,建链操作为300次,通过对每次操作时间的考察,进行有效地分析,并得出结果。接着进行信息传输延时范围仿真,采取的是建立模型的方法,同样实验次数为300次,通过取平均值的方式将变化规律确定。第三是对信道性能对链路状态的影响进行仿真,以此来分析状态的好与坏。通过各项系统仿真的结果,对其进行全面的分析后可知,CBTC系统的通信协议具备非常优异的性能,而且安全系数也提高了许多,因此,此次CBTC系统的通信协议设计的安全性非常高,能够满足CBTC系统对安全性的需求,从而保证列车运行控制的有效性。
【关键词】计算机网络;通信协议;TCP/IP;SMTP
一、计算机网络通信协议概述
1.通信协议概念。网络通信协议(Network Communication Protocol),通常简称为网络协议(Network Protocol),就是对计算机之间通信的信息格式、能被收/发双方接受的传送信息内容的一组定义。
2.网络协议的分类。网络协议是一种特殊的软件,是计算机网络实现其功能的最基本机制。网络协议的本质是规则,即各种硬件和软件必须遵循的共同守则。但网络协议又不是一套单独的软件,它通常融合在其他软件系统中。网络协议遍及OSI通信模型的各个层次,从我们非常熟悉TCP/IP、HTTP、FTP协议,到OSPF、IGP等高级路由协议都可以认为是网络协议,有上千种之多。在所有常用的网络协议中,又可以分常用的基础型协议和常用的应用型协议。TCP/IP、IPX/SPX、NetBEUI属于常用的基础型协议;而HTTP、PPP、FTP则属于常用的应用型协议。基础型协议用来提供网络连接服务,它在网络连接和通信活动中必不可少;应用型协议对于网络来说不是必需的,而是在具体应用到网络服务时才需要。
3.网络协议的作用与组成。网络协议所起的主要作用和所适用的应用环境各不相同,有的是专用的,如IPX/SPX就专用于Novell公司的NetWare操作系统,而NetBEUI协议则专用于微软公司的Windows系统;有的则是通用的(当然是相对的),如TCP/IP协议就适用于几乎所有的系统和应用环境。在这么多的网络协议中,一般网络用户只需要着重掌握几种常用和主要的协议即可。网络协议包括语义、语法和时序三个组成部分。语义是对协议元素的含义进行解释,不同类型的协议元素所规定的语义是不同的。语法是将若干个协议元素和数据组合在一起用来表达一个完整的内容所应遵循的格式,也就是对信息的数据结构做一种规定。而时序是对事件实现顺序的详细说明。
二、TCP/IP协议族
TCP/IP协议族从字面上理解只有两个协议:TCP协议和IP协议,而事实上它是一个协议集合,而TCP和IP协议是协议族中最基本的最重要的两个协议。
1.IP协议。(1)IPv4协议。IPv4协议运行在网络层上,可实现异构的网络之间的互连互通。它是一种不可靠、无连接的协议。IPv4定义了在整个TCP/IP互联网上数据传输所用的基本单元,规定了互联网上传输数据的确切格式;IP软件完成路由选择的功能,选择一个数据发送的路径;除了数据格式和路由选择精确而正式的定义之外,还包括一组不可靠分组传送思想的规则。IP协议是TCP/IP互联网设计中最基本的部分。(2)IPv6协议。互联网发展到当前的规模,IPv4协议的建立功不可没。但是同时它的缺点也充分显现出来,如地址空间耗尽、路由表急剧膨胀、缺乏对QoS的支持、移动性差等。尽管采用了许多新的机制来缓解这些问题,如DHCP技术、NAT技术等,但问题没有得到根本解决。终于在1995年12月,IPv6协议诞生,该协议全称“互联网协议第6版”,即下一代的网际协议。相对于IPv4来说,其特点主要有以下两点,首先,讲IPv4的32位IP地址扩大到了128位;另外,在IPv6数据报的首部格式中,用固定格式的扩展首部取代了IPv4中可变长的选项字段。
2.TCP协议。TCP用于在不可靠的互联网上提供可靠的端到端字节流传输服务。在一个TCP连接中,仅有两方进行彼此通信。TCP的功能是:TCP把发送端试题要求发送的数据流分割成适当长度的数据段,然后传给IP层,再由IP层通过网络接口层将包传送给接收端主机。接收端主机接受到数据后,会将数据一路上传给制定的接收端实体。
3.SMTP协议。SMTP协议又称为简单邮件传输协议,是在应用层的协议。主要对如何将电子邮件从发送方传送到接收方,即对传输的规则做了规定。SMTP协议的通信模型并不复杂,主要工作集中在发送SMTP和接受SMTP上:首先针对用户发出的邮件请求,建立发送SMTP(发送方)到接受SMTP(接收方)的双工通信链路,接收方是相对于发送方而言,实际上它既可以是最终的接受者也可以是中间传送者。发送方负责向接收方发送SMTP命令,接收方负责接受并反馈应答。
上面只简单的介绍了几种通信协议,还有很多协议值得研究,如有数据链路层的CSMA/CD协议,应用层的FPT、HTTP和DNS协议等。就是在这些许许多多的通信协议的共同作用下,才能确保网络通信的正常。
参考文献
1 网络通信协议的概念
网络通信协议简称为网络协议,它是一种网络通用语言,为连接不同操作系统和不同硬件体系结构的互联网络提供通信支持。
2 常见的网络通信协议
局域网中常用的通信协议主要有:tcp/ip协议、ipx/spx兼容协议以及netbeui协议。
2.1 tcp/ip协议
tcp/ip协议实际上是tcp协议与ip协议的集合,是最基础也是最重要的两个协议。unix系统中最早使用它,得到目前市场上的绝大多数的厂商和操作系统的支持。在不可靠的互联网上,tcp/ip可以提供可靠的端到端字节流传输服务。首先传给ip层的数据流通过tcp分割成长度适当的数据段后再进行传送,然后接收端主机接收来自ip层传送过来的数据包,最后数据被一步一步上传到制定的接收端实体。目前ip协议有ipv4协议和ipv6两种,其中现阶段采用最为普遍的依旧是ipv4协议,该协议是一种无连接、可靠性较差的协议,他规定了互联网中传输数据的准确格式,在整个tcp/ip协议的网络中数据传输都是具有严格的要求。同时ip软件可以实现路由选择的功能,将一组数据选择好发送的路径,通过不可靠分组传输的思想,将数据在网络中进行传输。再加上ip协议是tcp/ip在互联网设计中最为基础的部分,那么协议的不断发展和更新也是时代进步的标志。然后相对于ipv4来说,随着互联网发展的不断深入,有限的地址空间必定阻碍互联网的进一步发展,于是被称为互联网协议第6版的新一代协议,即ipv6早在1995年底就已经诞生,但被广泛应用和重视的程度,却是近几年才被突显其优势的。
所以相对于ipv4来说,ipv6的优势具体有3点:(1)拥有更大的地址空间,也就是ip地址长度从32位扩大到128位。(2)拥有更小的路由表,即ipv6的地址分配遵循聚类原则,这就使得路由器可以在路由表中用一条记录表示一片子网,从而大大减小了路由表的长度,提高了路由器转发数据包的速度。(3)增加了自动配置的支持功能,这就使得网络在管理上更加便捷、安全,而ipv6网络中用户还可以对网络层的数据进行加密,并对ip进行校验,这就更增强了网络的安全效益。
然而对于windows中的tcp/ip协议来说,用户不但可以通过tcp/ip来组建对等网,还可以很便捷的接入其他的服务器。如果当用户想直接加入windows nt域的话,那么工作站只安装了tcp/ip协议,是不可以登录和访问的。即使工作站能够通过windows nt服务器上的服务器来访问网络,但却无法通过windows nt服务器来登录到它的域,所以只安装了tcp/ip协议的windows用户,需要加入到windows nt域,就必须在windows上还要安装netbeui协议,才能顺利访问到其服务器的域中去。
同时由于tcp/ip本身就具有很高的灵活性,可以支持不同规模的网络,连接所以的服务器和工作站,但这些灵活性的特点也为其带来许多的麻烦,比如在使用netbeui和ipx/spx及其兼容协议时,通常都不需要进行配置,但tcp/ip协议在使用时却要进行复杂的一个设置过程,且每个节点都需要一个ip地址、一个子网掩码、一个默认网关及一个主机名。而在windows nt中,啊可以自动为客户机分配接入网络所需的信息,减轻互联网在工作上的压力,避免错误机会的产生。再加上ipx/spx及兼容协议、tcp/ip都是一种可路由的协议,且tcp/ip的地址是分级的,那么找到网上的用户更容易确定其位置,这样也大大提高了网络宽带的有效利用率。所以当有需要时,运行tcp/ip协议中windows nt的服务器,就可以将其配置成tcp/ip路由器,但与tcp/ip不同的是,ipx/spx协议中的ipx在使用过程中采用的是一种广播协议,经常会出现广播包堵塞等现象,这就使得网络在船传输使用过程中无法获得最佳的带宽。
2.2 ipx/spx及其兼容协议
ipx/spx是novell公司为了适应网络的发展而开发的一种通信协议集,与netbeui的明显区别就是ipx/spx比较庞大,在复杂环境下也依然具有很强的适应性。正因为这个特点ipx/spx在最初的设计中就考虑到多网段的问题,所以具有超强的路由功能,非常适合大型网络的使用;另外,由于ipx/spx及其兼容协议可以通过网络地址来辨别各自的身份,且不需要任何的配置,这也是他的优势所在。同时目前的novell的网络地址由两部分组成,即标明物理网段的‘网络id’和标明特殊设备的‘节点id’。其中网络id主要集中在netware服务器或路由器中,而节点id也就是用户使用不同网卡的id号。因为所有的网络id和节点id都是独有的内部ipx地址,也正是具有网络地址的唯一性,才给ipx/spx带来了如此强大的路由功能。
然而在ipx/spx协议中,ipx是netware自带的最底层的网络协议,它的功能就是负责数据在网络中的传输,但不保证数据是否传输成功,更不提供纠错服务。所以当ipx在负责数据传输时,如果接收节点处在同一网段内,就直接按该节点的id将数据传给它;如果接收节点是远程的,数据将交给netware服务器或路由器中的网络id,继续数据的下一步传输。而spx就是只针对整个协议中传输的数据进行无差错处理,所以将两个协议合并在
转贴于
一起,就是ipx/spx即‘novell的协议集’。综上所述, windows?nt网络和windows的用户,可以利用nwlink协议获得netware服务器的服务,然而当novell环境开始转向微软平台时,就会出现两种平台共存的局面,这时nwlink通信协议便是最好的选择。
2.3 netbeui协议
netbeui协议具有速度快、效率高、体积小的特点。netbeui早已经成为微软主流产品的缺省协议,如windows系统系列中。netbeui的设计主要服务与单网段部门级小型局域网,局域网中互联几台至上百台的pc机。netbios是netbeui中的一个网络接口标准,主要作用是实现pc机之间的互相通信,专门应用于小型局域网,网内pc机数不超过30个。
3 网络通信协议的选择原则
3.1 所选协议要与网络结构和功能相一致
当用户的网络存在多个网段时,就需要使用具备路由和跨网断操作功能的netbeui协议,那么这时就必须选择ipx/spx或tcp/ip等协议。此外,如果你所在的网络规模不大,只是为了简单的设备共文件享的话,这个时候你应该最为关心的是网速问题,所以在此时你应该选择占用内存较小且贷款利用率较高的协议,即netbeui协议。但如果你的网络规模较大且网络结构复杂的时候,就应该选择管理性和扩充性良好的协议,即tcp/ip协议。
3.2 注意协议的版本
由于发展和完善过程的不同,每个的协议都有它合适的网络环境,那么从整体上来看,版本越高功能和性能相对就要好些,所以用户在选择时,尽量在满足网络需求的前提下,选择高版本的通信协议。
3.3 协议的一致性
要使得两台互联的计算机之间实现正常的对话,就需要采用相同的通信协议,相反未采用一致的协议就需要一个中间环节的翻译来进行协议间的转换,这样做只会影响通信速度还不利于网络运行的稳定和安全。