一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于分组类型识别的任务卸载公平性传输方法

2022-06-11 13:45:08 来源:中国专利 TAG:


1.本发明涉及车联网技术领域,尤其涉及一种基于分组类型识别的任务卸载公平性传输方法。


背景技术:

2.车联网通常由车辆单元obu(on board unit)及路边单元rsu(roadside unit)构成。车间通信可以不依赖rsu,使用自组织联网方式实现数据传输,但当车辆与internet互访时,可通过rsu实现数据交换。随着车联网的普及,用户和车辆会产生大量数据和计算需求。在车联网中,车辆obu具有一定的计算和存储能力。然而车辆仅依靠自身有限的计算及存储资源难以支持计算密集型的服务。云计算虽然能够解决车辆计算资源不足的问题,但是其远距离部署会导致不可预测的时延,另外也会增加带宽开销。
3.针对车辆资源不足与云服务器通信延时等问题,车载边缘计算(vehicular edgecomputing,vec)技术在无线网络边缘部署服务器,就近为车辆用户提供计算与存储功能,降低数据传输延迟并减轻云服务器的负担。任务车辆利用车-车通信(vehicle-to-vehicle, v2v)或车-设施(vehicle-to-infrastructure,v2i)通信传输数据。rsu侧部署的边缘服务器具有比较丰富的计算和缓存资源,负责车辆数据的收集、分发和处理,也可以把数据上传给云服务器。因此,vec可以实现应用、服务和内容的本地化、近距离、分布式部署。作为实现vec的关键技术,任务卸载是指作为源节点的obu传输任务或部分任务至rsu目的节点,再经过边缘服务器计算,将结果返回车辆。vec任务卸载示意图如图8所示。
4.迄今为止,任务卸载研究取得了一系列进展,但有关研究也存在一些问题。任务卸载本质上属于车到基站(v2i)的上行数据通信。而真实车联网环境中,其他车辆也可能请求边缘服务器或外网的数据资源,网络中也存在基站到车(i2v)的下行流量。如图8所示拓扑中,车辆节点v1至v6卸载任务至边缘服务器,发送的tcp流量经过基站rsu到达服务器,服务器则返回传输层的tcp-ack确认分组,再经过rsu发送至车辆tcp源节点。而服务器主动发送的udp业务流分组也经过rsu发送至目的车辆v7。
5.因此,目前的任务卸载研究主要关注上行数据传输机制与性能,没有考虑下行业务流的存在及其对任务卸载的影响,这导致任务卸载研究过于理想化,限制了任务卸载在真实车联网中的实现和推广。
6.互联网的核心是ip协议,它依靠ip报文传送数据。但ip报文采用“尽力而为”的传输机制,不考虑ip报文的丢失问题,也不考虑流量控制。因此,当用户要实现任务卸载的可靠传输,需要在传输层上使用tcp协议。tcp通过传输层确认(acknowledge,ack)机制,保证数据通信的完整性和可靠性,同时实现速率控制,防止网络拥塞。tcp协议规定,源端发送tcp数据分组后,在规定时间内收不到目的端发送的传输层ack分组,则认为tcp数据分组未能到达目的端,源端会重传上述tcp数据分组,并判定tcp数据分组丢失的原因是网络拥塞,源端降低自身的发送速率,以缓解网络拥塞。由此可见,tcp业务通过提高传输时延,以降低部分传输效率为代价,换取传输的可靠性。因此,tcp业务的特点是可靠性高,但传输数据量
受网络状态影响。
7.udp机制没有分组丢失重传与流量控制机制,因此udp业务主要用于高速传输和实时性较高的场合,例如即时通信和视频通信。上述应用可以容忍一定程度的分组丢失,但对实时性要求较高,如果采用确认和重传机制,会导致较大的时延,这是即时通信和视频通信无法接受的。因此,udp业务的特点是传输效率高,但可靠性较差。
8.当网络出现拥塞,tcp分组丢失后,tcp源端未能在规定的时间内收到传输层ack分组,则会降低发送速率。udp流量没有流量控制机制,所以会迅速占满rsu基站的发送缓冲区队列,造成rsu处分组排队,最终导致大量分组丢失(包括传输层ack分组和udp分组)。但由于udp无需传输层确认,仍然会继续发送数据,而tcp源端则因为无法接收到传输层 ack分组,降低发送速率。所以,在车联网混合流业务环境中,通信带宽极易被下行的udp 业务占用,tcp流量处于“饿死”状态,车辆无法完成tcp业务的任务卸载。
9.为了更好地说明上述问题,设计混合业务场景的任务卸载,网络拓扑如图8所示。在车联网中设置7个车辆节点,各车的mac层带宽均为12mb/s,其中6个节点(v1,v2, v3,v4,v5,v6)均为任务车辆,负责向边缘服务器卸载tcp数据任务,1个节点(v7)为不发送应用数据的接收节点,负责接收边缘服务器发送的udp业务数据。设置1个基站rsu,分别配置802.11p无线网络接口和有线网络接口,负责转发数据。rsu的802.11p协议为默认配置,退避机制对所有分组均采用相同的竞争窗口cw
min
=16。rsu无差别地接收并发送所有业务分组,队列算法为去尾(droptail),即当rsu发送缓冲区满队列时丢弃队尾的分组,队列最大长度为50个分组。设置1个边缘服务器server,分别配置其为tcp业务的目的端和udp业务的源端,udp业务发送速率为10mb/s。换言之,该边缘服务器作为目的端接收来自6个车辆(v1,v2,v3,v4,v5,v6)的tcp业务数据,同时作为源端发送udp业务数据至车辆(v7)。设置相应的发射功率,保证所有车辆与基站rsu都在彼此的传输范围之内。实验时长均为10秒。tcp数据与udp数据分组长度均为1000b,tcp-ack分组长度为40b。
10.混合业务任务卸载场景下默认算法的分组接收数和分组端到端延迟情况,分别如图6、图7所示。
11.图6可见,车联网存在下行udp业务时,6个车辆节点合计成功卸载tcp收包数仅945 个。而服务器发送至车辆v7的udp业务收包数达到8834个,占整网收包数的90.3%。实验结果显示,混合业务场景下的车辆tcp任务卸载受到明显抑制,带宽被udp抢占,基本无法实现有效的tcp业务。图7也可见,udp业务流传输的分组数确实远多于tcp业务。由于带宽被udp下行流占用,tcp只能零星发送业务分组,tcp分组的平均端到端延迟较小,仅为0.0171秒,而udp分组的平均端到端延迟为0.0603秒。综合图6与图7,由于udp没有流量控制,udp分组很容易占据基站rsu发送缓冲区,导致缓冲区满队列。因无法进入队列, droptail队列算法使得tcp-ack分组大量丢失。而由于收不到传输层ack分组,tcp源端无法继续发送后续数据,tcp流量急剧下降,导致v2i方向的tcp任务卸载无法完成。所以需要研究如何保障混合业务场景下的tcp任务卸载性能。
12.如何解决上述技术问题为本发明面临的课题。


