APP下载

基于自适应组播的BPLC网络高效组网协议

2022-03-01吴高翔吕小红周婧婧

计算机工程与设计 2022年2期
关键词:信标时隙字节

吴高翔,任 冬,刘 维,吕小红,周婧婧

(1.国网重庆市电力公司电力科学研究院 能源互联网技术中心, 重庆 401123;2.国网重庆市电力公司, 重庆 400010;3.重庆邮电大学 通信与信息工程学院,重庆 400065)

0 引 言

宽带电力线通信(broadband power line communication,BPLC)[1,2]是利用低压电力配电线作为信息传输媒介进行传输的一种速率可达Mbps级别的有线通信技术。目前,以宽带电力线通信领域的国际标准IEEE1901.1[3]和国家电网公司Q/GDW 11612《低压电力线宽带载波通信互联互通技术规范》[4]等标准文件为基础,BPLC通信逐渐被广泛应用于能源互联网[5]、自动抄表[6]、智能用电系统[7]、路灯控制[8]、充电桩建设[9]等多种领域。

近年来,人们对BPLC网络技术开展了持续的研究。颜远志等[10]对电力线信道特性进行分析,发现噪声、相移、时变、衰减等特性的干扰使BPLC网络有效通信距离仅为几百米。为提高BPLC网络通信距离,段红光等[11]提出在BPLC中采用多跳传输和多层级树状拓扑结构[12]。为了保证多跳有线链路的传输稳定性,尹萍等[13]提出一种基于邻居节点覆盖的组网算法,但该算法泛洪“入簇消息”的操作会明显增加网络控制开销。李桂林等[14]提供了一种基于树的BPLC网络组网方法,但此方法没有给出路由的动态重构和优化方法。吴限[15]探究了BPLC人工蛛网的组网算法来优化网络结构。但该算法对蛛网中心节点依赖过高,易造成因中心节点损坏而网络重构。

从上述研究中发现:现有BPLC组网协议大多需要大量控制报文来探索网络节点,组网效率较低。所以,本文提出一种基于自适应组播的高效组网协议,通过中央协调器自适应组播关联回复消息来增加BPLC网络组网效率。

1 系统模型与问题描述

BPLC网络定义了一种以中央协调器CCO(central coordinator)为中心、以代理协调器PCO(proxy coordinator)为中继代理连接所有站点STA(station)的多层级树形网络,图1为典型的BPLC网络的拓扑图。

图1 BPLC网络拓扑

1.1 协议栈结构

BPLC网络协议栈是基于标准的开放式系统互联(OSI)7层模型,定义了物理层、数据链路层、应用层共3层,基本结构如图2所示。数据链路层为应用层提供传输服务,也可扩展与标准TCP/IP进行对接以实现标准IP网络通信。

图2 宽带电力线通信网络协议栈层级划分

1.2 BPLC组网

为保证BPLC网络路由建立和数据传输的可靠性,BPLC网络会进行网络组网。过程如下:

(1)CCO上电后进行网络间的时隙和网络标识的协调,协调成功后进行单网络组网。

(2)CCO开始在信标时隙发送中央信标,收到中央信标的站点通过在CSMA(carrier sense multiple access)时隙发送关联请求报文请求入网。

(3)CCO通过白名单对请求入网的站点进行认证,认证成功后将处理结果通过关联确认报文发送给入网请求的STA站点,待入网节点收到关联确认消息后表明入网成功,在一段时间内未收到关联确认消息则需重发关联请求消息。关联确认消息中有CCO为入网节点分配的终端设备标识(terminal equipment identification,TEI)。

(4)一级节点入网成功后,CCO会为其安排信标时隙来发送发现信标,发现信标的发送,可以触发新入网站点周围的二级站点发起关联入网的请求。

(5)如此循环,以便距离CCO最远的最高层级的STA站点加入网络。关联入网报文交互如图3所示。

图3 关联入网报文交互流程

1.3 问题描述

经研究发现,BPLC组网过程存在以下两个问题:

