无线不稳定网络下的可靠高效通信技术

2021-04-20 02:23栾明君王涛李志曹孝元
电子技术与软件工程 2021年2期
关键词:译码喷泉数据包

栾明君 王涛 李志 曹孝元

(1.中国电子科技集团公司第十五研究所 北京市 100083 2.北京跟踪与通信技术研究所 北京市 100094)

1 背景介绍

随着移动通信、卫星通信技术的发展,以及无线传感网络的丰富,未来信息网络对通信机动性的需求越来越高。并且对于一些专用网络,还存在长短波通信手段,因此为实现端到端跨网的可靠高效信息通信,必须充分考虑无线环境下的通信适配问题。首先,对于大部分无线网络场景,其带宽远低于有线网络,并且存在信道衰减、环境干扰等因素影响,造成传输的高时延、时断时续、丢包等共性问题,无线信道实际吞吐量远远低于其最大传输速率,且不同链路存在较大带宽差异和传输特性,例如卫星通信支持2Mbps,各类短波通信支持1.2Kbps~10Kbps 等。同时,由于无线通信链路会受到多种因素的影响,可能存在非对称链路或单向链路。因而传输系统必须根据不同网络特点适配传输才可以达到最好效能。其次,利用无线环境进行通信时,短、超短、卫星通信、数据链等多种链路综合运用中,不可预期的通信链路使用需求和时效性需求,导致传统的人工切换不能满足应用需求,需要传输系统临机筹划使用多种通信链路,即链路综合筹划问题。因此,面向未来网络在实时性、准确性和灵活性上的通信需求,需要针对无线边缘信息服务系统设计稳定的传输优化策略,具备窄带弱连接条件下的容错与适应优化能力。本文主要介绍利用网络编码和多径传输两种技术手段来提升无线网络中的可靠高效通信能力。

2 网络编码

网络纠错编码已成功地应用于各种通信系统中[1]。目前在数据传输中,主要有三种误码控制的方法,即自动请求重发(ARQ)、前向纠错(FEC)和混合纠错(HEC)方式。纠错码通过在源端对数据信号进行编码,例如增加冗余码元、冗余数据包等方式,再将编码后的信号发送出去,这样在接收端能够根据编码规则进行解码,从而自行发现并纠错,即译码过程。

网络纠错编码最大的应用在无线网络中。无线网络不同于有线网络,其信道的不可靠性造成传输信号的随机误码,从而引起更高的丢包。这将导致基于传统拥塞控制协议的网络的连续降速和不断重传。通过在无线网络中使用网络纠错编码,可以对网络信道进行补偿,从而大大提升网络传输可靠性。

在编码理论中,喷泉码(也称为无码率抹除码)是一类抹除码[2],主要应用于大规模数据分发和可靠信号广播等场景。喷泉码的主要原理是基于一定的编码规则从一组源符号中产生一串理论上可以无限多的编码符号序列,在接收端,只需要获得一定数量(大于等于源符号数量)的任意编码符号子集,便可通过译码算法恢复源符号。

目前可实际使用的喷泉码主要有两类:LT 码和Raptor 码[3]。LT 码是第一个可实现的喷泉码,Raptor 码通过在LT 码的基础上加入预编码阶段,将编解码的时间复杂度降为线性,但加入了额外的开销,因而对于窄带网络而言,需要在效率和复杂度方面做权衡。基于LT/Raptor 的喷泉码,在发送端以数据包为基本单位进行编码,编码通常基于一定的概率随机分布(如鲁棒孤波分布)。具体的,通过一定的编码规则(如对随机数量个数据包进行异或操作),将k 个原始数据包生成编码后的编码分组,过程中源节点无需接收反馈信号,并且理论上可以源源不断的产生编码数据包和持续发送。而接收端只要收到k(1+ε)个编码数据包便有较高概率成功译码并恢复全部原始数据包,ε 称为冗余度。当接收端成功完整的接收到所有源数据包后向发送端反馈ACK,发送端停止发送。

喷泉码的工作过程可以形象地用如下比喻解释。源节点S 如同喷泉一般源源不断产生水滴(编码后的数据包),并不停地滴向一个(端到端)或多个水桶K(多播或广播)。每个水滴是喷泉中一些数据包的随机组合,随机选择保证了每次发送的信息对接收节点是有用的。桶在装满水之后(接收足够数量的水滴),即可达到饮用(成功译码)的目的,而不必关心具体是哪一滴水(编码分组)流入桶中。精心设计的数字喷泉码不仅拥有很小的译码开销ε,而且具有简单的编译码方法和很小的编译码复杂度。同时喷泉码还可以有效提高信道容量,使得网络更加健壮。