技术实现要素:

13.本发明的目的在于提供一种基于分组类型识别的任务卸载公平性传输方法,本发
明既可以保障tcp任务卸载的上行业务,又可以维持udp下行业务,此外,由于不涉及通信发送端和目的端的协议修改与配置,仅需在基站rsu处配置算法及参数,本发明对车辆及边缘服务器都属于透明传输,便于推广与实现。
14.本发明是通过如下措施实现的:一种基于分组类型识别的任务卸载公平性传输方法,包括以下步骤:
15.步骤一,分组类型识别,边缘服务器发送的分组,rsu对其类型进行识别,读取它们的报文首部,判断分组类型是tcp-ack分组或udp业务分组;
16.步骤二,分组进入队列的位置安排,基站rsu根据分组类型识别结果,对tcp-ack分组,插入发送缓冲区的分组队列的首部位置,而对udp业务分组,则置于队列尾部位置。因此,队列中的tcp-ack分组不会排在udp业务分组之后,减少tcp-ack分组排队等待时间,也可降低tcp-ack分组大量队尾丢失的概率;
17.步骤三,以字节为统计单位的队列分组丢弃,新分组入队后,以字节为单位,统计该分组长度l
p
与rsu发送缓冲区的分组队列原有长度l
old
,计算发送缓冲区的分组队列现有长度l
new
,规定缓冲区队列最大长度为q
max
(单位字节),根据l
new
与q
max
数值比较结果,rsu丢弃特定分组或保留分组;
18.步骤四,mac层竞争窗口值动态设置,对不同类型的分组,基站mac层采用不同的竞争窗口cw
min
数值。
19.进一步地,所述步骤一中分组类型识别具体内容为:
20.当边缘服务器发送的tcp-ack分组和udp业务分组,经过有线信道到达基站rsu后,rsu 需要向车辆转发上述两类分组,tcp业务流的ack分组(分组长度为40b),其作用是返回 tcp源端,告知边缘服务器已经接收到了tcp分组,车辆tcp源端才能发送后续tcp数据分组;udp分组(分组长度为1000b),其作用是承载边缘服务器发送至车辆的业务数据,可见,上述两类分组的作用与长度均不一致,需要rsu区分对待,否则会带来严重的传输不公平现象。
21.rsu对边缘服务器发送的分组进行类型识别,读取它们的报文首部,判断分组类型是 tcp-ack分组或者udp业务分组。
22.(1)rsu接收边缘服务器发送的各类分组;
23.(2)rsu读取接收到的ip报文的首部“上层协议标识”字段;
24.(3)如果“上层协议标识”字段值为“00000110”,则判定接收分组为tcp业务。
25.step1:读取tcp分组的首部“ack”字段,数值为1,表示该分组为tcp-ack分组;
26.step2:读取tcp分组的首部“ack”字段,数值为0,表示该分组为tcp-数据分组;
27.(4)如果“上层协议标识”字段值为“00010001”,则判定接收分组为udp分组。
28.进一步地,所述步骤二中分组进入队列的位置安排具体包括以下内容:
29.当服务器向rsu发送大量分组,由于802.11p的无线带宽较小,rsu无法将这些数据瞬时转发至各车,所以rsu默认按到达的先后顺序将上述分组缓存到自身的发送缓冲区队列尾部位置,这产生了两个问题,第一,tcp-ack分组长度远远短于udp业务分组,ack分组必须等待队列中所有排在自身之前的udp分组转发完毕后,才能获得转发,这带来了不必要的延迟,容易造成tcp源端启动拥塞超时机制,不必要地降低tcp源端发送速率,第二,如果队列中已经存在大量udp业务分组,后至的tcp-ack分组很可能因队列满而被去尾丢弃,也会让tcp源端启动拥塞超时机制,降低发送速率。
30.所以,为了保证tcp任务卸载性能,基站rsu在识别分组类型的基础上,对tcp-ack分组,插入发送缓冲区的分组队列的首部位置,而udp业务分组则置于队列尾部位置,因此,队列中的tcp-ack分组不会排在udp业务分组之后,减少tcp-ack分组排队等待时间,也可降低tcp-ack分组大量队尾丢失的概率。
31.(1)对tcp-ack分组,插入rsu发送缓冲区的分组队列的首部位置
32.(2)对udp分组,插入rsu发送缓冲区的分组队列的尾部位置。
33.进一步地,所述步骤三中以字节为统计单位的队列分组丢弃具体包括以下内容:
34.车联网中服务器发往车辆的所有数据都需要经过基站rsu,再利用rsu的802.11p无线接口发送至目标车辆,而rsu有线接口带宽远大于无线接口带宽,因此rsu会成为下行数据流的瓶颈节点,服务器发送的分组一般会在rsu发送缓冲区排队,等待无线接口的转发,但rsu的发送缓冲区不可能无限大,因此当排队分组超过缓冲区最大值(rsu允许的最大队列长度)时,队列将对无法进入队尾的分组进行丢弃。需要说明的是,即使不考虑成本,发送缓冲区也不能设置过大,因为如果允许长队列存在,虽然丢弃分组现象会减少,但也意味着分组在长队列中等待的时间会增加。tcp机制设置了ack分组传输超时机制,源端在规定的时间内未收到ack分组,也会判定分组丢失,所以发送缓冲区会设置一个合理的队列长度最大值。
35.通常基站rsu以分组个数作为队列长度的衡量指标,例如规定rsu无线接口发送缓冲区的最大队列长度为100个分组。混合业务环境下,rsu需要同时缓存udp与tcp-ack分组,但两种分组的长度并不一致,前者通常为1000b,而后者通常为40b。这意味着rsu缓存25 个tcp-ack分组与缓存1个udp分组,占用的发送缓冲区容量是相等的。如果基站rsu仍以分组个数衡量分组队列长度,则会高估分组队列实际占用缓冲区容量情况。例如,rsu缓冲区当前有75个tcp-ack分组与25个udp分组,假设rsu无线接口发送缓冲区的最大队列长度为100个分组,则rsu此时必须丢弃后续到达的分组。但实际上,由于75个tcp-ack 分组长度等于3个udp分组长度,所以rsu缓冲区实际仅占用了28个udp分组的容量,无需触发队尾丢弃机制。
36.因此,本发明以字节为单位,统计rsu发送缓冲区中新到达分组及队列长度,根据队列现有长度与缓冲区队列最大长度数值,rsu丢弃特定分组或保留分组。具体方法为:
37.(1)rsu统计新接收的分组长度l
p
与rsu发送缓冲区的分组队列原有长度l
old

