如何定义和评价通讯协议通讯协议

cenam 2009-07-02 03:15:41
工作中需要定义两台设备的通讯协议,不知道如何定义比较有效,需要考虑实时性,可靠性.如何考虑出错后恢复.
...全文
371 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_liuyong 2009-07-07
  • 打赏
  • 举报
回复
通讯协议?
域?还是简单的TCP/IP协议?还是VPN?
具体点!
Arnold9009 2009-07-04
  • 打赏
  • 举报
回复
物理层是什么?

不同的物理层,协议也不同的

楼上介绍的都是网口的协议

如果是485接口或现场总线接口,需要用MODBUS或现场总线协议(好多种可选)

如果要求高的话,还是选择现在比较流行的协议,不过现成的协议,很多都是不公开的,而且一般都比较复杂,考虑都比较周全
如果要求不高的话,可以自定义一个简单协议
chenzhp 2009-07-02
  • 打赏
  • 举报
回复
如何选择局域网中的通信协议
03-11-25 13:07 发表于:《DIY之家》 

做过网络人都知道,要实现网络间的正常通信就必需选择合适的通信协议,否则轻则就会造成网络的接入速度太慢,工作不稳定,重则根本无法接通。今天我把我实际工作积累的此方面经验与大家分享,希望对还在迷茫中的您所有帮助!
  由于一些误导,有很多朋友误认为通信协议就是TCP/IP协议,只要安装了它任何网络都可正常连通,认为其它协议没有用,事实上,不同的网络协议都有其存在的必要。每一协议都有它所依赖的主要操作系统,不能随便选取。在一个网络中运行良好的协议,在另一个却未必能行得通,下面就本人这么几年来在局域网组建中选择网络通信协议的经验谈一谈各种主流操作系统下协议的选择与配置。
  要很好地选择与配置协议就一定要先了解目前各主要协议所适用的范围。在目前Internet时代,也许大家听的最多,用得最多还是TCP/IP协议,在很大程度上,似乎它就是协议的代名字,甚至有些朋友认为不管它三七二十一,统统装上TCP/IP协议就一定能实现成功连网,其实不然,或许您真的一装上它网络就能连通,那只不过是碰得好,您的网络太单一,而且正好是只需要安装TCP/IP协议就能连通的网络类型,要是再复杂一点,如我下所说种种网络类型,您未必那么幸运。还是先谈各协议的主要用途和特点吧。

一、 通信协议的种类和特点

  目前常见的通信协议主要有:NetBEUI、IPX/SPX、NWLink、TCP/IP,在这几种协议中用得最多、最为复杂的当然还是TCP/IP协议,最为简单的是NetBEUI协议,它简单得不需要任何设置即可成功配置。

1、 NetBEUI协议

  NetBEUI协议它的全称是:NetBIOS Extend User Interface,即用户扩展接口,它是由IBM于1985年公司开发的,它是一种体积小、效率高、速度快的通信协议,同时它也是微软最为喜爱的一种协议。它主要适用于早期的微软操作系统如:DOS、LAN Manager、Windows3.x和Windows for Workgroup,但微软在当今流行的WIN9X和WINNT中仍把它视为固有缺省协议,由此可见它并不是我们所认为是“多余”的,而且在有的操作系统中连网还是必不可少的,如在用WIN9X和WINME组网进入NT网络时一定不能仅用TCP/IP协议,还必需加上“NetBEUI”协议,否则就无法实现网络连通,不信试试看!

  因为它的出现比较早,也就有它的局限性,NetBEUI是专门为几台到百多机所组成的单段网络而设计的,它不具有跨网段工作的能力,也就是说它不具有“路由”功能,如果您在一服务器或工作站上安装了多个网卡作网桥时,将不能使用NetBEUI作为通信协议,这一点必需记清楚!

  NetBEUI通信协议的特点就是:a、体积小,因原来就要是DOS、LAN Manger等较低版本的操作系统,故它对系统的要求不高,运行后占用系统资源最少;b、上面已讲过,也恐是因为主要服务的对象较低版本的操作系统,它不具有路由功能,不能实现跨网络通信;c、因为简单,对系统要求低,也就适合初学组网人员学习使用。