(1)BPLC组网时,CCO广播中央信标后,多个收到信标的一级节点会发送关联请求消息,CCO收到该消息验证其身份后马上会发送关联确认报文。随着STA节点逐层级入网,节点通过PCO转发关联请求报文入网申请,STA节点数目增加,关联确认报文很可能被挤压在CCO队列里,导致CCO不能及时给待入网节点分配TEI和时隙等信息,入网申请节点不能正常入网,从而致使BPLC网络入网时延增加。

(2)当网络规模较大时,STA发送大量的关联请求报文需要CCO发送同样规模的关联确认报文进行回复。由于关联请求报文在CSMA竞争时隙发送,所以CCO不能及时对某些STA发送的关联请求消息回复关联确认消息。这些STA就会因在等待的时间阈值内无法收到关联确认报文而触发重发关联请求报文的机制,导致控制开销和入网时延的增加。

2 ENP-BPLC协议

为解决上节所述问题,本文结合BPLC网络场景的特点,在IEEE1901.1标准的基础上,提出基于自适应组播的BPLC网络高效组网协议(efficient networking protocol for BPLC network based on adaptive multicast,ENP-BPLC),其中包含自适应组播关联回复报文、帧类型字段携带消息数量、基于重发报文的关联回复3种新机制。由于多层级的节点入网同样会把关联请求消息转发到一级节点,与一级节点入网基本一致,所以本文主要讨论CCO对一级节点的关联回复。

2.1 ENP-BPLC协议的新机制

2.1.1 自适应组播关联回复报文

针对1.3节问题(1),本文提出自适应组播关联确认报文机制。由于BPLC是树形拓扑,那就意味着层级越高,站点数量很可能会越多。那么CCO在CSMA竞争时隙回复关联确认报文时,可能存在多个关联确认消息被放进缓存队列里面而未及时回复。新机制的核心思想为:CCO在检测到信道空闲后,取出缓存队列队头的关联确认报文,再检查发送缓冲区中是否有待发的关联回复消息;若有,继续将其取出,连接到当前关联回复消息之后;发送缓冲区中有多少关联回复消息就连接多少,直到达到MAC数据帧数据字段的最大长度;然后,生成一个新类型的帧--关联确认组播帧,将连接的关联回复消息装入该帧数据字段发送关联回复报文。

2.1.2 帧类型字段携带消息数量

上节提到在自适应回复关联回复报文时,生成了一个新的关联确认组播帧类型,其中包含多个关联确认报文。但关联确认报文的个数是未知的,必须通过增加一个新的字段来存携带消息的数量信息,这样就会造成额外的开销。所以,本文提出了帧类型携带消息数量机制来避免信息字段的增加。其核心思想是:用组播帧的帧类型值携带关联回复消息数量信息;不设专门的关联回复消息数量字段。

根据IEEE1901.1技术标准,关联确认报文等管理消息帧头部管理消息类型字段占2字节,其中0x0000-0x0050范围已被使用,为了与已有的管理消息类型相区分,并且能够包含关联确认组播帧站点数信息,新提出的关联确认组播帧的消息类型的最高位为1,使用0x1002-0x1400字段表示关联确认组播帧的类型,同时,也表示了该关联确认组播帧中关联回复报文的个数(汇总站点数最多包含1022个),0x1401-0x14FF字段为汇总站点数的保留字段。

2.1.3 基于重发报文的关联回复

为解决1.3节问题(2),本文提出了基于重发报文的关联回复机制。其核心思想为:CCO通过判断周围是否收到了重发的关联请求报文自适应地发送一级回复报文。如果CCO收到了来自STA节点重发的关联请求报文,说明该STA节点之前发送的关联请求报文没有收到关联确认,间接说明了该BPLC网络信道繁忙,如果CCO继续在CSMA时隙单播关联确认消息,将会加剧信道的拥塞度。CCO停止生成关联确认消息单播发送而选择将收到的关联请求报文验证后,生成关联确认组播报文,使CSMA时隙内没有大量的关联确认消息与关联请求消息竞争,从而减缓信道的报文负载,减少了控制开销。

