APP下载

MSC中基于SDN的拓扑感知RLNC重传方案

2022-04-07姚玉坤任丽丹杜文正

系统工程与电子技术 2022年4期
关键词:网络拓扑蜂窝数据包

姚玉坤, 任丽丹, 任 智, 冯 鑫, 杜文正

(重庆邮电大学通信与信息工程学院, 重庆 400065)

0 引 言

由于5G网络的高速率和大容量需求,传统的网络结构和技术面临重大挑战,例如:缺少网络整体拓扑可能会导致效率降低和特定路径上的拥塞[1],同时,由于无线信道易受干扰等因素,会导致数据包的不必要重传而浪费网络资源。

面对日益增长的移动数据流量,移动小蜂窝(mobile small cell, MSC)[2]成为5G蜂窝网络中处理海量数据的有效解决方案之一[3]。与传统的静态小蜂窝[4]不同,首先,MSC可以根据动态业务负载以高效、经济的方式进行部署,以补充宏蜂窝覆盖漏洞并增强其服务范围[5]。其次,MSC可以移动到更靠近用户设备(user equipments, UEs)的位置,以便UEs接收更强的信号,获得更高的数据速率。最后,采用MSC可以真正从宏蜂窝释放更多的流量[6-7],从而提高系统性能。同时为了更好地适应网络数据流量激增,在5G中引入软件定义网络(software defined network, SDN)[8],将用户面和控制面分离,由不同的网络节点承载。此外,为应对通信链路传输中丢包导致的重传问题,引入网络编码(network coding, NC)[9]在转发数据包之前对其进行编码、重组;其中,随机线性NC(random linear NC,RLNC)[10-11]以其随机选取编码系数和中间节点无需解码即可重新编码分组等特性,被广泛应用。SDN和NC的应用与结合极大地促进了5G蜂窝网络的管理和运营[12]。

在传统的网络中实现NC的主要挑战为在分布式环境中建立编码路径和在路由器中添加NC的相关功能[13],然而SDN以其全局网络拓扑和OpenFlow[14]提供的访问交换机流表的接口,使SDN与NC的结合成为可能,并且逐渐引起诸多学者的关注。最早将NC和SDN技术相联系的是Felician[15]提出的OpenFlow,已经成为网络革新的关键技术和驱动力。但是,该研究并没有将NC与SDN结合,仅仅考虑到OpenFlow面临的各种流中,可能存在由NC产生的数据流,并且,该研究只考虑了蝶形网络,而非随机的实际网络拓扑。Liu和Hua[16]提出的在SDN上实现NC框架(framework for realizing network coding over SDN,NCoS)不单单将NC作为一种服务融合到SDN中,而是将NC的功能添加到SDN控制器和交换机中,真正意义上实现了二者的结合。文献[17]从概念上进一步融合NC与SDN,探讨了二者的结合对5G传输存储网络的重要性——SDN技术带来的灵活性和NC对于网络容量的高效利用,成为5G时代必不可少的关键技术。随后,Yang等[18]利用现有的编码策略,结合服务质量(quality of service, QoS)需求,提出了一种在OpenFlow协议中使用NC的框架(framework to enable networking coding in openflow protocol, NC-OF),推进了NC与SDN相结合的研究工作。在此基础上,Di等[19]为提高网络性能,制定了合理的NC策略,提出了基于SDN的NC架构(SDN-based network coding architecture, SDNC)。考虑到SDN网络中的预约多播式流量等问题,刘道桂[20]提出了一种可保证指定多播速率的网控编码节点选取算法(network orchestrated coding nodes selection, NOCNS),还在寻找流间编码条件下提出了SDN中一种面向流的协作编码(flow-oriented collaborative coding, FCC)算法。Leyva等[21]为减轻长期演进技术升级版(longterm evolution advanced, LTE-A)中基站的负担,同时提高吞吐量和能量增益,有效地进行大规模内容分发,提出了一种NC协作(network-coded cooperation, NCC)协议,相较于之前均未涉及任何网络架构的研究而言,该研究虽是在LTE-A中展开,但未将SDN拓扑发现等功能融入其中。

