原创 通信协议制定总结

2009-10-19 15:17 4175 7 8 分类: 通信

最近一段时间一直在制定和实现一个通信协议规范,在这之前也陆续制定过一些通信协议规范,但制定完成之后,没有去实现并且深入的思考协议的可靠性和可用性。通过这次的项目实践,对通信协议规范有了更深层次的理解,着实惊叹ISO分层协议的伟大之处,佩服协议制定人员的深厚专业功底。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


       目前,在很多仪器设备中都会采用串口、USB或者网口进行数据交互,在使用这些接口时,仪器设计人员通常不会设计很复杂的通信协议,都会采用一些自定义的数据格式进行数据交互。尤其对于串口之类的接口,只提供了物理层接口,所以没有上层通信协议的支持,这种接口使用起来非常的麻烦,并且严重影响了仪器系统通信的可靠性和编程开发人员的复杂度。这个问题已经困扰了企业较长时间,针对这个问题,我们为自行研制的仪器设计了完整的通信协议规范,这种协议规范一次制定,一劳永逸。一方面提高了通信的可靠性;另一方面简化了仪器设计人员的开发复杂度。


 


       协议在制定的过程中需要充分考虑层次的划分,这一点非常重要,层次的划分也就是功能的切分,通信协议的一类功能在一个层次中实现,模块化程度高,便于成果的积淀和功能的扩展。在此,总结一下传输层协议规范制定的一些心得。


 


       传输层在通信链路中的作用显而易见,其主要负责传输通道的逻辑控制,设计的传输层主要实现了链接的管理,传输故障处理,报文差错控制,传输流量控制。这些功能应该是传输层所必需具备的,由于仪器设备与计算机之间的通信模式是点对点的,因此,传输层无需考虑报文乱序问题。采用有状态的链接对数据传输进行管理,可以提高通信可靠性,相对于无链接的协议而言将低了一定的通信效率,但是这点效率的损失对非实时测控系统而言无关紧要。传输故障机制是协议制定时需要考虑的重点,如何最大可能的恢复通信,保证数据的正确传输,使协议设计的一大难点。由于通信双方的处理能力、缓存大小存在较大差异,所以流量控制模型也是需要考虑的重点。对于测控系统而言,命令执行存在一定的相关性,所以,制定的协议需要为应用层提供“确定命令执行”的服务接口。传输层位于接口层和应用层之间,仪器设备的接口可以多样化,不同的接口特性差异巨大(例如,串行接口与网络接口的特性存在差异),所以上层协议的制定不能影响到底层接口的性能发挥,这些都是传输层协议制定时需要考虑的问题。


 


       目前,很多仪器设备都会存在与外界的通信接口,但是很多厂商在设计过程中,只考虑了接口的物理层和数据链路层,没有考虑上层协议的制定,直接导致了仪器设备开发过程的复杂化和不规范化。更重要的是厂商自定义的简单协议很可能存在巨大的安全和稳定性漏洞,使得系统在一定程度上不可用。所以,为通信接口制定协议规范是仪器研发过程中非常必要环节。

文章评论1条评论)

登录后参与讨论

用户1232737 2009-10-26 12:36

同样期待博主继续发出原创好文。
相关推荐阅读
用户411565 2012-12-18 12:58
我的存储之道博客
大家好,最近一直在做存储方面的工作,所以我在51CTO上专门开辟了一个空间讨论存储相关的问题,喜欢存储的朋友可以可以访问我的存储博客: 存储之道 (http://alanwu.blog.51cto...
用户411565 2012-04-06 21:39
SAS Cable可以有多长?
SAS接口是高端硬盘的主流接口,是存储系统的理想选择。我们知道高速信号的传输距离和传输线相关的,那么SAS作为外部通信接口,其Cable线具体可以有多长呢? 我在网上找到上图所示的眼图测...
用户411565 2012-04-06 21:38
对TRIM SCSI命令的一些分析
前一段时间做了一些对SSD方面进行优化的工作,SSD最大的问题在于长时间使用之后,IO性能会急剧下降。其主要问题在于为了防止“写放大”问题的产生,SSD的firmware采用了类似于log方式的算...
用户411565 2012-04-06 21:35
惊叹!我们的跨洋网络
  每次地质自然灾害的时候,总会伴随着网络的问题,这是由于我们的越洋光纤网络出了故障,受到自然力的破坏而导致断裂。越洋光纤,听起来的确是件非常不可思议的事情,工程量非常的巨大,但正是如此伟大的...
用户411565 2012-04-06 21:33
科学仪器网络模型
科学仪器概述     科学仪器发展趋势 科学是从测量开始的,科学仪器是信息技术的源头,是信息产业的重要组成部分,是现代科学与工业的基石。科学仪器产业的发展关系到国家科学研究实力、生...
用户411565 2012-04-06 21:16
谈谈RAID产品与技术
说起RAID,学计算机的同学马上会说RAID技术简单啊,就是将数据条带化,然后计算一些冗余数据,一并写入磁盘。通过RAID技术一方面提高系统的IO性能;另一方面提高系统的可靠性。单纯从RAID的原...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条