首页 > 文章中心 > 通信协议

通信协议

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇通信协议范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

通信协议

通信协议范文第1篇

关键词: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个字符时间,置协议帧接收完全标志;

通信协议范文第2篇

[关键词]局域网;通信协议;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

通信协议范文第3篇

【关键词】计算机网络;通信协议;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协议等。就是在这些许许多多的通信协议的共同作用下,才能确保网络通信的正常。

参考文献

通信协议范文第4篇

调光系统的应用需要通过通信接口将信息传送给灯具。常用的一种方法是使用0~10V的模拟控制。但是,如果有很多灯具需要设置和管理,这种方法就不方便了。

数字照明控制

使用数字控制系统,通过将照明灯具包含在一个公共的、可寻址的网络中,可以减轻某些模拟控制的复杂度。MCU技术低廉的价格使得在应用中嵌入一种数字协议变得非常简单。有许多种有线和无线的选择可以使用在照明控制应用中。那么,选择哪一种呢?

首先,设计人员要选择协议的媒介――有线还是无线?如果选择有线,那么我们应该使用双绞线还是电力线?如果选择无线,那么我们应该选择哪个频段?对于有线和无线的设备,最大的通信距离是多少?

此外还必须考虑协议的应用层。我们可以与多少部灯具进行通信?有设计专门用于照明的指令集吗?如何在网络中添加或者删除灯具,如何确定每部灯具的地址?在丧失通信或者供电中断之后,每部灯具会做出怎样的反应?照明安装人员安装和配置控制系统的难易程度如何?

可以使用已得到广泛应用的协议,比如TCP/IP或者IEEE 802.11,但是需要传送给每部灯具的数据量非常少而且不是频繁出现。因而我们就需要不时地发送打开、关闭或亮度信息。因此,明智的做法是选择一种简单的协议来缓解对每台灯具中MCU的要求。

因此,我们讨论可能适用于照明控制的两种协议,第一个是“数字可寻址照明接口(DALI)”,它定义在IEC60929规范中,后者定义了电子荧光镇流器的性能规范。

DALI组网方法

DALI规范定义了一种恒定电流总线,它的最大电流是250mA,标称电压是16V。每台设备都通过使用光隔离器电路拉低总线电流(汇电流)的方法向总线发送数据。线路可以位于导线管的内部或者外部,而且连接是与极性无关的,这简化了安装人员的操作。所有灯具的线路都使用星型或者链型的连接接在一起,且使用不间断交流电源为每部灯具供电。

DALI协议非常简单,但它有一套专门为照明装置设计的强大指令集。数据通过Manchester格式以1200b/s的速率进行传递――该速度足够满足照明装置的应用。基本的协议定义包括单个主设备(控制器)以及多达64台受控设备(镇流器)。主设备发出16位的命令或者请求。镇流器设备可以选择返回8位的响应。只有在控制设备发出请求的情况下,镇流器设备才能够向总线发送数据。

控制设备可以包括控制面板、开关、光传感器、占位传感器等。每个控制器可以直接向镇流器设备或者另一个控制器发送消息。例如,某个占位传感器(控制设备)可能需要向主控制面板发送消息,表明房间内有活动。

任何照明控制系统都需要一种通过中央计算机设置节点地址和位置的方式,但是DAM在安装过程中不需要任何设置。节点可以依照任意次序进行添加。指令集包含了一种自动探测、辨别以及向网络中每台镇流器设备指派地址的方法。

你可能认为DALI控制64台镇流器设备的能力是有局限性的,但正是这一局限性可以大大降低购买软件的开销并且也将硬件的使用要求保持在很低水平。完整的协议可以在非常廉价的8位MCU上实现,该MCU带有不超过8KB的程序存储,且没有特殊通信部件。

镇流器设备的常见实现方法如图1所示。20引脚、8位的MCU带有一个用于调节输入信号的比较器,以及控制镇流器亮度级别的PWM。如果需要,这个信号可以经过过滤向镇流器电源电路提供控制电压。

ZigBee无线解决方案

最近有很多关于ZigBee无线通信协议的讨论。实际上,ZigBee是基于IEEE 802.15.4规范所定义的另一无线协议的一个软件层。

IEEE 802.15.4定义了多频段、低数据率无线通信的物理层和媒体访问层。最常用的频段是2.4GHz,它的最大数据速率是250KB/s。