综合前述工作可以发现,一部分未涉及到任何网络架构,另一部分没有深层次的、基于拓扑与流量特征的协同编码。为了更好地将NC和SDN技术的优势在5G蜂窝网络中有机融合、相互促进,本文提出了一种MSC中基于SDN的拓扑感知RLNC重传机制(topology-aware RLNC retransmission scheme SDN-based in MSC,TRRS),贡献如下:

(1) 为SDN控制器设计端口设备映射表,用于构建全局网络拓扑。

(2) 根据拓扑信息选取最佳编码包为来自同一MSC中丢失数据包的线性组合,并且给出了最佳编码数据包格式。

(3) 提出了基于拓扑信息的RLNC重传方案,该方案分为4步:报告丢失数据包、生成网络拓扑、生成最佳编码包、传输最佳编码包。相比于传统的RLNC,该方案有效地减少了重传次数,增加了网络的吞吐量和弹性,降低了传输能耗。

1 网络架构及问题分析

1.1 网络场景描述

在5G蜂窝系统中,MSC在维持网络连接性、满足时空变化流量需求的同时,为UEs提供更好的蜂窝QoS[3],并且使系统吞吐量得到很大提升。

SDN作为一种全新的组网设计思想,通过将网络的控制与转发分离,构建开放可编程的网络体系架构。OpenFlow是连接SDN控制层和转发层的协议,为网络控制层操作转发层的路由器、交换机等设备提供链路通道[22]。

基于SDN的MSC无线异构网络架构[23]如图1所示,以应用OpenFlow协议为基础,其基本架构主要由核心网、无线接入网、移动终端3部分组成,①其中,核心网主要由核心网OpenFlow控制器(core network OpenFlow controller, NOFC)和核心网OpenFlow协议网关(core network openflow gateway, NOFG)组成;对于每一个无线接入网都包含1个无线网OpenFlow控制器(radio network OpenFlow controller, ROFC)和各类网络无线接入接口(network radio access interface, NRAI);移动终端具备多种无线接入接口可以同时连接不同网络。各部分内的网元设备均支持OpenFlow协议,从而利用SDN技术增加网络弹性,促进各类无线网络的融合。

1.2 问题分析

在图1所示的网络场景中,每个UE都会接收到应用服务器下发的数据包,但由于环境等影响,UEs可能会丢失不同的数据包,因此产生编码机会,若采用传统的RLNC,则所有丢失的数据包将随机组合,并且随机传输给NRAI,从而导致大量冗余数据包的传输,浪费网络资源。若将网络拓扑信息融合到RLNC的编码过程中,则可以根据拓扑信息选取特定的丢失数据包进行组合,并且传输给特定的NRAI,有效减少数据包的重传次数。

2 系统模型

本节将描述本方案采用的系统模型,并陈述RLNC数据包重传方法。

2.1 系统模型

在图1所示的网络场景中,内容分发发生在两个阶段:蜂窝阶段和TRRS阶段。

(1) 蜂窝阶段

首先将NRAI(主要是LTE网中的eNodeB,简写为eNB、3G中NodeB简写为NB、Wi-Fi的AP等)[24-26]从服务器中请求到的内容进行分组,每组包含G个数据包,P={P1,P2,P3,…,PG},用Pi(0≤i≤G)来表示第i个数据包,进而将G个数据包传输给蜂窝内的m个UEs。由于信道干扰等因素,蜂窝阶段传输会存在丢包,因此为每个UE设置了一个接收数据包索引P*,用于定义第k个UE接收到的数据包的顺序:

(1)

(2) TRRS阶段

各UE向该MSC中的NRAI发送丢包报告,NRAI进而将报告传输给SDN控制器,其根据接收到的报告生成网络拓扑,并根据丢失的数据包确定最佳编码包组合,进而传输给服务器生成最佳编码包,并将其发送到目标NRAI,再广播给MSC中的UEs,最后各UE根据接收到的编码包与缓存的数据包解码得到原始数据包。

2.2 分析模型

定义 1数据包类型

在传输过程中,将数据包Pi按照是否被成功接收分为以下两种。

Ri:UEs成功接收的数据包Pi;

Li:UEs未接收到,在传输中丢失的数据包Pi。