38.(2)计算发送缓冲区的分组队列现有长度l
new
,有l
new
=l
old
l
p

39.(3)设定缓冲区队列最大长度为q
max
(单位:字节),队列执行保留或丢弃分组;
40.step1:如果l
new
小于q
max
,则保留该分组;
41.step2:如果l
new
大于q
max
,则丢弃队列首部的分组。
42.进一步地,所述步骤四中mac层竞争窗口值动态设置具体内容如下:
43.在混合业务场景中,rsu通过802.11p无线接口向车辆转发两类分组,实质上参与了无线信道的竞争。802.11p的mac层默认对所有分组,均采用相同的cw
min
初值进行退避。但 tcp-ack分组和udp业务同属下行流量,但两者的分组长度和作用都不相同。如果基站mac 层无法区分tcp-ack流量和udp流量,tcp/udp混合业务下的性能难以保证,这对基站的mac层竞争与退避机制提出了新要求。因此本发明从理论上对基站rsu的802.11p mac层竞争窗口值cw
min
进行建模,并通过实验,获得rsu的cw
min
取值范围。
44.无线局域网的媒介访问控制(mac),通常使用分布式协调功能(distributedcoordination function,dcf)。根据ieee 802.11的mac机制,dcf采用退避机制(backoff) 来减少可能发生的分组传输冲突。退避时间的选择,很大程度上决定了发送的频率。它的工作方式如下:当发送节点侦听到信道连续空闲达到一定时间(inter frame space,difs) 时,在[0,cw
min-1]区间上随机选取一个整数k,以k个空闲时隙(slot)作为backoff退避时间,其中cw
min
是竞争窗口的大小。在等待k个空闲时隙之后,发送节点尝试发帧。可见,竞争窗口用来设定每个发送节点尝试发送数据帧之前的等待时间,对系统的公平性有着较大的影响。
[0045]
首先,研究竞争窗口值对rsu转发分组数量的影响。
[0046]
rsu节点无线mac层成功发送一个分组,所需时间t可写为
[0047]
t=t
difs
t
bo
t
data
t
sifs
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0048]
其中,t
data
为发送一个分组的时间,t
bo
为backoff退避时间,t
difs
为分布式帧间间隙时间,t
ifs
为短帧间间隙时间。
[0049]
根据t
data
的定义,有
[0050][0051]
其中,r为mac层带宽,单位为mb/s。
[0052]
将公式(2)带入公式(1),有
[0053][0054]
t
bo
仅与竞争窗口值相关,一般取而slot、t
difs
与t
ifs
均为mac层固定参数。
[0055]
时间区间duration内,基站rsu发送的分组数量m
[0056][0057]
根据公式(4),cw
min
越小,发送一个分组的时间t越小,则rsu向网络中发送的分组数越多。udp业务没有差错控制与流量控制,其分组发送速率始终恒定,基站rsu发送的udp 分组个数m,主要取决于公式(4)。
[0058]
而tcp业务注入网络中的所有分组,受到具体网络状态的限制。当网络拥塞(tcp数据分组或tcp-ack分组丢失)发生时,tcp源节点会迅速降低发送速率,减少注入网络的tcp 数据分组数,tcp目的端发送的tcp-ack分组也会大量减少。所以,单方面减少tcp-ack分组的发送时间(即减少cw
min
),并不能完全决定基站rsu发送的分组tcp-ack个数。换言之,对tcp-ack分组而言,除了rsu方面mac层退避机制的竞争窗口值cw
min
,tcp的源端与目的端,也能影响网络中tcp-ack分组数量。定义tcp目的端发送tcp-ack分组速率为rate
tcp_ack
,则基站rsu发送的tcp-ack分组数量如公式5所示。
[0059][0060]
所以对udp业务,选取较小的cw
min
可以提高rsu发送的udp分组个数。而对tcp业务,当网络发生拥塞时,由于tcp目的端发送的tcp-ack分组数急剧减少,即使基站rsu的竞争窗
口值cw
min
设置很小,其发送的tcp-ack分组数量也很有限,对tcp性能改善不大。
[0061]
其次,研究竞争窗口值对分组碰撞冲突的影响。
[0062]
考虑rsu周围有n个车辆节点,假设任一车辆节点i在某个随机时隙内发送一个数据帧的概率为τ,该数据帧与其他节点发出的数据帧发生碰撞的概率为η。在n一定时,有如下关系:
[0063][0064]
根据bianchi利用马尔科夫链的建模,m为最大重传次数,cw
min
为竞争窗口值,有
[0065][0066]
考虑图8所示网络中,基站rsu转发下行流量时,也和v1至v6卸载车辆一起竞争信道,则有无线发送节点数n=7。cw
min
取某个确定的数值,802.11p默认最大重传次数m=7,通过联立式(6)与式(7),可求解τ与η的数值解。当cw
min
变化时,帧碰撞概率η的变化如图 2所示。
[0067]
根据上述建模及图2的结论,当发送节点数一定时,分组碰撞概率η只与竞争窗口cw
min
及最大重传次数m有关,与传输分组的长度无关。所以cw
min
越小,分组碰撞的概率增加。
[0068]
为了更好地说明分组碰撞对混合业务任务卸载性能的影响,分组碰撞过程如图3所示。
[0069]
一方面,当基站转发tcp-ack分组时,各车也在发送tcp数据分组,基站设置过小的cw
min
,会增加tcp-ack分组与车辆发送tcp数据分组的碰撞。如图3(a)所示,一旦碰撞发生,意味着两个tcp数据分组(当前碰撞的tcp数据分组和tcp-ack向源端确认收到的tcp数据分组)都无法获得确认,tcp源端将在短时间内降低两次发送速率,严重影响tcp业务的任务卸载性能。因此,对tcp-ack分组而言,基站cw
min
数值不宜设置过小。
[0070]
另一方面,当基站转发udp业务给车辆时,cw
min
数值设置较大,会明显增加udp分组的发送等待时间,降低udp业务的传输性能。而cw
min
数值设置较小,可以增加基站rsu竞争信道的机会,减少udp分组传输延迟,但也更容易与tcp数据分组发生碰撞,如图3(b) 所示,但仅影响当前碰撞的tcp数据分组。因此,如果要适当保障udp业务,对udp分组而言,基站cw
min
数值不宜设置过大。
[0071]
上述建模与实验说明,mac层退避机制的竞争窗口值cw
min
会影响分组传输时延和分组碰撞概率。cw
min
越小,分组等待传输的退避时间越短,但碰撞概率也越高,这对侧重可靠性的 tcp业务不利。cw
min
越大,但碰撞概率也越小,但分组等待传输的退避时间越长,这对侧重及时性的udp业务不利。可见,对某个具体分组而言,传输时延和碰撞概率无法同时达到最佳性能,rsu发送时必须有所侧重,保障整网混合业务的综合性能。
[0072]
因此,对不同类型的分组,基站mac层采用不同的cw
min
数值。具体而言,对基站转发 tcp-ack分组,设置较大的竞争窗口值,以降低分组碰撞概率,减少tcp分组的超时或丢失现象,提高车辆的tcp任务卸载性能。对udp分组,设置较小的竞争窗口值,以减少udp 分组退避等待时间,提高udp传输效率,保障udp业务的时延性能。
[0073]
设基站rsu的无线mac层竞争窗口初值为w0。
[0074]
(1)对tcp-ack分组,基站的无线mac层设置竞争窗口cw
min
=a*w0,其中a≥2;
[0075]
(2)对udp分组,基站的无线mac层设置竞争窗口cw
min
=b*w0,其中0《b《1。
[0076]
与现有技术相比,本发明的有益效果为:
[0077]
1.针对tcp/udp混合业务,本发明提出一种基于分组类型识别的任务卸载公平性传输方法,首先,车联网基站将到达的tcp-ack分组置于其无线发送缓冲区的队列首部位置,将到达的udp分组置于队列尾部位置,其次,以字节为单位计算队列实际长度,当队列长度超过队列阈值时,优先丢弃队列首部的分组,再次,基站mac层对tcp-ack分组采用较大的竞争窗口值,以减少tcp分组冲突;对udp分组采用较小的竞争窗口值,以减少udp 分组传输延迟,实验表明,该方案既可以保障tcp任务卸载的上行业务,又可以维持udp 下行业务。
[0078]
2.该方案不涉及通信发送端和目的端的协议修改与配置,仅需在基站处配置算法及参数,对车辆及边缘服务器都属于透明传输,便于推广与实现。
附图说明
[0079]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
[0080]
图1为本发明中基于分组类型识别的任务卸载公平性传输方法的整体流程示意图。
[0081]
图2为本发明中mac层竞争窗口cw
min
取值与分组碰撞概率关系示意图。
[0082]
图3为本发明中混合流业务中的分组碰撞示意图。
[0083]
图4为本发明实施例中任务卸载公平性传输方法的tcp与udp的分组接收情况图。
[0084]
图5为本发明实施例中任务卸载公平性传输方法的tcp与udp分组端到端延迟情况图。
[0085]
图6为本发明中混合流场景下默认算法的tcp与udp分组接收情况图。
[0086]
图7为本发明中混合流场景下默认算法的tcp与udp分组端到端延迟情况图。
[0087]
图8为本发明中车载边缘计算混合业务场景下的任务卸载示意图。
具体实施方式
[0088]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0089]
实施例1
[0090]
参见图1至图5,本发明提供其技术方案为,一种基于分组类型识别的任务卸载公平性传输方法,包括以下步骤:
[0091]
步骤一,分组类型识别,对边缘服务器发送的分组,rsu对其类型进行识别,读取它们的报文首部,判断分组类型是tcp-ack分组或udp业务分组;
[0092]
步骤二,分组进入队列的位置安排,基站rsu根据分组类型识别结果,对tcp-ack分组,插入发送缓冲区的分组队列的首部位置,而对udp业务分组,则置于队列尾部位置。因此,队列中的tcp-ack分组不会排在udp业务分组之后,减少tcp-ack分组排队等待时间,也可降低tcp-ack分组大量队尾丢失的概率;
[0093]
步骤三,以字节为统计单位的队列分组丢弃,新分组入队后,以字节为单位,统计
该分组长度l
p
与rsu发送缓冲区的分组队列原有长度l
old
,计算发送缓冲区的分组队列现有长度l
new
,规定缓冲区队列最大长度为q
max
(单位字节),根据l
new
与q
max
数值比较结果,rsu丢弃特定分组或保留分组;
[0094]
步骤四,mac层竞争窗口值动态设置,对不同类型的分组,基站mac层采用不同的竞争窗口cw
min
数值。
[0095]
进一步地,所述步骤一中分组类型识别具体内容为:
[0096]
当边缘服务器发送的tcp-ack分组和udp业务分组,经过有线信道到达基站rsu后,rsu 需要向车辆转发上述两类分组。tcp业务流的ack分组(分组长度为40b),其作用是返回 tcp源端,告知边缘服务器已经接收到了tcp分组,车辆tcp源端才能发送后续tcp数据分组;udp分组(分组长度为1000b),其作用是承载边缘服务器发送至车辆的业务数据。可见,上述两类分组的作用与长度均不一致,需要rsu区分对待,否则会带来严重的传输不公平现象。
[0097]
rsu对边缘服务器发送的分组进行类型识别,读取它们的报文首部,判断分组类型是 tcp-ack分组或者udp业务分组。
[0098]
(1)rsu接收边缘服务器发送的各类分组;
[0099]
(2)rsu读取接收到的ip报文的首部“上层协议标识”字段;
[0100]
(3)如果“上层协议标识”字段值为“00000110”,则判定接收分组为tcp业务。
[0101]
step1:读取tcp分组的首部“ack”字段,数值为1,表示该分组为tcp-ack分组;
[0102]
step2:读取tcp分组的首部“ack”字段,数值为0,表示该分组为tcp-数据分组;
[0103]
(4)如果“上层协议标识”字段值为“00010001”,则判定接收分组为udp分组。
[0104]
进一步地,所述步骤二中分组进入队列的位置安排具体包括以下内容:
[0105]
当服务器向rsu发送大量分组,由于802.11p的无线带宽较小,rsu无法将这些数据瞬时转发至各车,所以rsu默认按到达的先后顺序将上述分组缓存到自身的发送缓冲区队列尾部位置。这产生了两个问题。第一,tcp-ack分组长度远远短于udp业务分组,ack分组必须等待队列中所有排在自身之前的udp分组转发完毕后,才能获得转发。这带来了不必要的延迟,容易造成tcp源端启动拥塞超时机制,不必要地降低tcp源端发送速率。第二,如果队列中已经存在大量udp业务分组,后至的tcp-ack分组很可能因队列满而被去尾丢弃,也会让tcp源端启动拥塞超时机制,降低发送速率。
[0106]
所以,为了保证tcp任务卸载性能,基站rsu在识别分组类型的基础上,对tcp-ack分组,插入发送缓冲区的分组队列的首部位置,而udp业务分组则置于队列尾部位置。因此,队列中的tcp-ack分组不会排在udp业务分组之后,减少tcp-ack分组排队等待时间,也可降低tcp-ack分组大量队尾丢失的概率。
[0107]
(1)对tcp-ack分组,插入rsu发送缓冲区的分组队列的首部位置
[0108]
(2)对udp分组,插入rsu发送缓冲区的分组队列的尾部位置
[0109]
进一步地,所述步骤三中以字节为统计单位的队列分组丢弃具体包括以下内容:
[0110]
车联网中服务器发往车辆的所有数据都需要经过基站rsu,再利用rsu的802.11p无线接口发送至目标车辆。而rsu有线接口带宽远大于无线接口带宽,因此rsu会成为下行数据流的瓶颈节点,服务器发送的分组一般会在rsu发送缓冲区排队,等待无线接口的转发。但rsu的发送缓冲区不可能无限大,因此当排队分组超过缓冲区最大值(rsu允许的最大队列长度)时,队列将对无法进入队尾的分组进行丢弃。需要说明的是,即使不考虑成本,发
送缓冲区也不能设置过大,因为如果允许长队列存在,虽然丢弃分组现象会减少,但也意味着分组在长队列中等待的时间会增加。tcp机制设置了ack分组传输超时机制,源端在规定的时间内未收到ack分组,也会判定分组丢失,所以发送缓冲区会设置一个合理的队列长度最大值。
[0111]
通常基站rsu以分组个数作为队列长度的衡量指标,例如规定rsu无线接口发送缓冲区的最大队列长度为100个分组,混合业务环境下,rsu需要同时缓存udp与tcp-ack分组,但两种分组的长度并不一致,前者通常为1000b,而后者通常为40b,这意味着rsu缓存25 个tcp-ack分组与缓存1个udp分组,占用的发送缓冲区容量是相等的,如果基站rsu仍以分组个数衡量分组队列长度,则会高估分组队列实际占用缓冲区容量情况,例如,rsu缓冲区当前有75个tcp-ack分组与25个udp分组,假设rsu无线接口发送缓冲区的最大队列长度为100个分组,则rsu此时必须丢弃后续到达的分组,但实际上,由于75个tcp-ack 分组长度等于3个udp分组长度,所以rsu缓冲区实际仅占用了28个udp分组的容量,无需触发队尾丢弃机制。
[0112]
因此,本发明以字节为单位,统计rsu发送缓冲区中新到达分组及队列长度,根据队列现有长度与缓冲区队列最大长度数值,rsu丢弃特定分组或保留分组,具体方法为:
[0113]
(1)rsu统计新接收的分组长度l
p
与rsu发送缓冲区的分组队列原有长度l
old