图4为基于重发报文的关联回复机制。图4(a)为正常情况下STA发送的上行关联请求报文和CCO发送关联确认报文示意图。图4(b)为申请入网节点较多的示意图,因为节点数目较多,上下行报文都需要竞争信道,导致了上行关联回复消息的STA没有收到对应的关联确认消息而不能正常入网,需要等待一段时间之后重新发送关联请求报文。图4(c)为新机制的示意图,CCO检测到某些STA重发了关联请求报文之后,采用停止发送关联确认报文而采用发送关联确认组播报文的方法,大大减轻了信道的负担。

图4 基于重发报文的关联回复机制

2.2 ENP-BPLC主要操作

基于自适应组播的BPLC高效组网协议包含了上述3种新机制,其基本操作步骤如下:

步骤1 CCO开机时启动邻居网络监听定时器,如果在侦听时间T内接收到网间协调帧,进行网间网络标识和时隙的协调。如果在侦听时间T内没有接收到网间协调帧则进行单网络组网。CCO广播中央信标发起组网。

步骤2 邻居节点收到中央信标,检查信标的“开始关联标志位”是否为1,站点准备发送关联请求报文前先侦听一下总线上是否有数据正在传送(线路是否忙)。若在侦听中发现信道闲,该STA站点向CCO直接发送关联请求报文。若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,若等待次数n超过阈值16,STA重发关联请求消息并标记此报文。每次延时的时间不一致,由截断的二进制指数退避算法确定延时值。

步骤3 CCO收到申请入网节点发出的关联请求消息,查询该关联请求报文对应STA站点信息,进行白名单认证。CCO查询关联请求消息是否有重发标志。若有,则跳转步骤5。若无,CCO查询站点的层数,确定下一跳目的地址,如果是一级站点,则目的地址是本节点,如果是多层,则目的地址是请求站点对应最低级别的PCO。CCO为节点分配TEI和时隙,保存在关联回复消息中。CCO对一级站点进行关联回复,若发送关联回复时发现信道繁忙,CCO会把关联回复消息放到专门的关联回复缓存队列中。

步骤4 在检测到信道空闲可以发送关联确认报文时,CCO先取出缓存队列队头的关联确认报文,再检查发送缓冲区中是否还有待发的关联回复消息;若有,将其取出,连接到当前关联回复消息之后;发送缓冲区中有多少关联回复消息就连接多少,直到达到MAC数据帧数据字段的最大长度或者队列缓存区为空。若无,则直接发送关联确认报文,转步骤6。

步骤5 获取每个关联确认报文节点地址和TEI信息,按帧类型字段携带消息数量方法生成一个新类型的关联确认组播帧,将连接的关联确认消息装入该帧数据字段发送。

步骤6 一级节点判断自己是否是申请入网的节点,若是,入网成功。若不是,则该节点是申请入网节点最低级别的PCO,该节点通过CCO给自己发送的关联回复消息形成关联确认报文发给下一级节点,下一级节点也先判断自己是否是申请入网节点,如果不是,则该节点是入网节点的二级PCO,该节点安装地址信息继续发送该关联确认消息给自己的下级节点,以此类推,直到找到关联请求节点,入网成功。

ENP-BPLC协议流程如图5所示。

图5 自适应组播入网协议流程

3 性能分析

控制开销是指BPLC网络组网过程所需要控制报文的比特数之和,在BPLC网络中,有网间协调报文、信标报文、关联请求报文、关联回复报文4类控制报文。由于本文仅研究单网络环境,所以开销报文不包含网间协调报文。其中,信标报文又分为中央信标、代理信标、发现信标,关联回复报文又有关联确认报文和关联确认组播报文。BPLC控制开销C的计算如式(1)

C=8*(M*(c11+c12+c13)+N*c2+O*(c31)+P(c32))

(1)

其中,c11、c12、c13、c2、c31、c32分别为中央信标、代理信标、发现信标、关联请求报文、关联确认报文、关联确认组播报文的个数。M、N、O、P分别是信标帧、关联请求报文、关联确认报文和关联确认组播报文大小。

根据IEEE1901.1标准,MAC帧是不同站点的MAC层之间进行传送的基本传输单元。一个MAC帧由MAC帧头、MAC业务数据单元MSDU和完整性校验值组成。本文使用长帧头大小为h=26字节,完整性校验值大小为w=4字节。

信标帧大小M的计算如式(2)

M=h+m+w

(2)