2、 IPX/SPX协议

  IPX/SPX协议的全称为:Internetwork Packet Exchange/Sequences Packet Exchange,网际包交换/顺序包交换。它是NOVELL公司为了适应网络的发展而开发的通信协议,它的体积比较大,但它在复杂环境下有很强的适应性,同时它也具有“路由”功能,能实现多网段间的跨段通信。当用户接入的是NetWare服务器时,IPX/SPX及其兼容协议应是最好的选择。但如在Windows环境中一般不用它,特别要强调的是在NT网络和WIN9X对等网中无法直接用IPX/SPX进行通信。

  IPX/SPX的工作方式较简单,不需要任何配置,它可通过“网络地址”来识别自己的身份。在整个协议中IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据传输是否成功,而SPX在协议中负责对整个传输的数据进行无差错处理。在NT中提供了两个IPX/SPX的兼容协议:NWLink IPX/SPX 兼容协议、NWLink NetBIOS,两者统称为NWLink 通信协议。它继承了IPX/SPX协议的优点,更适应了微软的操作系统和网络环境,当需要利用Windows系统进入NetWare服务器时,NWLink通信协议是最好的选择。

3、 TCP/IP协议

  TCP/IP协议的全称是:Transmission Control Protocol /Internet Protocol,即传输控制协议/网际协议。它是微软公司为了适应不断发展的网络,实现自己主流操作系统与其它系统间不同网络的互连而收购开发的,它是目前最常用的一种协议(包括INTERNET),也可算是网络通信协议的一种通信标准协议,同时它也是最复杂、最为庞大的一种协议。TCP/IP协议最早用于UNIX系统中,现在是Internet的基础协议。

  TCP/IP通信协议具有很灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站,正因为的灵活性也带来了它的复杂性,它需要针对不同网络进行不同设置,且每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。但是在局域网中微软为了简化TCP/IP协议的设置,在NT中配置了一个动态主机配置协议(DHCP),它可客户端自动分配一个IP地址,避免了出错。

  TCP/IP通信协议当然也有“路由”功能,它的地址是分级的,不同于IPX/SPX协议,这样系统就很容易找到网上的用户,IPX/SPX协议用的是一种广播协议,它经常会出现广播包堵塞,无法获得最佳网络带宽。但特别要注意的一点就是在用WIN9X和WINME组网进入NT网络时一定不能仅用TCP/IP协议,还必需加上“NetBEUI”协议,否则就无法实现网络连通。

二、 协议选择的原则

我们在选择网络通信协议时为了尽量做到一次成功,最好遵循以下原则:

1、 所选择的协议要与网络结构、功能一致

如果您的网络有网桥等类似路由设备,则必需选择具有路由功能的协议,如IPX/SPX、TCP/IP等,绝对不能选择NetBEUI作为通信协议。但是您的网络没有路由选择功能,只是单一的网段,能用NetBEUI作为通信协议的尽量选用,因为此协议占用系统资源最少,运行速度最快,如在DOS下与NT服务器相连,则最好选用NetBEUI作为通信协议,它比TCP/IP协议快且稳定,这一点我是深有体会的。以前我们公司在DOS通常用TCP/IP作为协议,但总是出现死机,有时根本连不上网,但改用`NetBEUI作为通信协议后,系统性能一下得到了提高。要注意的一点是如果用NetBEUI作为通信协议,则在您的NT服务器上同时也要装上此协议,否则根本行不通!还有就是在WIN9X(包括WINME)要实现与NT服务器成功连网则必需在客户和服务端安装上`NetBEUI协议,否则可能连不上网,这一点我也做过多次试验。当然对于较复杂的网络还是选择TCP/IP协议好。

2、 尽量选用一种协议

如果可能的话最好只选用一种通信协议,因为每一仲协议都要占用系统的内存资源的,会影响系统的工作效率的,在绝大多数情况下一种协议是完全可以满足连网需求的。

3、 保持协议的一致性

当您的网络要与其它网络进行通信时,要注意的是两个网络在协议的选择方面尽量一致,因为如果不一致,会导致在通信时互不相认,不过一般现在的通信协议标准中TCP/IP协议为绝大多数协议所接纳、兼容,不过安装TCP/IP协议一般是不会有这种不相认的现象出现的。

chenzhp 2009-07-02
  • 打赏
  • 举报
回复
到底选择哪一种协议通常是由需要创建的应用程序决定的。下面的几个问题将有助于选择适宜的协议:

在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要,使用 TCP 协议,在收发数据之前先建立明确的连接。


数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP 协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。


数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候需要通知某个计算机,UDP 协议是更适宜的。UDP 协议适合发送少量的数据

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