一种基于数传电台的网络通信协议设计

2015-04-20 16:04张中杰孙仕胜张敦键王登魁
电子技术与软件工程 2015年6期
关键词:通信协议网络

张中杰 孙仕胜 张敦键 王登魁

摘 要 数传电台在工业现场有着广泛的应用,该类设备提供了一种在无运营商网络环境下的低成本数据通信方案。然而受限于数传电台的通信机制,多个数传电台间的组网技术是困扰数传电台进一步推广应用的关键问题。本文结合数传电台的通信特点,在借鉴计算机网络设计思想的基础上,提出了一种基于数传电台的网络通信协议。

【关键词】数传电台 网络 通信协议

1 引言

通信网络是制约野外物探作业信息化发展的关键瓶颈。面对不稳定的公共运营商网络以及卫星通信的高昂费用,在现有通信手段的基础上,自主研发实现一套通用的、支持公网通信协议(TCP/UDP)的网络通信系统显得尤为重要。数传电台作为一种低成本、长距离、安装维护方便的数据传输解决方案在石油、煤炭、环境等行业有着较为普遍的应用。但是多个数传电台间的无序数据通信使得目前基于计算机网络编程实现的各类应用软件的移植受到了限制,本文提出了一种以数传电台为底层通信方式的网络通信协议,并从网络拓扑结构、网络体系结构等方面对协议进行了详细的描述。

2 网络拓扑结构设计

由于数传电台的带宽有限,由复杂的网络拓扑带来的路由算法会占用过多的带宽资源,进而影响整个网络的通信效率。同时,经过对目前大量实际应用需求的抽象分析,最终本协议选用了星型网络的拓扑结构为,如图1所示。星型网络中的通信节点分为主节点与从节点。主节点负责整个网络的管理,包括网络组建、从节点的注册与注销管理等。从节点可以发起针对一个网络的注册、注销请求,并在主节点的控制下完成相关工作。在该网络中,所有从节点间的通信必须经过主节点转发。

3 网络体系结构设计

参考计算机网络的OSI模型,并结合数传电台网络的特点,本协议将数传电台网络体系结构划分为4层:物理层、数据链路层、网络层、传输预处理层,如图2所示。

物理层提供基础的通信方式,完成信号的物理编解码、发送及接收工作,在本设计中由数传电台实现。数据链路层一方面负责通信节点间逻辑链路的管理并实现上层信息格式与本层数据帧格式间的转换;另一方面解决无线网络中共享通信信道的各节点间的有序数据通信。网络层定义了与无线网络管理相关的具体规则及策略。传输预处理层为数传电台网络与通用计算机网络传输层(即TCP/UDP等协议所属层)间的接口,本设计为了最大限度的利用电台网络带宽,于该层实现了传输层协议预处理功能,通过引入经典的加解密算法对传输层通信数据进行了有效压缩。数据链路层至传输预处理层的功能在与数传电台配套的嵌入式终端模块中通过编程实现。

3.1 数据链路层

3.1.1 数据帧设计

数据帧是电台网络数据链路层数据的具体组织方式。本协议中的数据帧格式如图3所示。

其中,Type字段占一个字节,其中bit0表示该数据帧的类型,‘0代表普通数据帧,‘1代表网络管理数据帧;bit1用于区分原帧与应答帧,‘0代表原帧,‘1代表应答帧;bit2用于标识该数据帧的本次传输是否由主节点发起,‘0代表由从节点发起,‘1代表由主节点发起;bit3-7暂未定义。To字段占一个字节,标识该数据帧的目的地址;From字段占一个字节,标识该数据帧的源地址;Seq.字段占一个字节,用于标识该原帧在发送队列中的序号,接收方正确接收数据后,在应答帧中沿用原帧Seq.值。Data字段占0-64个字节,为实际发送的数据。Resd.字段为保留字段,占一个字节,用于今后协议的扩展。Checksum字段占一个字节,为该数据帧的校验和。

3.1.2 差错控制设计

差错控制保证了数据帧发送的正确性。本设计中该功能由带超时检测的握手机制实现。原理即接收方对每次接收到的数据帧进行应答,发送方在发送数据后即启动定时器,规定时间内未收到应答即重发。因此,一次完整的数据通信过程由两次独立的数据收发构成。

3.1.3 多路访问控制设计

为了解决由多个电台同时发送数据带来的信道污染问题,并最大限度的利用电台的传输带宽,本设计采用了轮询发送机制。主节点作为信道资源的分配者,依次为网络中的各节点分配信道使用权限,各节点在获得信道使用权限后完成一个数据帧的发送。

3.1.4 主节点数据转发流程

本设计中,所有节点间的数据通信均须经过主节点的转发实现。主节点接收到数据帧后如果发现目的地址不是自己,则将Type置‘1后转发;从节点只接收由中心节点转发的数据,接收处理流程如图4所示。节点发送数据过程较为简单,不再赘述。

3.2 网络层

网络层定义了基于电台的无线网络的组网方式,从节点的注册、注销机制及路由算法等。

3.2.1 电台网络组网

电台网络的组网是在主节点的控制下,由主节点与从节点的交互完成的,具体包括从节点的注册、注销两个过程。从节点的网络注册过程如图5所示,网络注销过程如图6所示。

3.2.2 路由算法

为了降低网络节点由于执行路由算法带来的开销,本设计采用了层次型网络管理模式,一个星型网络代表一个通信子网,各子网间的通信由主节点负责转发。因此,路由表仅须由各子网的主节点负责维护。当一个通信子网的成员变化后,该子网的主节点会向其余各通信子网的主节点发送更新路由表请求,经过各主节点确认后,完成路由表的全网更新。

3.3 传输预处理层

为了进一步更加有效的利用电台的传输带宽,在协议的传输预处理层引入了ASN.1标准中的PER压缩编解码规则,该规则具备冗余度低、编码紧凑、效率高等特点。经设计、编程验证,引入该编码规则后数据量可减少50%以上,带宽利用率明显提高。

4 结束语

本文提出了一种基于数传电台的组网解决方案。详细设计了电台网络拓扑结构及网络体系结构,对数据链路层、网络层、传输预处理层进行了清晰的划分并对各层功能的具体实现机制进行了介绍。设计的实现屏蔽了底层具体的通信方式,满足了网络编程的需要,进一步推广了数传电台的应用范围。

参考文献

[1]李贺禄,蒋凡,杨敬峰等.基于面向对象方法的ASN.1编解码的设计与实现[J].计算机工程,2002,28(12):101-103.

作者单位

北京中油瑞飞信息技术有限责任公司 北京市 100007

猜你喜欢
通信协议网络
DCS本地总线通信协议与FFH1设备互操作技术研究与实现
电子计算机联锁系统通信协议设计和应用
基于Z-Stack通信协议栈的红外地温采集电路设计
计算机网络管理技术探析
刍议计算机网络信息化管理
油气集输系统信息化发展形势展望
基于网络的信息资源组织与评价现状及发展趋势研究
基于网络的中学阅读指导
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现