每个UE通过报告将有关数据包以及拓扑信息通知给应用服务器,服务器根据接收到的报告生成编码包Ci用于重传,Ci根据是否即时可解分为以下3种。

τ1不可即时解码数据包:Ci包含多个Li;

τ2即时可解码数据包:Ci仅包含一个Li或者τ1中独立线性数据包的数量等于Ci的数量;

τ3冗余数据包:Ci不包含任意一个Li。

结合基于SDN的MCS无线异构蜂窝网络的场景定义。

CBi最佳编码包:来自于同一MSC中丢失数据包的线性组合,即同一NRAI传输的编码包。

主要目的为减少数据包的重传次数R,表示每个UE可以解码所有丢失的数据包之前,应用服务器发送的CBi的总数,此处假设Li≠∅,∀Pi∈P。因此,分析模型的重点在于找到CBi的传输次数Ri。

定义 2CBi数量

蜂窝阶段结束后,定义Gi为每个UE接收到的原始数据包数量;在TRRS阶段,从服务器中传输的CBi的数量为R,n为网络中NRAI的数量。基于此,在期望的传输可靠性为σ的情况下,将R*定义为应用服务器需要传输的最少的CBi数量,即

R*min{R|σ≤FR(R;n)}

(2)

式中:FR为R的累积分布函数(cumulative distribution function,CDF)[25];σ为FR的阈值,其值需根据应用程序内容分发的需求进行选取。

将Ri定义为传输给每个NRAI的CBi的数量,NRAI的索引值为i,总数为n,一代的大小为G:

(3)

(4)

Ri也可定义为第i个NRAI的编码矩阵满秩需要CBi的数量,则Ri的CDF为

(5)

基于此,可得R的CDF为

FR(R)minFR(R;i)

(6)

显然地,对任意FR(R;i)均满足FR(R;i)≥FR(R)。进一步来讲,必然存在解码出整代数据包最低概率的NRAI表示为iϑ满足FR(R;iϑ)=FR(R),因此:

R*min{R|σ≤FR(R;iϑ)}

(7)

2.3 RLNC分组重传

RLNC数据包重传,即使用RLNC组合多个丢失的数据包,在服务器中编码k个重传的数据包可以表示为

(8)

式中:编码系数矩阵β是从随机域F(28)[9-11]中选取的。

RLNC平均数据包重传次数为

(9)

3 TRRS最佳编码包重传方案

首先分析利用MSC中基于SDN的拓扑信息如何减少编码包的传输次数,在此基础上,详细介绍所提出的TRRS最佳编码包重传方案及算法。

3.1 理论分析

在蜂窝阶段结束后每个UE接收到一定数量的数据包,并且将其丢失数据包信息报告给NRAI,考虑如下情形:MSC1中的eNB接收到报告,UE1丢失数据包P1,UE2丢失数据包P2;MSC2中的AP接收到报告,UE3丢失数据包P3,UE4丢失数据包P2;则在服务器中丢失数据包有4种可能的组合:P1+P2+P3、P1+P2、P2+P3、P1+P3。若服务器发送P2+P3给eNB、P1+P2给AP,则UE1无法接收到P1、UE3无法接收到P3,从而导致更多的重传;以上假设情况忽略了拓扑信息,由拓扑情况可知:eNB的最佳编码数据包组合为P1+P2或者P1+P2+P3,AP的最佳编码数据包组合为P2+P3或者P1+P2+P3,因此,若对于每个eNB和AP发送最佳编码包,则只需要重传一次即可使所有MSC中的UEs接收到全部的数据包,从而减少重传次数。

相较于此,在传统未知拓扑情况下的RLNC中,每种编码数据包等概率出现,对于每个NRAI来说,接收到最佳编码数据包的概率均为0.5,因此所有UEs恢复丢失数据包所需的平均重传次数为R=(0.5×2+0.5×1)×2=3次。

由以上分析可得,在已知网络拓扑信息的情况下,应用服务器为每个NRAI发送最佳编码数据包,可以减少传输次数,提高系统的吞吐量。

3.2 TRRS方案设计