最大的通信距离取决干物理环境,但是通信距离长达250英尺是可能的。IEEE 802.15.4也定义了一种全功能设备(FFD)和一种精简功能设备(RFD)。FFD用于连续电源供应,而且始终可在网络中使用。RFD允许在电池供电、功率消耗要求低的节点进行备用运转。更高层次的协议,比如ZigBee,基于IEEE802.15.4规范可提供应用层的功能。

ZigB ee协议提供了创建多达65536个节点的自组织、低数据率网状网络的功能。存在着不同的ZigBee节点类型。每个网络都有一个位标器,它包含了网络中所有设备的信息,形成网络,并向终端设备分配地址。终端设备接收控制输入并提供状态信息。网络上的设备可以选择承担路由器的功能,它将扩展最大通信距离。

ZigBee最主要的优势之一在于,它保证了与其他设备之间的互操作性。所有的ZigBee产品都必须经过测试和鉴定,而且存在标准的控制配置文件,包括一份用于照明的配置文件。

这些配置文件定义了用于应用的基本数据结构,但是不存在指令集,对于该应用如何使用数据将由开发人员来决定。例如,ZigBee照明配置文件包括了一张表格,表格中的标准变量存放着照明亮度传感器、占位传感器、灯具照明亮度等状态。

典型的ZigBee网络节点(参见图2)由一个2.4GHz的802.15.4收发器和一个MCU组成。所实现的ZigBee节点类型将决定协议栈所需要的代码空间,从RFD终端设备需要的20KB到全功能位标器所需要的40KB。

通信协议范文第5篇

关键词:计算机网络通信协议

0引言

本文就计算机网络通信协议、选择网络通信协议的原则、TCP/IP通信协议的安装、设置和测试等,作进一步的研究和探讨。

1网络通信协议

目前,局域网中常用的通信协议主要有:NetBEUI协议、IPX/SPX兼容协议和TCP/IP协议。

1.1NetBEUI协议①NetBEUI是一种体积小、效率高、速度快的通信协议。在微软如今的主流产品,在Windows和WindowsNT中,NetBEUI已成为其固有的缺省协议。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的。②NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS是IBM用于实现PC间相互通信的标准,是一种在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个。

1.2IPX/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的协议集”。③NWLink通信协议。WindowsNT中提供了两个IPX/SPX的兼容协议:“NWLinkSPX/SPX兼容协议”和“NWLinkNetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。WindowsNT网络和Windows的用户,可以利用NWLink协议获得NetWare服务器的服务。从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。

1.3TCP/IP协议TCP/IP是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。①TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。在WindowsNT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时所需的信息,减轻了联网工作上的负担,并避免了出错。同IPX/SPX及其兼容协议一样,TCP/IP也是一种可路由的协议。TCP/IP的地址是分级的,这使得它很容易确定并找到网上的用户,同时也提高了网络带宽的利用率。当需要时,运行TCP/IP协议的服务器(如WindowsNT服务器)还可以被配置成TCP/IP路由器。与TCP/IP不同的是,IPX/SPX协议中的IPX使用的是一种广播协议,它经常出现广播包堵塞,所以无法获得最佳的网络带宽。②Windows中的TCP/IP协议。Windows的用户不但可以使用TCP/IP组建对等网,而且可以方便地接入其它的服务器。如果Windows工作站只安装了TCP/IP协议,它是不能直接加入WindowsNT域的。虽然该工作站可通过运行在WindowsNT服务器上的服务器(如ProxyServer)来访问Internet,但却不能通过它登录WindowsNT服务器的域。要让只安装TCP/IP协议的Windows用户加入到WindowsNT域,还必须在Windows上安装NetBEUI协议。