m为信标帧MSDU大小=MPDU帧控制大小16字节+帧载荷520字节=536字节。从而可以得出M为566字节。

关联请求报N的计算如式(3)

N=h+n+w

(3)

n为关联请求报文MSDU大小=关联消息报文头4字节+关联请求报文格式64字节=68字节。得出N为98字节。

关联确认报文O的计算如式(4)

O=h+o+w

(4)

o为关联确认报文MSDU大小=关联消息报文头4字节+关联确认报文格式64字节=68字节。得出O为98字节。

关联确认组播报文P的计算如式(5)

P=h+p+w

(5)

由于本文采用帧类型携带消息数量机制,所以关联确认组播报文没有增加额外的汇总站点数字段。

p为关联确认组播报文大小=关联消息报文头4字节+关联确认组播报文格式q。q=关联确认组播报文基本长度+拓展可变长度。假设同时在CCO队列中排队的关联确认报文为m个。每个站点信息字段大小为8字节。所以q为最大填充个数m*信息字段大小=8m字节。故P为8m+30字节。

从理论可分析证明:使用ENP-BPLC机制的报文开销小于原BPLC入网机制。只需证明单播关联确认报文开销与组播关联确认组播报文开销之差C1-C2>0即可。

条件(1):单信标周期内,除关联回复报文外其它控制报文开销相等且都为M+N=566+98字节,故在比较两种机制控制开销时只需比较关联回复的两种报文开销即可。

条件(2):CCO关联确认队列中报文个数m≥1个。

条件(3):由于BPLC是多层级网络拓扑,且CCO对每层节点入网回复过程都一致,故本节只讨论一个信标周期内CCO对单层节点入网回复过程的控制开销。

证明:使用ENP-BPLC协议的报文开销小于原BPLC入网机制。

使用原PLC组网协议单播关联确认报文开销C1=m*O; 因为1字节(byte)=8 bit;

所以C1=8*m*Obit;

由式(4)可知:C1=8*(m*(h+o+w))=784 mbit;

同理,使用ENP-BPLC协议组播关联确认组播报文开销C2=P;

中国地域面积辽阔,但是耕地资源总量较少,近年来随着工业化和城市化的持续发展,退耕还林、还草等措施的实施使得耕地面积越来越少,而且这个过程是一个不可逆的过程,耕地资源不会再增加,全国后备耕地资源短缺。在这种大环境的影响下,本地的耕地资源也越来越少,南通市近年来大力开展退耕还林、退耕还草工程,在很大程度上降低了土地资源的开垦能力,无法补偿耕地占用量,对本地的粮食安全造成一定影响。

由式(5)可知:C2=8*(h+8*m+w)=(64m+240) bit;

所以C1-C2=784m-(64m+240)=720m-240;

因为m≥1;

所以C1-C2=720m-240≥480 bit>0;

得证。

4 仿真分析

4.1 仿真参数设置

本文使用OPNET 14.5仿真工具对IEEE1901.1技术标准、ENP-BPLC协议的网络性能进行仿真。主要参数见表1。

表1 主要仿真参数

4.2 仿真结果分析

4.2.1 平均入网时延

平均入网时延是反映节点入网效率的重要性能指标。平均入网时延的计算如式(6)

(6)

其中,Tb(i)、Tr(i)、Ta(i) 分别表示第i个节点发送和转发信标帧、关联请求消息帧、关联回复消息帧的时延。包括传输时延、传播时延、层间处理时延、MAC层排队时延。

4.2.2 组网控制开销

组网控制开销的定义如式(1)所示。

图7是ENP-BPLC机制和IEEE1901.1标准入网机制控制开销对比图,可以看出:BPLC逐级入网时两种协议的控制开销都逐渐增加;ENP-BPLC协议控制开销在节点数量较少时和原PLC网络入网机制基本一致;ENP-BPLC协议控制开销比原PLC网络入网机制的控制开销平均降低5.88%。这是因为随着节点增加,有更多的节点需要发送控制报文,使控制开销上升;在节点数较小时,CCO对入网节点的回复都主要是关联确认报文;随着节点数的增加,关联确认报文缓存在CCO队列里,需要逐一等到信道空闲再发送。甚至有些关联请求报文因没收到关联确认而重发。而ENP-BPLC协议能够自适应发送关联回复报文,在网络规模大时,合并缓存队列中的管理确认报文为关联确认组播报文,减小了原来CCO发送的关联确报文头部开销,同时也减少了入网申请节点重发关联请求报文造成的控制开销,所以,ENP-BPLC机制能够有效减少BPLC网络控制开销。