图2为系统架构,包括应用服务器、NOFG[27]、SDN控制器、NRAI、UEs。

TRRS算法:

(1) 报告丢失数据包

在蜂窝阶段,NRAI将服务器发送的G个数据包传输给其所属MSC中的UEs,每个UE将其丢失数据包信息报告给其蜂窝内的NRAI,丢失报告包含:UE的MAC-ID、丢失的数据包索引值。

(2) 生成网络拓扑

由于在SDN控制器中包含具有路由计算、状态监测、拓扑发现等功能的模块,因此,网络拓扑信息在SDN控制器中生成。MSC中的NRAI通过OpenFlow协议与SDN控制器进行通信,NRAI将其接收到的丢包报告连同该NRAI的IP地址和端口号信息通过数据流传输给NOFG,通过控制流在SDN控制器中生成网络拓扑,并且将对应于每个NRAI最佳数据包的组合信息附加到丢包报告中发送给应用服务器。由于在移动UEs切换到新的MSC之前,网络拓扑保持不变,因此,端口设备映射信息仅包含在第一个丢包报告中。

(3) 生成最佳编码包

当应用服务器接收到包含丢失数据包、端口设备映射信息、最佳数据包组合的报告后,根据网络拓扑信息,采用RLNC编码方式对数据包进行编码,生成最佳编码包。在此,我们将最佳编码包头根据需要设置为如图3所示的内容,并将最佳编码包头放在IP数据包头后,传输层包头前生成最佳编码包,如图4所示。

(4) 传输最佳编码包

应用服务器将生成的编码包传输给目标NRAI,NRAI将编码包广播给各UE。对于每个UE来说,冗余数据包τ3被丢弃,不可即时解码数据包τ1被缓存,包含不可即时解码数据包的所有线性独立的数据包均用于解码接收到的线性组合的编码包,当移动UEs接收到即时可解码数据包τ2后,更新丢失报告。最终每个节点都会获得丢失的数据包,成功得到完整的数据包。各阶段的丢失数据包索引及端口设备映射表示例如图5所示。

Fig.1基于上述方案设计TRRS算法流程,如图6所示。

在上述方案的基础上设计算法来计算重传次数,以便证明本方案有效地减少了重传次数。由于网络拓扑随着MSC中UEs的移动而变化,TRRS的重传性能取决于拓扑,因此代替直接计算数据包平均重传次数,通过迭代来统计数据包的重传次数。

算法 1 TRRS输入:用户设备m,源文件P,端口设备映射表PT,PM矩阵,UE-IDs=False,重传次数R=0输出:重传次数R

1:for all mi∈mdo2:for all Pj∈Pdo3: if Pj∈Lthen4:PM(mi,Pj)=05: else6:PM(mi,Pj)=17:end if8:end for9:end for10:While 有丢包 do11:[UE-IDs,P-IDs]=find(PM=0)12: for all mi∈UE-IDs AND mi==False do13:T-P-IDs=014:IP=NRAIi-IP15:T-UE-IDs=find(PT=IP)16:T-UE-IDs=True17:ID=find(PM(T-UE-IDs,:)=0)18:T-P-IDs=ID∪T-P-IDs19:CBi=RLNC(T-P-IDs)20:将CBi重传给T-UE-IDs21:R=R+122: if mi接收到τ2 then23:PM(mi,Pj)=124:end if25:end for26: end while

在算法中定义find(PM=K)返回包含在PM中值为K的每个元素组成的向量,find(PT=K)返回包含在PT中值为K的每个元素组成的向量,PM(H,:)表示PM中第H行的所有元素,RLNC(T-P-IDs)表示对T-P-IDs集合中的数据包执行RLNC编码方法。相比于传统的随机结合所有的丢失数据包而言,此算法仅结合来自同一NRAI丢失的数据包,通过将不同的重传编码包广播给不同MSC(通过NRAI的IP地址来识别)中的UEs,从而减少重传次数。最后,当所有的UEs均正确接收到了所有的数据包后,结束重传。