[0114]
(2)计算发送缓冲区的分组队列现有长度l
new
,有l
new
=l
old
l
p

[0115]
(3)设定缓冲区队列最大长度为q
max
(单位:字节),队列执行保留或丢弃分组;
[0116]
step1:如果l
new
小于q
max
,则保留该分组;
[0117]
step2:如果l
new
大于q
max
,则丢弃队列首部的分组。
[0118]
进一步地,所述步骤四中mac层竞争窗口值动态设置具体内容如下:
[0119]
在混合业务场景中,rsu通过802.11p无线接口向车辆转发两类分组,实质上参与了无线信道的竞争。802.11p的mac层默认对所有分组,均采用相同的cw
min
初值进行退避。但 tcp-ack分组和udp业务同属下行流量,但两者的分组长度和作用都不相同。如果基站mac 层无法区分tcp-ack流量和udp流量,tcp/udp混合业务下的性能难以保证,这对基站的 mac层竞争与退避机制提出了新要求。因此本发明从理论上对基站rsu的802.11p mac层竞争窗口值cw
min
进行建模,并通过实验,获得rsu的cw
min
取值范围。
[0120]
无线局域网的媒介访问控制(mac),通常使用分布式协调功能(distributedcoordination function,dcf)。根据ieee 802.11的mac机制,dcf采用退避机制来减少可能发生的分组传输冲突。退避时间的选择,很大程度上决定了发送的频率。它的工作方式如下:当发送节点侦听到信道连续空闲达到一定时间(inter frame space,difs)时,在 [0,cw
min-1]区间上随机选取一个整数k,以k个空闲时隙(slot)作为backoff退避时间,其中cw
min
是竞争窗口的大小。在等待k个空闲时隙之后,发送节点尝试发帧。可见,竞争窗口用来设定每个发送节点尝试发送数据帧之前的等待时间,对系统的公平性有着较大的影响。
[0121]
首先,研究竞争窗口值对rsu转发分组数量的影响。
[0122]
rsu节点无线mac层成功发送一个分组,所需时间t可写为
[0123]
t=t
difs
t
bo
t
data
t
sifs
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0124]
其中,t
data
为发送一个分组的时间,t
bo
为backoff退避时间,t
difs
为分布式帧间间隙时间,t
ifs
为短帧间间隙时间。
[0125]
根据t
data
的定义,有
[0126][0127]
其中,r为mac层带宽,单位为mb/s。
[0128]
将公式(2)带入公式(1),有
[0129][0130]
t
bo
仅与竞争窗口值相关,一般取而slot、t
difs
与t
ifs
均为mac层固定参数。
[0131]
时间区间duration内,基站rsu发送的分组数量m
[0132][0133]
根据公式(4),cw
min
越小,发送一个分组的时间t越小,则rsu向网络中发送的分组数越多。udp业务没有差错控制与流量控制,其分组发送速率始终恒定,基站rsu发送的udp 分组个数m,主要取决于公式(4)。
[0134]
而tcp业务注入网络中的所有分组,受到具体网络状态的限制。当网络拥塞(tcp数据分组或tcp-ack分组丢失)发生时,tcp源节点会迅速降低发送速率,减少注入网络的tcp 数据分组数,tcp目的端发送的tcp-ack分组也会大量减少。所以,单方面减少tcp-ack分组的发送时间(即减少cw
min
),并不能完全决定基站rsu发送的分组tcp-ack个数。换言之,对tcp-ack分组而言,除了rsu方面mac层退避机制的竞争窗口值cw
min
,tcp的源端与目的端,也能影响网络中tcp-ack分组数量。定义tcp目的端发送tcp-ack分组速率为rate
tcp_ack
,则基站rsu发送的tcp-ack分组数量如公式5所示。
[0135][0136]
所以对udp业务,选取较小的cw
min
可以提高rsu发送的udp分组个数。而对tcp业务,当网络发生拥塞时,由于tcp目的端发送的tcp-ack分组数急剧减少,即使基站rsu的竞争窗口值cw
min
设置很小,其发送的tcp-ack分组数量也很有限,对tcp性能改善不大。
[0137]
其次,研究竞争窗口值对分组碰撞冲突的影响。
[0138]
考虑rsu周围有n个车辆节点,假设任一车辆节点i在某个随机时隙内发送一个数据帧的概率为τ,该数据帧与其他节点发出的数据帧发生碰撞的概率为η。在n一定时,有如下关系:
[0139][0140]
根据bianchi利用马尔科夫链的建模,m为最大重传次数,cw
min
为竞争窗口值,有
[0141][0142]
考虑图8所示网络中,基站rsu转发下行流量时,也和v1至v6卸载车辆一起竞争信道,则有无线发送节点数n=7。cw
min
取某个确定的数值,802.11p默认最大重传次数m=7,通过联立式(6)与式(7),可求解τ与η的数值解。当cw
min
变化时,帧碰撞概率η的变化如图 2所
示。
[0143]
根据上述建模及图2的结论,当发送节点数一定时,分组碰撞概率η只与竞争窗口cw
min
及最大重传次数m有关,与传输分组的长度无关。所以cw
min
越小,分组碰撞的概率增加。
[0144]
为了更好地说明分组碰撞对混合业务任务卸载性能的影响,分组碰撞过程如图3所示。
[0145]
一方面,当基站转发tcp-ack分组时,各车也在发送tcp数据分组,基站设置过小的cw
min
,会增加tcp-ack分组与车辆发送tcp数据分组的碰撞。如图3(a)所示,一旦碰撞发生,意味着两个tcp数据分组(当前碰撞的tcp数据分组和tcp-ack向源端确认收到的tcp数据分组)都无法获得确认,tcp源端将在短时间内降低两次发送速率,严重影响tcp业务的任务卸载性能。因此,对tcp-ack分组而言,基站cw
min
数值不宜设置过小。
[0146]
另一方面,当基站转发udp业务给车辆时,cw
min
数值设置较大,会明显增加udp分组的发送等待时间,降低udp业务的传输性能。而cw
min
数值设置较小,可以增加基站rsu竞争信道的机会,减少udp分组传输延迟,但也更容易与tcp数据分组发生碰撞,如图3(b) 所示,但仅影响当前碰撞的tcp数据分组。因此,如果要适当保障udp业务,对udp分组而言,基站cw
min
数值不宜设置过大。
[0147]
上述建模与实验说明,mac层退避机制的竞争窗口值cw
min
会影响分组传输时延和分组碰撞概率。cw
min
越小,分组等待传输的退避时间越短,但碰撞概率也越高,这对侧重可靠性的tcp业务不利。cw
min
越大,但碰撞概率也越小,但分组等待传输的退避时间越长,这对侧重及时性的udp业务不利。可见,对某个具体分组而言,传输时延和碰撞概率无法同时达到最佳性能,rsu发送时必须有所侧重,保障整网混合业务的综合性能。
[0148]
因此,对不同类型的分组,基站mac层采用不同的cw
min
数值。具体而言,对基站转发 tcp-ack分组,设置较大的竞争窗口值,以降低分组碰撞概率,减少tcp分组的超时或丢失现象,提高车辆的tcp任务卸载性能。对udp分组,设置较小的竞争窗口值,以减少udp 分组退避等待时间,提高udp传输效率,保障udp业务的时延性能。
[0149]
设基站rsu的无线mac层竞争窗口初值为w0。
[0150]
(1)对tcp-ack分组,基站的无线mac层设置竞争窗口cw
min
=a*w0,其中a≥2;
[0151]
(2)对udp分组,基站的无线mac层设置竞争窗口cw
min
=b*w0,其中0《b《1。
[0152]
实验:混合业务任务卸载场景下的任务卸载公平性传输算法
[0153]
网络拓扑及仿真参数同上文实验,采用基于分组类型识别的任务卸载公平性传输方法。首先,rsu识别转发分组类型;其次,rsu对进入队列的分组设置不同的位置,将tcp-ack 分组置于队列首部,将udp业务分组置于队列尾部位置;再次,rsu以字节为单位统计队列长度,当队达到最大值时,丢弃队列首部的分组;最后,对mac层退避过程竞争窗口动态设置,令初值w0=16。为了保证tcp与udp性能,设置a=2、b=0.5。队列最大长度为q
max
=50000b。公平性算法的卸载分组接收数和延迟情况,如图4与图5所示。
[0154]
图4可见,当基站rsu执行公平性算法后,tcp任务卸载的收包数量提高至5934个。而服务器发送至车辆v7的udp业务的收包数降至2368个,仅占整网收包数的28.5%。实验结果显示,混合业务场景下的车辆udp业务受到一定的抑制,多数带宽被tcp占用,较好地实现了tcp任务卸载。图5也可见,tcp业务传输的分组数多于udp业务分组数。另外,由于tcp业务传输的分组数明显增长,tcp分组的端到端延迟也有所上升,平均端到端延迟为0.0368秒,
公平性算法通过适当提高分组延迟,大幅提高了分组接收数。而udp分组的平均端到端延迟为0.0773秒,该时间略高于默认算法的udp延迟。相较默认算法性能(图 6与图7),公平性算法可以极大地提高tcp业务的传输性能,保障混合流场景下的任务卸载,同时也可以将udp业务维持在适当水平,尤其控制住了udp业务的分组延迟,维护了 tcp/udp混合业务的公平性。
[0155]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献