③TCP/IP协议在局域网中的配置。只要掌握了一些有关TCP/IP方面的知识,使用起来也非常方便。④IP地址。TCP/IP协议也是靠自己的IP地址来识别在网上的位置和身份的,IP地址同样由“网络ID”和“节点ID”(或称HOSTID,主机地址)两部分组成。一个完整的IP地址用32位(bit)二进制数组成,每8位(1个字节)为一个段(Segment),共4段(Segment1~Segment4),段与段之间用“,”号隔开。为了便于应用,IP地址在实际使用时并不直接用二进制,而是用大家熟悉的十进制数表示,如192.168.0.1等。在选用IP地址时,总的原则是:网络中每个设备的IP地址必须唯一,在不同的设备上不允许出现相同的IP地址。⑤子网掩码。子网掩码是用于对子网的管理,主要是在多网段环境中对IP地址中的“网络ID”进行扩展。例如某个节点的IP地址为192.168.0.1,它是一个C类网。其中前面三段共24位用来表示“网络ID”;而最后一段共8位可以作为“节点ID”自由分配。⑥网关。网关(Gateway)是用来连接异种网络的设置。它充当了一个翻译的身份,负责对不同的通信协议进行翻译,使运行不同协议的两种网络之间可以实现相互通信。如运行TCP/IP协议的WindowsNT用户要访问运行IPX/SPX协议的Novell网络资源时,则必须由网关作为中介。如果两个运行TCP/IP协议的网络之间进行互联,则可以使用WindowsNT所提供的“默认网关”(DefaultGateway)来完成。⑦主机名。网络中唯一能够代表用户或设备身份的只有IP地址。但一般情况下,众多的IP地址不容易记忆,操作起来也不方便。为了改善这种状况,我们可给予每个用户或设备一个有意义的名称,如“HAOYUN”。

2选择网络通信协议的原则

2.1所选协议要与网络结构和功能相一致。如你的网络存在多个网段或要通过路由器相连时,就不能使用不具备路由和跨网段操作功能的NetBEUI协议,而必须选择IPX/SPX或TCP/IP等协议。另外,如果你的网络规模较小,同时只是为了简单的文件和设备的共享,这时你最关心的就是网络速度,所以在选择协议时应选择占用内存小和带宽利用率高的协议,如NetBEUI。当你的网络规模较大,且网络结构复杂时,应选择可管理性和可扩充性较好的协议,如TCP/IP。

2.2除特殊情况外,一个网络尽量只选择一种通信协议。现实中许多人的做法是一次选择多个协议,或选择系统所提供的所有协议,其实这样做是很不可取的。因为每个协议都要占用计算机的内存,选择的协议越多,占用计算机的内存资源就越多。一方面影响了计算机的运行速度,另一方面不利于网络的管理。事实上一个网络中一般一种通信协议就可以满足需要。

2.3注意协议的版本。每个协议都有它的发展和完善过程,因而出现了不同的版本,每个版本的协议都有它最为合适的网络环境。从整体来看,高版本协议的功能和性能要比低版本好。所以在选择时,在满足网络功能要求的前提下,应尽量选择高版本的通信协议。

2.4协议的一致性。如果要让两台实现互联的计算机间进行对话,它们两者使用的通信协议必须相同。否则中间还需要一个“翻译”进行不同协议的转换,这样不仅影响通信速度,同时也不利于网络的安全和稳定运行。

3TCP/IP通信协议的安装、设置和测试

局域网中的一些通信协议,在安装操作系统时会自动安装NetBEUI通信协议;在安装NetWare时,系统会自动安装IPX/SPX通信协议。在3种协议中,NetBEUI和IPX/SPX在安装后不需要进行设置就可以直接使用,但TCP/IP要经过必要的设置。下面是WindowsNT环境下的TCP/IP协议的安装、设置和测试方法。①TCP/IP通信协议的安装:在WindowsNT中,如果未安装有TCP/IP通信协议,可选择“开始/设置/控制面板/网络”,出现“网络”对话框后,选择对话框中的“协议/添加”命令,选取其中的TCP/IP协议,然后单击“确定”按钮。系统会询问你是否要进行“DHCP服务器”的设置。如果你的IP地址是固定的,可选择“否”。随后,系统开始从安装盘中复制所需的文件。②TCP/IP通信协议的设置:在“网络”对话框中选择已安装的TCP/IP协议,打开其“属性”,在指定的位置输入已分配好的“IP地址”和“子网掩码”。如果该用户还要访问其他WindowsNT网络的资源,还可以在“默认网关”处输入网关的地址。③TCP/IP通信协议的测试:当TCP/IP协议安装并设置结束后,为了保证其能够正常工作,在使用前一定要进行测试。笔者建议大家使用系统自带的工具程序PING.EXE,该工具可以检查出任何一个用户是否与同一网段的其他用户连通,是否与其他网段的用户正常连接,同时还能检查出自己的IP地址是否与其他用户的IP地址发生冲突。