参考计算机网络的OSI模型,并结合数传电台网络的特点,本协议将数传电台网络体系结构划分为4层:物理层、数据链路层、网络层、传输预处理层,如图2所示。物理层提供基础的通信方式,完成信号的物理编解码、发送及接收工作,在本设计中由数传电台实现。数据链路层一方面负责通信节点间逻辑链路的管理并实现上层信息格式与本层数据帧格式间的转换;另一方面解决无线网络中共享通信信道的各节点间的有序数据通信。网络层定义了与无线网络管理相关的具体规则及策略。传输预处理层为数传电台网络与通用计算机网络传输层(即TCP/UDP等协议所属层)间的接口,本设计为了最大限度的利用电台网络带宽,于该层实现了传输层协议预处理功能,通过引入经典的加解密算法对传输层通信数据进行了有效压缩。数据链路层至传输预处理层的功能在与数传电台配套的嵌入式终端模块中通过编程实现。
1数据链路层
1.1数据帧设计
数据帧是电台网络数据链路层数据的具体组织方式。本协议中的数据帧格式如图3所示。其中,Type字段占一个字节,其中bit0表示该数据帧的类型,‘0’代表普通数据帧,‘1’代表网络管理数据帧;bit1用于区分原帧与应答帧,‘0’代表原帧,‘1’代表应答帧;bit2用于标识该数据帧的本次传输是否由主节点发起,‘0’代表由从节点发起,‘1’代表由主节点发起;bit3-7暂未定义。To字段占一个字节,标识该数据帧的目的地址;From字段占一个字节,标识该数据帧的源地址;Seq.字段占一个字节,用于标识该原帧在发送队列中的序号,接收方正确接收数据后,在应答帧中沿用原帧Seq.值。Data字段占0-64个字节,为实际发送的数据。Resd.字段为保留字段,占一个字节,用于今后协议的扩展。Checksum字段占一个字节,为该数据帧的校验和。
1.2差错控制设计
差错控制保证了数据帧发送的正确性,本设计中该功能由带超时检测的握手机制实现。原理即接收方对每次接收到的数据帧进行应答,发送方在发送数据后即启动定时器,规定时间内未收到应答即重发。因此,一次完整的数据通信过程由两次独立的数据收发构成。
1.3多路访问控制设计
为了解决由多个电台同时发送数据带来的信道污染问题,并最大限度的利用电台的传输带宽,本设计采用了轮询发送机制。主节点作为信道资源的分配者,依次为网络中的各节点分配信道使用权限,各节点在获得信道使用权限后完成一个数据帧的发送。
1.4主节点数据转发流程
本设计中,所有节点间的数据通信均须经过主节点的转发实现。主节点接收到数据帧后如果发现目的地址不是自己,则将Type置‘1’后转发;从节点只接收由中心节点转发的数据,接收处理流程如图4所示。节点发送数据过程较为简单,不再赘述。
2网络层
网络层定义了基于电台的无线网络的组网方式,从节点的注册、注销机制及路由算法等。3.2.1电台网络组网电台网络的组网是在主节点的控制下,由主节点与从节点的交互完成的,具体包括从节点的注册、注销两个过程。从节点的网络注册过程如图5所示,网络注销过程如图6所示。3.2.2路由算法为了降低网络节点由于执行路由算法带来的开销,本设计采用了层次型网络管理模式,一个星型网络代表一个通信子网,各子网间的通信由主节点负责转发。因此,路由表仅须由各子网的主节点负责维护。当一个通信子网的成员变化后,该子网的主节点会向其余各通信子网的主节点发送更新路由表请求,经过各主节点确认后,完成路由表的全网更新。
3传输预处理层
为了进一步更加有效的利用电台的传输带宽,在协议的传输预处理层引入了ASN.1标准中的PER压缩编解码规则,该规则具备冗余度低、编码紧凑、效率高等特点。经设计、编程验证,引入该编码规则后数据量可减少50%以上,带宽利用率明显提高。
4结束语
本文提出了一种基于数传电台的组网解决方案。详细设计了电台网络拓扑结构及网络体系结构,对数据链路层、网络层、传输预处理层进行了清晰的划分并对各层功能的具体实现机制进行了介绍。设计的实现屏蔽了底层具体的通信方式,满足了网络编程的需要,进一步推广了数传电台的应用范围。
作者:张中杰 孙仕胜 张敦键 王登魁