APP下载

一种无线通信透传以太网数据分片重传方法

2022-12-02闫乐乐刘小勇

通信电源技术 2022年14期
关键词:分片以太网序号

闫乐乐,刘小勇

(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.火箭军装备部驻廊坊地区军事代表室,河北 廊坊 065000)

0 引 言

以太网业务作为无线通信系统中的主要业务类型,其传输质量是评价通信设备性能好坏的重要指标。通常以太网业务传输是采用透明传输方式,上层业务处理在通信设备层面是不可见的,业务层也不必清楚具体信道层面的实现细节。并且无线信道底层协议可承载最大帧长往往小于以太网标准最大帧长,依靠传输设备协议拆组包势必带来很大的信道和资源开销[1]。另一方面,由于复杂不稳定的无线信道环境会导致业务数据在传输过程产生误码现象,丢包率随着误码率升高而上升,进而极大影响上层的业务通信质量[2]。即使在以太网协议传输层增加重传机制(如TCP协议),信道频繁的分片数据丢失会导致整个分组数据的频繁重传,信道利用率会大大下降[3,4]。综合考虑以上因素,为了提高通信可靠性,本文从信道帧长适配以及在低层增加轻量级重传机制角度设计实现了一种无线通信透传以太网数据分片重传协议和装置。

1 分片重传协议设计

1.1 总体设计

无线通信透传以太网数据分片重传协议,包括业务接口模块、拆帧模块、组帧模块、数据缓存管理模块和信道接口模块,信号流程如图1所示。

业务接口模块包含数据接口和控制接口,数据接口负责接收所有上层以太网数据帧,对无用的杂包进行过滤以节省信道带宽资源,将有用的数据帧输出至拆帧模块,以及将经过组帧模块正确组帧后的完整以太网帧发送至上层业务端。控制接口负责接收上层监控端的控制数据以调整工作参数。

拆帧模块负责将业务接口模块来的标准以太网帧按长度拆分成适合信道接入设备的分片数据,添加利于收端组帧模块处理的帧头和校验字段后封装成小帧输出至原始数据缓存和重传数据缓存[5]。

原始数据缓存、重传数据缓存和ACK应答缓存中存放有将要发送至信道接入设备的小帧数据和重传次数以及加入队列时间等控制信息,在缓存控制器的作用下按照ACK应答缓存>重传数据缓存>发送数据缓存的优先级排队发送至信道接口模块。

信道接口模块包含数据接口和控制接口,数据接口负责将不同缓存送来的小帧发送给信道接入设备,同时接收信道接入设备发来的数据并送至组帧模块处理。控制接口负责接收信道接入设备发来的信道状态参数,并适应性地调整工作参数。

组帧模块负责将收到的信道小帧组合成为完整以太网帧并发送至业务接口模块,并提取收到的数据帧序号信息送至ACK应答缓存,以及提取接收到的ACK帧信息给缓存控制器处理重传数据缓存。

1.2 帧结构设计

1.2.1 数据帧结构

以太网标准数据帧长度为64~1518 Bytes,除去4 Bytes帧校验序列(Frame Check Sequence,FCS),网卡裸抓下来长度为60~1514 Bytes[6]。本文以太网数据分片长度为190 Bytes,分片数据帧结构如图2所示。

其中Type、Seq、Subseq、Len字段组成了小帧头部,Type表示小帧类型,用来区分数据帧和ACK应答帧;Seq表示大帧序号,范围0~65 535;Subseq表示小帧序号,范围0~7,用来标记该小帧处于大帧的什么位置;Len用来表示Data数据长度;Last标记位用来表示该小帧是否为大帧的最后一片;Data为有效的分片数据;Chksum为CRC-16校验字段。数据帧有效长度为7~196 Bytes,相当于减小了以太网帧最大长度,分片数据帧格式能够更好地适应无线信道特点,在信道存在误码的情况下减小丢包概率。

1.2.2 ACK帧结构

ACK应答帧结构如图3所示。

图3中,Type表示小帧类型;Num_int为已经组帧成功的大帧序号个数,Int_seqs表示具体Num_int个大帧序号;Num_part表示未组帧成功的大帧序号个数;Part_seqs表示这些大帧的具体接收状态信息,这其中包含3部分内容,第1部分是未收全小帧即组帧未成功的大帧序号Seq,第2部分是该大帧序号下已经接收到的小帧个数Num_in,第3部分是具体的小帧序号Subseq;Chksum为帧校验。

整个ACK应答帧的最大长度需与数据帧保持一致以适应信道特征。组帧模块判断接收到的数据是ACK应答帧,则解析出对端已成功接收的帧序号信息,输入到本端的重传缓冲,执行重传缓冲删除相应序号帧的操作。这种将组帧成功与否的大帧序号进行分类填充的方法(ACK信息聚合)相比ACK回复所有接收包序号的方式,可以减少ACK应答数据量降低信道开销。帧中包含整个接收端收包状态信息,能够在小帧丢包情况下达到选择重传效果,极大减少重传数据量,并且降低以太网包丢包率。

重传缓存数据发送的前提是超时时间内未接收到ACK回复,超时时间由信道状态信息决定。ACK应答缓存数据发送的前提为ACK缓存数据已满或超时未传送,设置ACK缓存超时时间目的是能够在业务量极少情况下及时获取ACK应答以节约系统内部资源,提高性能。当收到的小数据帧循环冗余验码(Cyclic Redundancy Check,CRC)校验正确后需放入组包缓存,由于系统资源受限,组包缓存需循环利用,每个大帧应该在组包缓存超时时间内完成组帧操作。

2 协议仿真结果

无线信道下误包率PER和误码率BER和帧长L的关系为

可以看出在一定误码率下,误包率会随着帧长的增加而增加[7]。在误码率为10-5、最大重传次数为1次的情况下,计算不同帧长下引入分片重传机制前后的误包率,如图4所示。由图4可见,本文分片重传协议能够明显降低误包率。

根据数据帧和ACK(信息聚合前后)帧格式计算不同以太网帧长情况下的协议开销,如图5所示。

由图5可知,在ACK使用信息聚合后,协议开销在不同以太网帧长下均下降,并且帧长越大效果越显著。

3 结 论

本文主要解决了无线信道以太网数据透明传输的可靠性问题,提出一种无线通信透传以太网数据分片重传方法,协议分析与仿真结果表明,该方法在增加有限的带宽开销的情况下可极大降低以太网误帧率,提高业务传输质量。特别适用于误码率较高的无线信道下对以太网数据传输有高可靠性要求的场合。

猜你喜欢

分片以太网序号
上下分片與詞的時空佈局
利用状态归约处理跨分片交易的多轮验证方案①
物联网区块链中基于演化博弈的分片算法
基于模糊二分查找的帧分片算法设计与实现
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
基于以太网的计算机与数控系统通信技术研究
技术指标选股
技术指标选股
技术指标选股