本文在LT 码基础上,在编码和解码过程中,根据实际场景做出相应的改进,以提升编解码策略的效率,具体的方案如下:

定义每个源数据包为输入符号,每个编码后的数据包为输出符号。

定义LT 码的度分布ρ(d)(d≥1):一个输出符号结点的度等于d 的概率。

2.1 网络编码过程

(1)在发送端将k 个原始输入数据包作为一组,按鲁棒孤波分布Ω(称为编码度分布),在1~k 范围内随机选取一个整数d(d称为编码的度);

(2)在k 个原始数据包中随机选取d 个不同包。除了随机选取的d 个数据包,再加入当前对应序列号的数据包,之后对d+1 个包做异或操作,以保证所有的原始数据包均能在编码后的数据包中体现和包含,消除随机产生的不确定性,减少因随机性带来的原始数据包信息缺失而造成的接收端解码失败。

(3)编码后,数据报头加入编码过程中使用的随机函数生成种子,在接收端利用该种子恢复随机函数,这样可大大减少为了解码而需要在数据报头中携带的信息,从而极大的减少了控制报头开销,提升了传输效率。

2.2 网络解码过程

LT 码的译码算法有两种,BP(后向传播)译码算法和GE(高斯消元)译码算法,本方案中我们采用后者。高斯消元译码可以通过求解多元一次方程的形式得出矩阵的可行解,相比BP 译码具有更简洁的代码实现和可操作性。

本文提出的网络纠错编码技术的应用范围主要可以概括为如下几个方面:

(1)在有线和无线网络上进行高速大文件传输。基于喷泉码的传输基于UDP 协议[4],传输效率高,并且速率不受反馈信号影响,适用于大带宽的文件传输。

(2)无反馈信道的可靠数据多播或广播。由于无需处理反馈信息,可支持任意数量的用户增长。

3 多径传输

利用无线环境进行通信时,短、超短、卫星通信、数据链等多种链路综合运用中,不可预期的通信链路使用需求和时效性需求,导致传统的人工切换不能满足应用需求,需要传输系统临机筹划使用多种通信链路[5]。

针对某些无线边缘网络或者无线终端存在多种无线通信方式,如某些通信节点同时装备卫星通信终端以及短波通信终端,同时多种通信方式可能存在时断时续的情况,提出采用多径传输技术,在点到点的传输中使用多径传输技术将数据在多条路径中按比例分片传输加快传输速度或者在多条路径同时传送相同数据提高数据传输的可靠性。

在边缘网络中进行数据发送时,限于边缘网络的带宽和稳定性,为了使得端对端的数据传输速率更高、可靠性更好,此时,应用层网络根据上层应用的需要,根据实时网络拓扑逻辑链路以及各个链路的网络负载情况,选择多条较优的传输链路,从而实现端对端数据的多路径同步高速传输,如图1所示。

图1:多径传输示意图

图1中位于节点1 的用户的上层应用通过应用层传输协议获取了部分网络拓扑后,发出请求获取位于节点6 的内容服务器上的内容,此时传输层应用协议给出了两条并行的传输链路,一条为1->3->5->6,一条为1->2->4->6,两条链路的带宽分别为100M bps 和10M bps,位于节点6 的应用层传输协议获取数据后,可按照两条路径的带宽比例将数据分成两个部分,分别选择相应的路径进行消息传递,即带宽更大的路径传输更多的数据部分。节点1 同时接受来自两条路径的数据并整合,从而通过同时利用多条传输路径,大大提高了传输效率。另一方面,当某条路径因网络不稳定导致传递过程中断后,在多条路径中可选择另一条路径进行消息传递,提供给节点1 的上层应用,从而提高了传输的可靠性。

多径传输可进一步与网络编码结合,在发送端基于喷泉码进行编码,并同时在多条路径上组播发送,一方面提高了传输效率,另一方面也提高了编码效率。

4 总结

本文针对无线不稳定网络,设计稳定的传输优化策略,具备窄带弱连接条件下的容错与适应优化能力,主要包括利用网络编码和多径传输两种技术手段来提升无线网络中的可靠高效通信能力。基于改进的LT 码对网络数据包进行编解码,可在无需反馈的情况下实现大文件在不稳定网络下的可靠传输。基于多径传输技术,并结合网络编码技术,可同时利用多条传输路径对原数据进行分片、分路同步传输,提高了传输效率和可靠性。

猜你喜欢
译码喷泉数据包
基于校正搜索宽度的极化码译码算法研究
SmartSniff
可乐瓶里的“喷泉”
可乐喷泉
自制喷泉
从霍尔的编码译码理论看弹幕的译码
LDPC 码改进高速译码算法
基于概率裁剪的球形译码算法
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析