图6 平均入网时延

图7 控制开销

4.2.3 入网收敛时间

组网收敛时间是指一个宽带电力线通信网络中从CCO发起组网到最后一个STA站点收到关联回复报文后此过程所消耗的时间。组网收敛时间和网络组网效率成反比。入网收敛时间计算如式(7)

Tnet=max{Ti}

(7)

其中,Tnet代表有组网收敛时间,Ti表示第i个节点入网时间。max表示取最大值。ENP-BPLC协议入网收敛时间如图8所示。可以看到,随着节点个数的增加,两种协议组网收敛时间都逐渐上升。经过统计组网收敛时间,ENP-BPLC协议比IEEE1901.1标准平均缩短了0.32%。其主要原因是随着节点数量增多,更多关联确认报文存在在缓存队列,增加了节点入网时间。入网收敛时间取决于网络中最后一个节点的入网时间,而最后入网节点在规模较小时能单播关联确认报文,在规模比较大时就可能会遇到信道繁忙而挤压在缓存区。ENP-BPLC协议采用自适应组播方式发送挤压在缓存队列中的关联确认消息,加快了组网速度,所以使组网收敛时间在网络规模较大时有所提高。

图8 组网收敛时间

4.2.4 关联回复消息数量

关联回复报文的数量代表宽带PLC网络所有STA成功入网所需的关联确认报文和关联确认组播报文之和。关联回复数量越少,BPLC网络性能越好。

表2为ENP-BPLC协议和IEEE1901.1数据链路层协议关联回复消息数量仿真对比。可以得出,在站点规模较大时,ENP-BPLC协议关联回复报文的数量比IEEE1901.1数据链路层协议更少。原因是ENP-BPLC协议通过将消息队列中的关联确认消息合理地组合起来,用一个关联确认组播帧发送一组回复信息,减少了竞争时隙中发送报文的个数。

表2 关联回复消息数量

4.2.5 入网成功率

BPLC网络节点的入网成功率定义为:p=X/Y;其中,Y代表有所有申请入网节点个数,X代表入网成功节点个数。

表3为ENP-BPLC协议和IEEE1901.1数据链路层协议节点入网成功率仿真对比图。可以看出,两种协议的入网成功率都是1。这说明,不管网络规模大小,两种协议下BPLC网络中所有节点都能成功入网。结合其它4种性能可以得出:ENP-BPLC协议在不降低节点入网成功率的情况下合理地把缓存区中的关联确认报文打包发送,不仅减少了多个消息发送的头部开销,而且使队列中的报文及时发送,提升了BPLC网络组网效率。

表3 入网成功率/%

5 结束语

低压电力线载波通信网络受到较强干扰的影响,要求组网算法有较高的自适应能力。本文针对BPLC数据链路层组网存在的两个问题,结合BPLC网络场景,提出了一种基于自适应组播的BPLC高效组网协议。包含自适应组播回复关联确认报文和基于重发报文的关联回复这两种新机制。通过更为合理地发送一级关联回复消息,让信道资源更合理利用,使BPLC组网效率更高。实验结果表明,ENP-BPLC协议能够在不降低BPLC网络的入网成功率的情况下,能够有效降低多层级BPLC网络节点平均入网时延和控制开销,验证ENP-BPLC协议比原BPLC网络组网效率更高。

猜你喜欢

信标时隙字节
地下停车场VLC 信标广播系统设计与实现
No.8 字节跳动将推出独立出口电商APP
基于时分多址的网络时隙资源分配研究
No.10 “字节跳动手机”要来了?
基于市场机制的多机场时隙交换放行策略
轻量级分组密码Midori64的积分攻击
一种基于时隙优化的邻居发现算法研究
蓝牙信标存潜在风险
一种高速通信系统动态时隙分配设计
蓝牙信标存潜在风险