考虑到在实际情况中,虽处于同一MSC,但不同的UEs与NRAI之间的距离不同,因此应用服务器也可能会在不同时间接收到来自不同UEs的报告,此时,应用服务器将重传过程分为多个子进程,每个进程仅对来自于同一NRAI中移动UEs的丢失数据包进行编码,而无需接收到所有移动节点的报告,由于TRRS可以避免来自不同MSC中的UEs冗余丢包组合,因此与未结合MSC的SDNC、未将SDN的拓扑功能用于NC的NCC相比,TRRS可以避免大量冗余编码包的重传。

4 仿真分析

为了评估本文所提出的TRRS重传方案,我们使用OPENT Modeler 14.5平台进行仿真和实验,并与NCC传输和SDNC[19]架构进行比较,以凸显TRRS方案在改善网络性能,减少网络流量中的优势。

4.1 仿真设置

在仿真中,考虑基于SDN的MSC,无线接入网为LTE和WiFi,覆盖范围为200 m2,分别包含1个无线接入接口eNB和AP覆盖范围为100 m2的蜂窝区域[28],每个蜂窝小区内包含m个移动UEs。蜂窝阶段:由NRAI向其蜂窝内的UEs传输服务器下发的G个数据包[21];TRRS阶段:各UE向其所属蜂窝的NRAI发送丢包报告,进而建立端口设备映射表,生成网络拓扑,应用服务器基于此将拓扑感知RLNC的最佳编码包传输给各UE,即可解码得到原始数据包。仿真在Windows 7系统上执行,该系统由配备8 GB RAM的Core i7 3.40 GHz CPU的计算机上配置。表1为仿真参数配置。

表1 参数配置表Table 1 Parameter configuration table

4.2 仿真结果

4.2.1 移动UEs的数量对重传次数的影响

当传输32个原始数据包时,在ε为0.01的情况下,比较UEs的数量对系统中重传次数的影响[29]。由图7可见,随着UEs数量的增加,重传次数也增加,这是由于当UEs数量增加时,网络中传输的数据包数量也会增加,在ε一定的情况下,需要重传的编码包的数量也随之增加,但是TRRS结合MSC卸载蜂窝流量的特点以及其传输最佳编码包,因此具有拓扑信息的NC相比于无拓扑信息和未考虑MSC特点的NC会显示出更高的传输效率。

4.2.2 丢包率对重传次数的影响

当每个MSC包含10个UEs和32个原始数据包时,比较ε对重传次数的影响。由图8可见,由于SDN的拓扑感知功能,TRRS和SDNC方案均优于NCC。随着丢包率从0.01增加到0.16,NCC方案所需重传次数呈指数增长,由式(9)可知SDNC和TRRS方案的重传次数呈线性增长。与SDNC相比,TRRS平均减少了21.3%的重传次数,这是由于无线链路通信质量劣于蜂窝链路,NC的适用性下降,因此基于SDN的蜂窝网络弹性更好。

4.2.3 消耗能量

当ε为0.01时,传输32个原始数据包,比较TRRS、NCC、SDNC 3种方案的平均能耗。由图9可见,随着移动UEs数量的增加,3种传输方案的平均能耗呈稳定增长趋势,但是由于MSC可以从宏蜂窝中卸载数据流量,很大程度上节约了能耗[30],因此TRRS和NCC的平均能耗低于SDNC,由于TRRS传输最佳编码包,减少了传输次数,因此相比于NCC,TRRS的平均能耗减少了12.4%。

5 结 论

本文提出了一种在MSC中基于SDN的具有拓扑感知功能的RLNC最佳编码包重传方案TRRS。所提出的TRRS将由SDN控制器获得的网络拓扑信息嵌入RLNC中,智能地组合丢失数据包,并将其传输给对应的NRAI。实验结果表明,该方案有效地减少了重传次数,增加了网络弹性,降低了蜂窝链路的能耗,节省了网络资源。

猜你喜欢

网络拓扑蜂窝数据包
基于通联关系的通信网络拓扑发现方法
热塑性蜂窝板的平压性能分析
二维隐蔽时间信道构建的研究*
蜂窝住宅
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
“蜂窝”住进轮胎里
2017款捷豹F-PACE网络拓扑图及图注
劳斯莱斯幻影车载网络拓扑图
劳斯莱斯古斯特与魅影网络拓扑图