CN113328884B - 基于动态补偿的跨层拓扑控制方法及其通信系统 - Google Patents

基于动态补偿的跨层拓扑控制方法及其通信系统 Download PDF

Info

Publication number
CN113328884B
CN113328884B CN202110586801.0A CN202110586801A CN113328884B CN 113328884 B CN113328884 B CN 113328884B CN 202110586801 A CN202110586801 A CN 202110586801A CN 113328884 B CN113328884 B CN 113328884B
Authority
CN
China
Prior art keywords
node
link
compensation
nodes
satisfied
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110586801.0A
Other languages
English (en)
Other versions
CN113328884A (zh
Inventor
李钊
祝世通
张远
丁汉清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202110586801.0A priority Critical patent/CN113328884B/zh
Publication of CN113328884A publication Critical patent/CN113328884A/zh
Application granted granted Critical
Publication of CN113328884B publication Critical patent/CN113328884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于动态补偿的跨层拓扑控制方法及其通信系统,首先,各个节点根据节点间的物理距离,执行最小生成树算法,构造初始的网络拓扑;其次,各个节点的运输层定期计算其运输层的缓存占用率和缓存占用率的变化率,并将这两个信息封装到跨层数据单元中并发送给数据链路层;接下来,各节点的数据链路层根据收到的跨层数据单元中的信息进行拓扑控制,判断是否需要建立或拆除补偿链路;最后,各节点建立或拆除补偿链路,更新网络拓扑;该方法利用跨层的信息交互,通过运输层向数据链路层发出跨层数据单元,触发数据链路层灵活地激活或关闭链路,从而实现基于跨层的动态拓扑调整,改善网络的数据传输性能。

Description

基于动态补偿的跨层拓扑控制方法及其通信系统
技术领域
本发明属于拓扑控制技术领域,公开了一种动态补偿的跨层拓扑控制方法及其通信系统。
背景技术
当网络中业务量在短时间内迅速增大,大量突发业务会使单连通网络的负载在短时间内急剧加重,造成网络时延和丢包率增大。并且,当网络中的节点无法及时检测到网络负载的变化时,便会不断重发出现超时的数据包,导致大量链路带宽被浪费,最终发生网络拥塞。更严重的是,当业务负荷持续增加,网络中的一些节点会因负载过大而崩溃,这些节点无法继续承担数据中转的工作,将使整个网络的业务在其余节点上重新分布,从而造成其余节点的负荷过重而陆续崩溃,即出现级联崩溃现象。节点的崩溃在整个网络上传播开来,最终会造成网络服务质量(Quality of Service,QoS)的持续下降甚至网络瘫痪。多连通拓扑虽然能够保证每个节点连接多个邻居节点,增强了网络的抗毁性和容错能力,从而提高网络的吞吐率和可靠性,但维持高连通度的拓扑结构会造成大量的链路带宽和资源的浪费,同时也会增加维持这些链路的管理开销。
传统开放式系统互联(Open System Interconnect,OSI)和传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)体系结构的运输层采用的慢启动、拥塞避免、快重传和快速恢复等拥塞控制算法(如TCP Tahoe、TCP Reno、TCPNewReno和TCP SACK等)。Fall K,Floyd S.Simulation-based comparisons of Tahoe,Reno and SACK TCP[J],ACM SIGCOMM Computer Communication Review,26(3):5-21,1996(基于仿真的Tahoe、Reno和SACK-TCP比较),详细的介绍了Tahoe、Reno和SACK-TCP算法,并对这几种算法进行了仿真,讨论了几种拥塞控制算法的优劣,最后提出带有选择确认的算法的代价低,能够获得优于不带有选择确认的算法的网络性能。Smith M A,Ramakrishnan K K.Formal specification and verification of safety andperformance of TCP selective acknowledgment[J],IEEE/ACM Transactions onNetworking,10(2):193-207,2002(TCP选择应答安全性和性能的形式化验证),提出一种对于选择确认机制(SACK)安全性的证明,通过给出SACK协议的形式化自动机模型,定义所需安全属性的简单规范来验证SACK协议的安全性。Singh H,Singh S.Energy Consumptionof TCP Reno,NewReno,and SACK in multi-hop wireless networks[J],ACM SIGMETRICSPerformance Evaluation Review,30(1):203-216,2002(多跳无线网络中的TCP-Reno、NewReno和SACK能量消耗),比较了TCP Reno,NewReno,and SACK三种不同拥塞控制算法能量消耗,并在此基础上采用实验模拟了大量的网络条件,包括可变往返时间、随机丢失、突发丢失和分组重排序,实验结果表明当网络空闲能耗较低时,SACK相比于其它两种算法有较差的表现,总能耗较高,当网络空闲功耗较大时,SACK则是最好的选择,其总能耗低于其它方法。
综上所述,现有的拥塞控制算法大多存在以下问题:这些方法主要通过降低发送方的发送速率来缓解接收方的压力,这虽然能够在一定程度上缓解因负荷过重导致的网络性能下降的问题,但却牺牲了网络的吞吐量,无法保障突发业务的QoS。
发明内容
为了解决传统运输层的拥塞控制的局限,以及多连通拓扑结构开销过大的问题,本发明提出一种基于动态链路补偿的跨层拓扑控制(Dynamic Link Compensation BasedCross-Layer Topology Control,DLC-CLTC)方法,该方法借助跨层信息交互,将运输层的缓存状态信息通过跨层数据单元(Cross Layer Data Unit,CLDU)直接传递给数据链路层,实现对链路资源的按需动态调用。所提方法能够在尽可能不降低网络吞吐量的前提下,通过动态调整链路层拓扑来提高网络对运输层拥塞的响应速度,DLC-CLTC能够充分利用链路资源,按需地激活一些链路,以加快网络中数据业务的转发,避免节点拥塞,并在降低节点缓存占用率后,释放冗余的链路,以恢复低开销的网络控制。
进一步,所述动态链路补偿的跨层拓扑控制方法具体步骤包括:
步骤一,节点将三维空间划分为不同的区域,针对不同的区域形成不同指向的宽波束进行邻节点搜索,以完成邻节点发现;
各个节点独立执行最小生成树(MST)算法,生成初始拓扑图;
各节点设定三个门限值,第一门限值
Figure BDA0003088062950000031
规定节点补偿链路数量的上限值,第二门限值TH规定节点缓存占用率的上阈值,第三门限值TL规定节点缓存占用率的下阈值,所有节点设置相同的第一门限值、相同的第二门限值和相同的第三门限值;
步骤二,设定时间间隔Δt,节点vi的运输层按照该时间间隔定期计算节点vi在当前时刻t的缓存占用率ηi(t)以及节点缓存占用率的变化率γi(t),并将ηi(t)和γi(t)封装到跨层数据单元(CLDU)中,然后将跨层数据单元发送给节点vi的数据链路层;节点vi建立一个受助节点集合
Figure BDA0003088062950000032
和一个施助节点集合Vi h
Figure BDA0003088062950000033
表示集合Vi r中的元素个数,
Figure BDA0003088062950000034
表示集合Vi h中的元素个数,初始化
Figure BDA0003088062950000035
Figure BDA0003088062950000036
表示空集合;;
步骤三,节点vi通过与其各个邻节点间进行信息交互,以获得vi的各个邻节点vj(vj∈Vi n)在时刻t的缓存占用率ηj(t);节点vi根据获得的其邻节点vj的ηj(t)、
Figure BDA0003088062950000037
Figure BDA0003088062950000038
信息,找到所有满足ηj(t)<TH
Figure BDA0003088062950000039
Figure BDA00030880629500000310
的邻节点构成节点vi的候选施助节点集合Vi ch;节点vi将Vi ch中在的施助节点集合Vi h中的节点,或者在集合
Figure BDA00030880629500000320
中的节点删除,并对Vi ch中的元素按照其缓存占用率的大小进行升序排序,其中,
Figure BDA00030880629500000321
表示初始拓扑中与节点vi建立链路的邻节点集合,初始化
Figure BDA00030880629500000311
节点vi的邻节点集合记为Vi n=V-{vi},V表示网络中的节点集合;节点vi根据
Figure BDA00030880629500000312
Figure BDA00030880629500000313
判断其链路补偿情况,若满足
Figure BDA00030880629500000314
Figure BDA00030880629500000315
则执行步骤四,若满足
Figure BDA00030880629500000316
Figure BDA00030880629500000317
则执行步骤五,若满足
Figure BDA00030880629500000318
Figure BDA00030880629500000319
则执行步骤六;
步骤四,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则vi计算经过时间间隔Δt后其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤七,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤五,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0的进行比较,若满足γi(t)<0,则节点vi再将其在时刻t的缓存占用率ηi(t)与第三门限TL进行比较,若满足ηi(t)≤TL,则执行步骤八,若满足ηi(t)>TL,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则节点vi将其施助节点集合包含的元素个数
Figure BDA0003088062950000041
与第一门限
Figure BDA0003088062950000042
进行比较,若满足
Figure BDA0003088062950000043
则等待时间间隔Δt后重新执行步骤三,若满足
Figure BDA0003088062950000044
则vi计算经过时间间隔Δt后其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤七,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤六,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则vi计算经过时间间隔后Δt其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤八,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤七,节点vi从候选施助节点集合Vi ch中选择缓存占用率最小的节点vm,vi向vm发出补偿链路建立请求,若补偿链路建立成功,则节点vi与节点vm之间建立补偿链路,vi可以利用该补偿链路进行数据传输,节点vi等待时间间隔Δt后重新执行步骤三;若补偿链路建立失败,则节点vi放弃与vm建立补偿链路,然后节点vi等待时间间隔Δt后重新执行步骤三;
步骤八,节点vi判断自己的链路补偿状态,若满足
Figure BDA0003088062950000045
Figure BDA0003088062950000046
节点vi从施助节点集合Vi h选择中最先与节点vi建立补偿链路的节点vl,并且vi拆除其与vl之间的补偿链路,vi等待时间间隔Δt后重新执行步骤三;若满足
Figure BDA0003088062950000051
Figure BDA0003088062950000052
则节点vi从受助节点集合Vi r中选择最先与节点vi建立补偿链路的节点vk,并且vi拆除其与vk之间的补偿链路,vi等待时间间隔Δt后重新执行步骤三;
进一步,所述步骤一具体包括:
(1)节点将三维空间划分为不同的区域,针对不同的区域形成不同指向的宽波束进行邻节点搜索,以完成邻节点发现,执行算法前的网络用图G(V,E,W)描述,其中V表示网络中的所有节点构成的集合,E表示所有链路集合,E中元素eij表示节点vi与节点vj之间存在链路,W表示拓扑图中的链路的权重集合,W中的元素wij表示链路eij的权值;接下来,各个节点独立执行最小生成树MST算法,生成初始拓扑图Ginit(Vinit,Einit,Winit),其中Vinit表示初始拓扑图中的节点集合,有Vinit=V,Einit表示初始拓扑图中的链路集合,Einit中的元素
Figure BDA0003088062950000053
表示节点vi与vj之间的链路,Winit表示初始拓扑图中的链路的权重集合,Winit中的元素
Figure BDA0003088062950000054
表示链路
Figure BDA0003088062950000055
的权值;定义Gcom(Vcom,Ecom,Wcom)表示进行链路补偿后的拓扑图,其中Vcom、Ecom和Wcom分别表示拓扑图Gcom中的节点、链路和链路的权值构成的进行链路补偿后的节点集合、链路集合和链路权值集合,初始化Gcom(Vcom,Ecom,Wcom)=Ginit(Vinit,Einit,Winit);
(2)网络中的所有节点设定三个门限值,第一门限值
Figure BDA0003088062950000056
规定节点补偿链路数量的上限值,第二门限值TH规定节点缓存占用率的上阈值,第三门限值TL规定节点缓存占用率的下阈值,所有节点设置相同的第一门限值、相同的第二门限值和相同的第三门限值;
进一步,所述步骤二具体包括:
(1)节点vi的运输层按照式(1)计算节点vi在时刻t的缓存占用率ηi(t):
Figure BDA0003088062950000057
其中,Cb表示节点的输出缓存的总容量,Li(t)表示节点vi在时刻t的缓存队列长度;
(2)节点vi的运输层按照式(2)计算节点vi在时刻t的缓存占用率的变化率γi(t):
Figure BDA0003088062950000061
其中,
Figure BDA0003088062950000062
表示vi在时刻t的数据分组输出速率,
Figure BDA0003088062950000063
表示vi在时刻t的数据分组到达速率;
(3)节点vi的运输层以时间间隔Δt为周期,定期计算ηi(t)和γi(t),并将其封装到跨层数据单元(CLDU)中,然后将跨层数据单元发送给节点vi的数据链路层。
(4)节点vi建立一个受助节点集合Vi r和一个施助节点集合Vi h
Figure BDA00030880629500000613
表示节点vi的受助节点集合的元素个数,
Figure BDA0003088062950000064
表示节点vi的施助节点集合的元素个数,初始化
Figure BDA0003088062950000065
Figure BDA0003088062950000066
表示空集合;
进一步,所述步骤三具体包括:
(1)节点vi通过与其各个邻节点进行信息交互,以获得vi的各个邻节点vj
Figure BDA0003088062950000067
在时刻t的缓存占用率ηj(t)、邻节点的受助节点集合包含的元素个数
Figure BDA00030880629500000618
以及施助节点集合包含的元素个数
Figure BDA0003088062950000068
节点vi根据获得的其邻节点vj的ηj(t)、
Figure BDA00030880629500000619
Figure BDA0003088062950000069
信息,找到所有满足ηj(t)<TH
Figure BDA00030880629500000610
Figure BDA00030880629500000611
的邻节点,构成节点vi的候选施助节点集合Vi ch
(2)节点vi将Vi ch中与vi已经建立链路的邻节点,或者在vi的施助节点集合Vi h中的Vi ch,或者在集合Vi c,init中的Vi ch删除,即执行Vi ch←Vi ch-Vi h-Vi c,init,其中,节点vi的邻节点集合记为Vi n=V-{vi},V表示网络中的节点集合,Vi c,init表示初始拓扑中与节点vi建立链路的邻节点集合,初始化
Figure BDA00030880629500000612
(3)节点vi对Vi ch中的元素按照其缓存占用率的大小进行升序排列,缓存占用率的大小决定了候选施助节点的优先性,Vi ch中缓存占用率小的节点的优先补偿其他节点;
(4)节点vi根据
Figure BDA00030880629500000614
Figure BDA00030880629500000617
判断其链路补偿状态,若满足
Figure BDA00030880629500000615
Figure BDA00030880629500000616
则执行步骤四;若满足
Figure BDA0003088062950000071
Figure BDA0003088062950000072
则执行步骤五;若满足
Figure BDA0003088062950000073
Figure BDA0003088062950000074
则执行步骤六;
进一步,所述步骤四具体包括以下子步骤:
(1)节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则执行子步骤(2);
(2)节点vi根据公式(3)计算节点vi经过时间间隔Δt后的其缓存占用率ηi(t+Δt):
ηi(t+Δt)=ηi(t)+γi(t)·Δt (3)
(3)节点vi将ηi(t+Δt)与TH进行比较,若满足ηi(t+Δt)>TH,执行子步骤(4);若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
(4)节点vi发出链路补偿请求,执行步骤七;
进一步,所述步骤五具体包括以下子步骤:
(1)节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,执行子步骤(2);若满足γi(t)≥0,执行子步骤(3);
(2)节点vi将其在时刻t的缓存占用率ηi(t)与第三门限TL进行比较,若满足ηi(t)≤TL,执行子步骤(7);若满足ηi(t)>TL,则等待时间间隔Δt后重新执行步骤三;
(3)节点vi
Figure BDA0003088062950000075
与第一门限值
Figure BDA0003088062950000076
进行比较,若满足
Figure BDA0003088062950000077
执行子步骤(4);若满足
Figure BDA0003088062950000078
则等待时间间隔Δt后重新执行步骤三;
(4)节点vi根据公式(3)计算经过时间间隔Δt后其缓存占用率ηi(t+Δt);
(5)节点vi将ηi(t+Δt)与第二门限值TH进行比较,若满足ηi(t+Δt)>TH,执行子步骤(6);若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
(6)节点vi发出补偿链路建立请求,执行步骤七;
(7)节点vi发出补偿链路拆除请求,执行步骤八;
进一步,所述步骤六具体包括以下子步骤:
(1)节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则执行子步骤(2);
(2)节点vi根据公式(3)计算经过时间间隔Δt后其缓存占用率ηi(t+Δt);
(3)节点vi将ηi(t+Δt)与第二门限值TH进行比较,若满足ηi(t+Δt)>TH,执行(4);若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
(4)节点vi发出补偿链路拆除请求,执行步骤八;
进一步,所述步骤七具体包括:
所述vi向vm发出补偿链路建立请求,具体包括以下子步骤:
(1)节点vi发送的链路补偿请求分组CREQ分组包含序号字段,vi的标识字段,vi的缓存占用率字段,vi的缓存占用率的变化率字段,以及vi的候选施助节点集合Vi ch中缓存占用率最低的节点的标识字段;对补偿请求分组应答的节点vm发送的链路补偿应答分组CREP包含序号字段,vm的标识字段,vm的缓存占用率字段,以及vm的缓存占用率的变化率字段;节点vi对其收到的链路补偿应答分组发送的确认分组ACK包含vi的标识字段;节点vm发送的匹配成功指示分组MSI包含vm的标识字段以及vm的施助状态字段,其中施助状态字段包含vm已经建立的补偿链路的数量以及vi的标识字段;
(2)发送补偿请求的节点vi查询其候选施助节点集合Vi ch,然后调整节点vi的宽波束指向,使其波束中心对准Vi ch中缓存占用率最低的节点vm,并向节点vm发送链路补偿请求分组CREQ,将CREQ中的序号字段值设置为随机数x;
(3)vi发送CREQ后立即启动一个计时器,并设置计时器的超时时长为T<Δt,若在时间T内,收到来自节点vm返回的链路补偿应答分组CREP,则执行子步骤(4);若在时间T内,vi未收到任何应答,则节点vi放弃与vm建立补偿链路,等待时间间隔Δt后重新执行步骤三;
(4)vi以单播的方式向vm发送确认分组ACK,vm收到ACK后,执行子步骤(5);
(5)vi与vm之间建立补偿链路
Figure BDA00030880629500000915
节点vi更新链路补偿后的链路集合Ecom
Figure BDA0003088062950000091
vi更新其候选施助节点集合Vi ch(Vi ch←Vi ch-{vm}),vi更新其施助节点集合
Figure BDA0003088062950000092
vi更新其施助节点集合的元素个数
Figure BDA0003088062950000093
补偿链路建立后,节点vi可以利用该补偿链路进行数据传输;
所述vm收到vi发出补偿链路建立请求后,具体包括以下子步骤:
(1)节点vm收到来自节点vi的序号为x的CREQ分组,然后采用单播的方式向vi发送CREP分组,CREP的序号字段设置为x+1;
(2)节点vm在发送CREP分组后立即启动一个超时时长设置为T<Δt的计时器,若在时间T内,vm收到来自vi的ACK,vm立即广播一个匹配成功指示分组MSI;vm的邻节点
Figure BDA00030880629500000914
在收到MSI后,更新拓扑中链路补偿后的链路集合
Figure BDA0003088062950000094
并根据MSI中的施助状态字段判断vm的受助节点数是否达到第一门限值
Figure BDA00030880629500000910
若满足
Figure BDA00030880629500000911
Figure BDA00030880629500000912
若满足
Figure BDA00030880629500000913
Figure BDA0003088062950000095
执行(3);若在时间T内,vm未收到来自vi的ACK,说明vi与vm未建立补偿链路,则节点vi放弃与vm建立补偿链路,等待时间间隔Δt后重新执行步骤三;
(3)vm与vi之间建立补偿链路
Figure BDA0003088062950000096
并更新拓扑中链路补偿后的链路集合
Figure BDA0003088062950000097
vm更新其受助节点集合
Figure BDA0003088062950000098
vm更新其受助节点集合的元素个数
Figure BDA0003088062950000099
至此,补偿链路建立,vi可以利用该补偿链路进行数据传输。
进一步,所述步骤八具体包括以下子步骤:
(1)补偿链路终止分组DISC包含发送该补偿链路终止分组的节点的标识字段和被终止的补偿链路的另一邻节点的标识字段;
(2)判断节点vi的链路补偿状况,若满足
Figure BDA0003088062950000101
Figure BDA0003088062950000102
执行子步骤(3);若满足
Figure BDA0003088062950000103
Figure BDA0003088062950000104
执行子步骤(4);
(3)节点vi从其施助节点集合Vi h选择中最先与节点vi建立补偿链路的节点vl,然后向施助节点vl发送补偿链路终止分组DISC,同时vi不再向vl的发送数据,在经过时间T后vi释放其与vl之间的连接,即拆除了vi与vl之间建立的补偿链路,vi更新拓扑中链路补偿后的链路集合
Figure BDA0003088062950000105
vi更新其施助节点集合Vi h(Vi h←Vi h-{vl}),vi更新其施助节点集合的元素个数
Figure BDA0003088062950000106
施助节点vl收到节点vi发送的DISC分组后,施助节点vl更新拓扑中链路补偿后的链路集合
Figure BDA0003088062950000107
vl更新其受助节点集合
Figure BDA0003088062950000108
vl更新其受助节点集合的元素个数
Figure BDA0003088062950000109
节点vi等待时间间隔Δt后重新执行步骤三;
(4)节点vi从其受助节点集合Vi r选择最先与vi建立补偿链路的节点vk,然后向受助节点vk发送补偿链路终止分组DISC,同时vi不再接收来自vk的数据,在经过时间T后,vi释放其与vk之间的连接,即拆除了vi与vk之间的补偿链路,vi更新拓扑中链路补偿后的链路集合
Figure BDA00030880629500001010
vi更新其受助节点集合
Figure BDA00030880629500001011
vi更新其受助节点集合的元素个数
Figure BDA00030880629500001012
受助节点vk收到节点vi发送的DISC分组后,受助节点vk更新其链路补偿后的链路集合
Figure BDA00030880629500001013
vk更新其施助节点集合
Figure BDA00030880629500001014
vk更新其施助节点集合的元素个数
Figure BDA00030880629500001015
节点vi等待时间间隔Δt后重新执行步骤三。
本发明的设计思路是利用跨层的信息交互,通过由运输层向数据链路层发送跨层数据单元,触发数据链路层灵活地激活或关闭链路,从而实现基于跨层的动态拓扑调整,改善网络的数据传输性能。
本发明与现有技术相比具有以下优点:
1、与现有技术相比,本发明能够充分利用底层链路资源,通过在低开销拓扑的基础上动态的地加入一定的冗余链路,使数据传输的带宽增大,从而避免网络出现拥塞。
2、本发明能够通过在数据链路层灵活地激活或关闭链路,及时缓解网络拥塞,对于一些时效性要求高,以及会出现大量突发业务的网络的性能具有良好的改善效果。
3、本发明能让网络在保证网络连通的情况下,拆除一些补偿链路,使网络既能保证较好的数据传输性能,同时避免维持高连通度拓扑结构造成的大量的链路带宽和资源的浪费,以及维持链路的开销。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于动态补偿的跨层拓扑控制方法的执行过程示意图。
图2是本发明实施例提供的基于动态补偿的跨层拓扑控制方法的协议框架图。
图3是本发明实施例提供的基于动态补偿的跨层拓扑控制方法的实现流程图。
图4是本发明实施例提供的基于动态补偿的跨层拓扑控制方法的补偿链路建立过程的示意图。
图5是本发明实施例提供的基于动态补偿的跨层拓扑控制方法的执行MST生成的初始拓扑的MATLAB仿真图。
图6对本发明实施例提供的基于动态补偿的跨层拓扑控制方法在网络中进行5分钟仿真得到的的缓存队列长度变化情况的MATLAB仿真图。
图7对本发明实施例提供的基于动态补偿的跨层拓扑控制方法执行第一次后的MATLAB仿真图。
图8对本发明实施例提供的基于动态补偿的跨层拓扑控制方法执行第二次后的MATLAB仿真图。
图9对本发明实施例提供的基于动态补偿的跨层拓扑控制方法执行第三次后的MATLAB仿真图。
图10对本发明实施例提供的基于动态补偿的跨层拓扑控制方法执行第四次后的MATLAB仿真图。
图11对本发明实施例提供的基于动态补偿的跨层拓扑控制方法在网络中进行5分钟仿真得到的分组的平均端到端时延随业务负荷变化的情况的MATLAB仿真图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于动态补偿的跨层拓扑控制算法,下面结合附图对本发明做出详细的描述。
如图1所示,本发明提供的基于动态补偿的跨层拓扑控制方法具体执行过程包括以下内容:
S101:根据卫星节点间的物理距离,使用MST算法,构建一个初始的网络拓扑,并设定三个门限,第一门限规定节点补偿链路数量的上限值,第二门限规定节点缓存占用率的上阈值,第三门限规定节点缓存占用率的下阈值;
S102:设定一个固定的时间间隔,节点运输层按照该固定时间间隔定期计算节点所在时刻的缓存占用率以及缓存占用率的变化率,并将结果封装到跨层数据单元中,然后发送给节点的数据链路层;
S103:节点通过与其各个邻节点进行信息交互,得到其他节点的缓存占用情况以及链路补偿情况,节点找到所有未与其建立链路、且缓存占用率小于第二门限、且没有作为受助节点建立补偿链路、且补偿链路数小于第一门限的节点,将这些节点按缓存占用率大小升序排列,构成候选施助节点集合;
S104:节点根据其收到的跨层数据单元中的缓存占用率以及缓存占用率的变化率,判断是否需要建立或拆除补偿链路;
S105:节点计算其在一个固定时间间隔后的缓存占用率,如果该节点的缓存占用率在一个固定时间间隔后大于第二门限且节点作为施助节点补偿过其他节点,则拆除该节点最早建立的补偿链路,并等待一个固定时间间隔后重新执行S102;如果该节点的缓存占用率在一个固定时间间隔后大于第二门限、且没有作为施助节点补偿过其他节点、且补偿链路数小于第一门限,则从其候选施助节点集合中选择缓存占用率最小的节点,并与该节点建立补偿链路,等待一个固定时间间隔后重新执行S102;如果节点的缓存占用率在一个固定时间间隔后小于第三门限,且作为受助节点与其他节点建立了补偿链路,则拆除该节点最早建立的补偿链路,并等待一个固定时间间隔后重新执行S102。
本发明提供的基于动态补偿的跨层拓扑控制算法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的基于动态补偿的跨层拓扑控制算法仅仅是一个具体实施例而已。
如图2所示,本发明提供的基于动态补偿的拓扑控制方法的设计框架包括:
运输层:节点运输层定期评估其缓存占用率及其变化率,并该信息封装至跨层数据单元CLDU中后发送给数据链路层;
数据链路层:节点的数据链路层接收到来自运输层的CLDU后,根据CLDU包含的节点缓存占率及其变化率做出不同的响应;
网络层:网络层可以采用具有负载均衡能力的路由协议,利用链路层提供的补偿链路卸载缓存占用率高的节点的输出缓存中的业务分组,从而保障网络服务质量。
如图3所示,本发明实施例提供的基于动态补偿的跨层拓扑控制方法实现的具体步骤如下:
步骤一,节点将三维空间划分为不同的区域,针对不同的区域形成不同指向的宽波束进行邻节点搜索,以完成邻节点发现;
各个节点独立执行最小生成树MST算法,生成初始拓扑图;
各节点设定三个门限值,第一门限值
Figure BDA00030880629500001414
规定节点补偿链路数量的上限值,第二门限值TH规定节点缓存占用率的上阈值,第三门限值TL规定节点缓存占用率的下阈值,所有节点设置相同的第一门限值、相同的第二门限值和相同的第三门限值;
步骤二,设定时间间隔Δt,节点vi的运输层按照该时间间隔定期计算节点vi在当前时刻t的缓存占用率ηi(t)以及节点缓存占用率的变化率γi(t),并将ηi(t)和γi(t)封装到跨层数据单元(CLDU)中,然后将跨层数据单元发送给节点vi的数据链路层;节点vi建立一个受助节点集合Vi r和一个施助节点集合Vi h
Figure BDA0003088062950000142
表示集合Vi r中的元素个数,
Figure BDA0003088062950000143
表示集合Vi h中的元素个数,初始化
Figure BDA0003088062950000141
Figure BDA0003088062950000144
表示空集合;
步骤三,节点vi通过与其各个邻节点间进行信息交互,以获得vi的各个邻节点vj(vj∈Vi n)在时刻t的缓存占用率ηj(t);节点vi根据获得的其邻节点vj的ηj(t)、
Figure BDA00030880629500001416
Figure BDA00030880629500001417
信息,找到所有满足ηj(t)<TH
Figure BDA00030880629500001415
Figure BDA00030880629500001418
的邻节点构成节点vi的候选施助节点集合Vi ch;节点vi将Vi ch中在的施助节点集合Vi h中的节点,或者在集合Vi c,init中的节点删除,即执行Vi ch←Vi ch-Vi h-Vi c,init,并对Vi ch中的元素按照其缓存占用率的大小进行升序排序,其中,节点vi建立的邻节点集合记为Vi n=V-{vi},V表示网络中的节点集合,Vi c,init表示初始拓扑中与节点vi建立链路的邻节点集合,初始化
Figure BDA0003088062950000147
节点vi根据
Figure BDA0003088062950000145
Figure BDA0003088062950000146
判断其链路补偿情况,若满足
Figure BDA00030880629500001412
Figure BDA00030880629500001413
则执行步骤四,若满足
Figure BDA0003088062950000148
Figure BDA0003088062950000149
则执行步骤五,若满足
Figure BDA00030880629500001410
Figure BDA00030880629500001411
则执行步骤六;
步骤四,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则vi计算经过时间间隔Δt后其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤七,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤五,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0的进行比较,若满足γi(t)<0,则节点vi再将其在时刻t的缓存占用率ηi(t)与第三门限TL进行比较,若满足ηi(t)≤TL,则执行步骤八,若满足ηi(t)>TL,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则节点vi将其施助节点集合包含的元素个数
Figure BDA0003088062950000153
与第一门限
Figure BDA0003088062950000154
进行比较,若满足
Figure BDA0003088062950000155
则等待时间间隔Δt后重新执行步骤三,若满足
Figure BDA0003088062950000156
则vi计算经过时间间隔Δt后其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤七,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤六,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则vi计算经过时间间隔后Δt其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤八,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤七,节点vi从候选施助节点集合Vi ch中选择缓存占用率最小的节点vm,vi向vm发出补偿链路建立请求,若补偿链路建立成功,则节点vi与节点vm之间建立补偿链路,以使vi利用该补偿链路进行数据传输,节点vi等待时间间隔Δt后重新执行步骤三;若补偿链路建立失败,则节点vi放弃与vm建立补偿链路,然后节点vi等待时间间隔Δt后重新执行步骤三;
步骤八,节点vi判断自己的链路补偿状态,若满足
Figure BDA0003088062950000151
Figure BDA0003088062950000152
节点vi从施助节点集合Vi h中选择最先与节点vi建立补偿链路的节点vl,并且vi拆除其与vl之间的补偿链路,vi等待时间间隔Δt后重新执行步骤三;若满足
Figure BDA0003088062950000162
Figure BDA0003088062950000163
则节点vi从受助节点集合Vi r中选择最先与节点vi建立补偿链路的节点vk,并且vi拆除其与vk之间的补偿链路,vi等待时间间隔Δt后重新执行步骤三;
如图4所示,本发明实施例提供的基于动态补偿的跨层拓扑控制方法建立补偿链路具体步骤以下子步骤:
所述vi向vm发出补偿链路建立请求,具体包括以下子步骤:
(1)节点vi发送的链路补偿请求分组CREQ分组包含序号字段,vi的标识字段,vi的缓存占用率字段,vi的缓存占用率的变化率字段,以及vi的候选施助节点集合Vi ch中缓存占用率最低的节点的标识字段;对补偿请求分组应答的节点vm发送的链路补偿应答分组CREP包含序号字段,vm的标识字段,vm的缓存占用率字段,以及vm的缓存占用率的变化率字段;节点vi对其收到的链路补偿应答分组发送的确认分组ACK包含vi的标识字段;节点vm发送的匹配成功指示分组MSI包含vm的标识字段以及vm的施助状态字段,其中施助状态字段包含vm已经建立的补偿链路的数量以及vi的标识字段;
(2)发送补偿请求的节点vi查询其候选施助节点集合Vi ch,然后调整节点vi的宽波束指向,使其波束中心对准Vi ch中缓存占用率最低的节点vm,并向节点vm发送链路补偿请求分组CREQ,将CREQ中的序号字段值设置为随机数x;
(3)vi发送CREQ后立即启动一个计时器,并设置计时器的超时时长为T<Δt,若在时间T内,收到来自节点vm返回的链路补偿应答分组CREP,则执行子步骤(4);若在时间T内,vi未收到任何应答,则节点vi放弃与vm建立补偿链路,等待时间间隔Δt后重新执行步骤三;
(4)vi以单播的方式向vm发送确认分组ACK,vm收到ACK后,执行子步骤(5);
(5)vi与vm之间建立补偿链路
Figure BDA0003088062950000164
节点vi更新链路补偿后的链路集合Ecom
Figure BDA0003088062950000161
vi更新其候选施助节点集合Vi ch(Vi ch←Vi ch-{vm}),vi更新其施助节点集合
Figure BDA0003088062950000171
vi更新其施助节点集合的元素个数
Figure BDA00030880629500001714
补偿链路建立后,节点vi可以利用该补偿链路进行数据传输;
所述vm收到vi发出补偿链路建立请求后,具体包括以下子步骤:
(1)节点vm收到来自节点vi的序号为x的CREQ分组,然后采用单播的方式向vi发送CREP分组,CREP的序号字段设置为x+1;
(2)节点vm在发送CREP分组后立即启动一个超时时长设置为T<Δt的计时器,若在时间T内,vm收到来自vi的ACK,vm立即广播一个匹配成功指示分组MSI;vm的邻节点
Figure BDA0003088062950000172
在收到MSI后,更新拓扑中链路补偿后的链路集合
Figure BDA0003088062950000173
并根据MSI中的施助状态字段判断vm的受助节点数是否达到第一门限值
Figure BDA0003088062950000174
若满足
Figure BDA0003088062950000175
Figure BDA0003088062950000176
若满足
Figure BDA0003088062950000177
Figure BDA0003088062950000178
执行(3);若在时间T内,vm未收到来自vi的ACK,说明vi与vm未建立补偿链路,则节点vi放弃与vm建立补偿链路,等待时间间隔Δt后重新执行步骤三;
(3)vm与vi之间建立补偿链路
Figure BDA0003088062950000179
并更新拓扑中链路补偿后的链路集合
Figure BDA00030880629500001710
vm更新其受助节点集合
Figure BDA00030880629500001711
vm更新其受助节点集合的元素个数
Figure BDA00030880629500001712
至此,补偿链路建立,vi可以利用该补偿链路进行数据传输。
下面结合仿真对本发明的技术效果做详细描述:
1、仿真条件:
仿真对象:本发明提供的的基于动态补偿的跨层拓扑控制方法
仿真参数:节点数量N=10,如图5所示,仿真在150km×150km的区域中随机生成10个节点,在MATLAB中执行MST得到的初始网络拓扑,所有节点集合V={v1,v2,...,v10},图中每个节点附近的数字表示该节点的编号,执行MST后得到的初始拓扑图中的链路集合
Figure BDA00030880629500001713
由图中实线段进行表示;MATLAB将节点信息及网络拓扑发送给OPNET,OPNET仿真时长设置为5分钟,时间间隔Δt设置为1分钟,仿真选取v1,v4,v5,v6,v10作为源节点随机生成数据包,等概地发送给v2,v3,v7,v8,v9,由图5中较大的实心点表示产生数据包的节点;OPNET每隔一分钟会收集执行算法所需的节点的缓存队列长度以及缓存队列长度变化率,并发送给MATLAB;MATLAB根据OPNET收集的节点的缓存队列长度以及缓存队列长度变化率信息,使用该算法判断是否需要建立或拆除补偿链路,更新网络拓扑后,将拓扑发送给OPNET,OPNET按照新的拓扑图进行下一个Δt内的仿真。
2、仿真内容及分析:
当N=10时,采用MATLAB和OPNET对基于动态补偿的跨层拓扑控制算法的补偿过程进行仿真,图6为0-5分钟部分节点的输出缓存队列长度随时间的变化曲线,其中细实线表示v1的输出缓存队列长度,细虚线表示v2的输出缓存队列长度,粗实线表示节点v4的输出缓存队列长度,粗虚线表示v5的输出缓存队列长度,带矩形标的实线表示v6的输出缓存队列长度,带圆形标的实线表示v10的输出缓存队列长度,缓存队列总长度为1024个分组,缓存占用率的上阈值为0.7,缓存占用率的下阈值为0.4;图7为第一次DLC-CLTC后的网络拓扑,对应的部分节点缓存占用率情况如图6所示,在t=1分钟时,节点v4,v5,v10缓存占用率过高且缓存占用率仍有增加的趋势,因此这些节点需要分别建立补偿链路,执行DLC-CLTC算法后的网络拓扑如图7所示,在初始拓扑的基础上增加了补偿链路
Figure BDA0003088062950000181
以及
Figure BDA0003088062950000182
其中有向虚线表示建立的补偿链路,箭尾表示受助节点,箭头表示施助节点,使用有向虚线表示是因为数据分组仅能从受助节点经由该补偿链路流向施助节点;图8为第二次执行DLC-CLTC后的网络拓扑,对应的部分节点缓存占用率情况如图6所示,在t=2分钟时,由于没有节点的缓存占用率超过缓存占用率上阈值,且补偿过的节点缓存占用率也并没有低于缓存占用率下阈值,因此第二次执行DLC-CLTC算法后的网络拓扑没有发生任何拓扑变化;图9为执行第三次执行DLC-CLTC算法后的网络拓扑,对应的部分节点缓存占用率情况如图6所示,在t=3分钟时,节点v5的缓存占用情况得到有效改善后,其缓存占用率低于缓存占用率下阈值且仍有下降的趋势,所以如图9所示拆除了针对v5建立的补偿链路
Figure BDA0003088062950000191
同时由于v1的负载状况进一步恶化,为了使业务分组能够尽快从v1的缓存中释放掉,如图9所示建立了补偿链路
Figure BDA0003088062950000192
图10为第四次执行DLC-CLTC算法后的网络拓扑,对应的部分节点缓存占用率情况如图6所示,在t=4分钟时,由于v5缓存占用率超过缓存占用率上阈值,他再一次寻求节点v3的帮助,如图10所示建立补偿链路
Figure BDA0003088062950000193
图11为分组的平均端到端时延随网络业务量变化的曲线,其中带方形标和带倒三角标的线段分别对应执行MST和执行DLC-CLTC得到的网络性能。
下面结合仿真对本发明的技术效果作详细的描述。
本实验采用MATLAB和OPNET对基于动态补偿的跨层拓扑控制算法进行仿真,其结果如图6所示,当节点缓存队列的占用率达到上阈值时,节点会动态的建立补偿链路,以降低过载节点的缓存占用率,从而改善网络整体性能;如图11所示,使用DLC-CLTC获得的分组的平均端到端时延低于使用MST得到的分组的平均端到端时延中,即给定相同的节点包生成速率,执行DLC-CLTC算法对拓扑结构进行动态调整后的网络具有更低的端到端时延性能。

Claims (10)

1.一种基于动态链路补偿的跨层拓扑控制方法,其特征在于,包括以下步骤:
步骤一,节点将三维空间划分为不同的区域,针对不同的区域形成不同指向的宽波束进行邻节点搜索,以完成邻节点发现;
各个节点独立执行最小生成树MST算法,生成初始拓扑图;
各节点设定三个门限值,第一门限值
Figure FDA0003515640060000011
规定节点补偿链路数量的上限值,第二门限值TH规定节点缓存占用率的上阈值,第三门限值TL规定节点缓存占用率的下阈值,所有节点设置相同的第一门限值、相同的第二门限值和相同的第三门限值;
步骤二,设定时间间隔Δt,节点vi的运输层按照该时间间隔定期计算节点vi在当前时刻t的缓存占用率ηi(t)以及节点缓存占用率的变化率γi(t),并将ηi(t)和γi(t)封装到跨层数据单元CLDU中,然后将跨层数据单元发送给节点vi的数据链路层;节点vi建立一个受助节点集合Vi r和一个施助节点集合Vi h
Figure FDA0003515640060000012
表示集合Vi r中的元素个数,
Figure FDA0003515640060000013
表示集合Vi h中的元素个数,初始化
Figure FDA0003515640060000014
Figure FDA0003515640060000015
表示空集合;
步骤三,节点vi通过与其各个邻节点间进行信息交互,以获得vi的各个邻节点vj(vj∈Vi n)在时刻t的缓存占用率ηj(t);节点vi根据获得的其邻节点vj的ηj(t)、
Figure FDA0003515640060000016
Figure FDA0003515640060000017
信息,找到所有满足ηj(t)<TH
Figure FDA0003515640060000018
Figure FDA0003515640060000019
的邻节点构成节点vi的候选施助节点集合Vi ch;节点vi将Vi ch中在的施助节点集合Vi h中的节点,或者在集合Vi c,init中的节点删除,并对Vi ch中的元素按照其缓存占用率的大小进行升序排序,其中,节点vi建立的邻节点集合记为Vi n=V-{vi},V表示网络中的节点集合,Vi c,init表示初始拓扑中与节点vi建立链路的邻节点集合,初始化
Figure FDA00035156400600000110
节点vi根据
Figure FDA00035156400600000111
Figure FDA00035156400600000112
判断其链路补偿情况,若满足
Figure FDA00035156400600000113
Figure FDA00035156400600000114
则执行步骤四,若满足
Figure FDA00035156400600000115
Figure FDA00035156400600000116
则执行步骤五,若满足
Figure FDA00035156400600000117
Figure FDA00035156400600000118
则执行步骤六;
步骤四,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则vi计算经过时间间隔Δt后其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤七,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤五,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0的进行比较,若满足γi(t)<0,则节点vi再将其在时刻t的缓存占用率ηi(t)与第三门限TL进行比较,若满足ηi(t)≤TL,则执行步骤八,若满足ηi(t)>TL,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则节点vi将其施助节点集合包含的元素个数
Figure FDA0003515640060000021
与第一门限
Figure FDA0003515640060000022
进行比较,若满足
Figure FDA0003515640060000023
则等待时间间隔Δt后重新执行步骤三,若满足
Figure FDA0003515640060000024
则vi计算经过时间间隔Δt后其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤七,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤六,节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则vi计算经过时间间隔后Δt其缓存占用率ηi(t+Δt),并判断ηi(t+Δt)是否超过第二门限TH,若满足ηi(t+Δt)>TH,则执行步骤八,若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
步骤七,节点vi从候选施助节点集合Vi ch中选择缓存占用率最小的节点vm,vi向vm发出补偿链路建立请求,若补偿链路建立成功,则节点vi与节点vm之间建立补偿链路,以使vi利用该补偿链路进行数据传输,节点vi等待时间间隔Δt后重新执行步骤三;若补偿链路建立失败,则节点vi放弃与vm建立补偿链路,然后节点vi等待时间间隔Δt后重新执行步骤三;
步骤八,节点vi判断自己的链路补偿状态,若满足
Figure FDA0003515640060000025
Figure FDA0003515640060000026
节点vi从施助节点集合Vi h中选择最先与节点vi建立补偿链路的节点vl,并且vi拆除其与vl之间的补偿链路,vi等待时间间隔Δt后重新执行步骤三;若满足
Figure FDA0003515640060000031
Figure FDA0003515640060000032
则节点vi从受助节点集合Vi r中选择最先与节点vi建立补偿链路的节点vk,并且vi拆除其与vk之间的补偿链路,vi等待时间间隔Δt后重新执行步骤三。
2.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤一具体包括:
(1)节点将三维空间划分为不同的区域,针对不同的区域形成不同指向的宽波束进行邻节点搜索,以完成邻节点发现,网络用图G(V,E,W)描述,其中V表示网络中的所有节点构成的集合,E表示所有链路集合,E中元素eij表示节点vi与节点vj之间存在链路,W表示拓扑图中的链路的权重集合,W中的元素wij表示链路eij的权值;接下来,各个节点独立执行最小生成树MST算法,生成初始拓扑图Ginit(Vinit,Einit,Winit),其中Vinit表示初始拓扑图中的节点集合,有Vinit=V,Einit表示初始拓扑图中的链路集合,Einit中的元素
Figure FDA0003515640060000033
表示节点vi与vj之间的链路,Winit表示初始拓扑图中的链路的权重集合,Winit中的元素
Figure FDA0003515640060000034
表示链路
Figure FDA0003515640060000035
的权值;定义Gcom(Vcom,Ecom,Wcom)表示进行链路补偿后的拓扑图,其中Vcom、Ecom和Wcom分别表示拓扑图Gcom中的节点、链路和链路的权值构成的进行链路补偿后的节点集合、链路集合和链路权值集合,初始化Gcom(Vcom,Ecom,Wcom)=Ginit(Vinit,Einit,Winit);
(2)网络中的所有节点设定三个门限值,第一门限值
Figure FDA0003515640060000036
规定节点补偿链路数量的上限值,第二门限值TH规定节点缓存占用率的上阈值,第三门限值TL规定节点缓存占用率的下阈值,所有节点设置相同的第一门限值、相同的第二门限值和相同的第三门限值。
3.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤二具体包括:
(1)节点vi的运输层按照式(1)计算节点vi在时刻t的缓存占用率ηi(t):
Figure FDA0003515640060000037
其中,Cb表示节点的输出缓存的总容量,Li(t)表示节点vi在时刻t的缓存队列长度;
(2)节点vi的运输层按照式(2)计算节点vi在时刻t的缓存占用率的变化率γi(t):
Figure FDA0003515640060000041
其中,
Figure FDA0003515640060000042
表示vi在时刻t的数据分组输出速率,
Figure FDA0003515640060000043
表示vi在时刻t的数据分组到达速率;
(3)节点vi的运输层以时间间隔Δt为周期,定期计算ηi(t)和γi(t),并将其封装到跨层数据单元CLDU中,然后将跨层数据单元发送给节点vi的数据链路层;
(4)节点vi建立一个受助节点集合Vi r和一个施助节点集合Vi h
Figure FDA0003515640060000044
表示节点vi的受助节点集合的元素个数,
Figure FDA0003515640060000045
表示节点vi的施助节点集合的元素个数,初始化
Figure FDA0003515640060000046
Figure FDA0003515640060000047
表示空集合。
4.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤三具体包括:
(1)节点vi通过与其各个邻节点进行信息交互,以获得vi的各个邻节点vj
Figure FDA0003515640060000048
在时刻t的缓存占用率ηj(t)、邻节点的受助节点集合包含的元素个数
Figure FDA0003515640060000049
以及施助节点集合包含的元素个数
Figure FDA00035156400600000410
节点vi根据获得的其邻节点vj的ηj(t)、
Figure FDA00035156400600000411
Figure FDA00035156400600000412
信息,找到所有满足ηj(t)<TH
Figure FDA00035156400600000413
Figure FDA00035156400600000414
的邻节点,构成节点vi的候选施助节点集合Vi ch
(2)节点vi将Vi ch中与vi已经建立链路的邻节点,或者在vi的施助节点集合Vi h中的Vi ch,或者在集合Vi c,init中的Vi ch删除,即执行Vi ch←Vi ch-Vi h-Vi c,init,其中,节点vi建立的邻节点集合记为Vi n=V-{vi},V表示网络中的节点集合,Vi c,init表示初始拓扑中与节点vi建立链路的邻节点集合,初始化
Figure FDA00035156400600000415
(3)节点vi对Vi ch中的元素按照其缓存占用率的大小进行升序排列;
(4)节点vi根据
Figure FDA00035156400600000416
Figure FDA00035156400600000417
判断其链路补偿状态,若满足
Figure FDA00035156400600000418
Figure FDA00035156400600000419
则执行步骤四;若满足
Figure FDA0003515640060000051
Figure FDA0003515640060000052
则执行步骤五;若满足
Figure FDA0003515640060000053
Figure FDA0003515640060000054
则执行步骤六。
5.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤四具体包括子步骤:
(1)节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则执行子步骤(2);
(2)节点vi根据公式(3)计算节点vi经过时间间隔Δt后的其缓存占用率ηi(t+Δt):
ηi(t+Δt)=ηi(t)+γi(t)·Δt (3)
(3)节点vi将ηi(t+Δt)与TH进行比较,若满足ηi(t+Δt)>TH,执行子步骤(4);若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
(4)节点vi发出链路补偿请求,执行步骤七。
6.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤五具体包括以下子步骤:
(1)节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,执行子步骤(2);若满足γi(t)≥0,执行子步骤(3);
(2)节点vi将其在时刻t的缓存占用率ηi(t)与第三门限TL进行比较,若满足ηi(t)≤TL,执行子步骤(7);若满足ηi(t)>TL,则等待时间间隔Δt后重新执行步骤三;
(3)节点vi
Figure FDA0003515640060000055
与第一门限值
Figure FDA0003515640060000056
进行比较,若满足
Figure FDA0003515640060000057
执行子步骤(4);若满足
Figure FDA0003515640060000058
则等待时间间隔Δt后重新执行步骤三;
(4)节点vi根据公式(3)计算经过时间间隔Δt后其缓存占用率ηi(t+Δt);
(5)节点vi将ηi(t+Δt)与第二门限值TH进行比较,若满足ηi(t+Δt)>TH,执行子步骤(6);若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
(6)节点vi发出补偿链路建立请求,执行步骤七;
(7)节点vi发出补偿链路拆除请求,执行步骤八。
7.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤六具体包括以下子步骤:
(1)节点vi将其在时刻t的缓存占用率的变化率γi(t)与0进行比较,若满足γi(t)<0,则等待时间间隔Δt后重新执行步骤三;若满足γi(t)≥0,则执行子步骤(2);
(2)节点vi根据公式(3)计算经过时间间隔Δt后其缓存占用率ηi(t+Δt);
(3)节点vi将ηi(t+Δt)与第二门限值TH进行比较,若满足ηi(t+Δt)>TH,执行(4);若满足ηi(t+Δt)≤TH,则等待时间间隔Δt后重新执行步骤三;
(4)节点vi发出补偿链路拆除请求,执行步骤八。
8.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤七的所述vi向vm发出补偿链路建立请求,具体包括以下子步骤:
(1)节点vi发送的链路补偿请求分组CREQ分组包含序号字段,vi的标识字段,vi的缓存占用率字段,vi的缓存占用率的变化率字段,以及vi的候选施助节点集合Vi ch中缓存占用率最低的节点的标识字段;对补偿请求分组应答的节点vm发送的链路补偿应答分组CREP包含序号字段,vm的标识字段,vm的缓存占用率字段,以及vm的缓存占用率的变化率字段;节点vi对其收到的链路补偿应答分组发送的确认分组ACK包含vi的标识字段;节点vm发送的匹配成功指示分组MSI包含vm的标识字段以及vm的施助状态字段,其中施助状态字段包含vm已经建立的补偿链路的数量以及vi的标识字段;
(2)发送补偿请求的节点vi查询其候选施助节点集合Vi ch,然后调整节点vi的宽波束指向,使其波束中心对准Vi ch中缓存占用率最低的节点vm,并向节点vm发送链路补偿请求分组CREQ,将CREQ中的序号字段值设置为随机数x;
(3)vi发送CREQ后立即启动一个计时器,并设置计时器的超时时长为T<Δt,若在时间T内,收到来自节点vm返回的链路补偿应答分组CREP,则执行子步骤(4);若在时间T内,vi未收到任何应答,则节点vi放弃与vm建立补偿链路,等待时间间隔Δt后重新执行步骤三;
(4)vi以单播的方式向vm发送确认分组ACK,vm收到ACK后,执行子步骤(5);
(5)vi与vm之间建立补偿链路
Figure FDA0003515640060000071
节点vi更新链路补偿后的链路集合Ecom
Figure FDA0003515640060000072
vi更新其候选施助节点集合Vi ch(Vi ch←Vi ch-{vm}),vi更新其施助节点集合Vi h(Vi h←Vi h∪{vm}),vi更新其施助节点集合的元素个数
Figure FDA0003515640060000073
补偿链路建立后,节点vi可以利用该补偿链路进行数据传输;
所述vm收到vi发出补偿链路建立请求后,具体包括以下子步骤:
(1)节点vm收到来自节点vi的序号为x的CREQ分组,然后采用单播的方式向vi发送CREP分组,CREP的序号字段设置为x+1;
(2)节点vm在发送CREP分组后立即启动一个超时时长设置为T<Δt的计时器,若在时间T内,vm收到来自vi的ACK,vm立即广播一个匹配成功指示分组MSI;vm的邻节点
Figure FDA0003515640060000074
在收到MSI后,更新拓扑中链路补偿后的链路集合
Figure FDA0003515640060000075
并根据MSI中的施助状态字段判断vm的受助节点数是否达到第一门限值
Figure FDA0003515640060000076
若满足
Figure FDA0003515640060000077
Figure FDA0003515640060000078
若满足
Figure FDA0003515640060000079
Figure FDA00035156400600000710
执行(3);若在时间T内,vm未收到来自vi的ACK,说明vi与vm未建立补偿链路,则节点vi放弃与vm建立补偿链路,等待时间间隔Δt后重新执行步骤三;
(3)vm与vi之间建立补偿链路
Figure FDA00035156400600000711
并更新拓扑中链路补偿后的链路集合
Figure FDA00035156400600000712
vm更新其受助节点集合
Figure FDA00035156400600000713
vm更新其受助节点集合的元素个数
Figure FDA00035156400600000714
至此,补偿链路建立,vi可以利用该补偿链路进行数据传输。
9.根据权利要求1所述的基于动态链路补偿的跨层拓扑控制方法,其特征在于,所述步骤八具体包括以下子步骤:
(1)补偿链路终止分组DISC包含发送该补偿链路终止分组的节点的标识字段和被终止的补偿链路的另一邻节点的标识字段;
(2)判断节点vi的链路补偿状况,若满足
Figure FDA0003515640060000081
Figure FDA0003515640060000082
执行子步骤(3);若满足
Figure FDA0003515640060000083
Figure FDA0003515640060000084
执行子步骤(4);
(3)节点vi从其施助节点集合Vi h选择中最先与节点vi建立补偿链路的节点vl,然后向施助节点vl发送补偿链路终止分组DISC,同时vi不再向vl的发送数据,在经过时间T后vi释放其与vl之间的连接,即拆除了vi与vl之间建立的补偿链路,vi更新拓扑中链路补偿后的链路集合
Figure FDA0003515640060000085
vi更新其施助节点集合Vi h(Vi h←Vi h-{vl}),vi更新其施助节点集合的元素个数
Figure FDA0003515640060000086
施助节点vl收到节点vi发送的DISC分组后,施助节点vl更新拓扑中链路补偿后的链路集合
Figure FDA0003515640060000087
vl更新其受助节点集合Vl r(Vl r←Vl r-{vi}),vl更新其受助节点集合的元素个数
Figure FDA0003515640060000088
节点vi等待时间间隔Δt后重新执行步骤三;
(4)节点vi从其受助节点集合Vi r选择最先与vi建立补偿链路的节点vk,然后向受助节点vk发送补偿链路终止分组DISC,同时vi不再接收来自vk的数据,在经过时间T后,vi释放其与vk之间的连接,即拆除了vi与vk之间的补偿链路,vi更新拓扑中链路补偿后的链路集合
Figure FDA0003515640060000089
vi更新其受助节点集合Vi r(Vi r←Vi r-{vk}),vi更新其受助节点集合的元素个数
Figure FDA00035156400600000810
受助节点vk收到节点vi发送的DISC分组后,受助节点vk更新其链路补偿后的链路集合
Figure FDA00035156400600000811
vk更新其施助节点集合
Figure FDA00035156400600000812
vk更新其施助节点集合的元素个数
Figure FDA00035156400600000813
节点vi等待时间间隔Δt后重新执行步骤三。
10.一种应用权利要求1~9任意一项所述基于动态链路补偿的跨层拓扑控制方法的通信系统。
CN202110586801.0A 2021-05-27 2021-05-27 基于动态补偿的跨层拓扑控制方法及其通信系统 Active CN113328884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110586801.0A CN113328884B (zh) 2021-05-27 2021-05-27 基于动态补偿的跨层拓扑控制方法及其通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110586801.0A CN113328884B (zh) 2021-05-27 2021-05-27 基于动态补偿的跨层拓扑控制方法及其通信系统

Publications (2)

Publication Number Publication Date
CN113328884A CN113328884A (zh) 2021-08-31
CN113328884B true CN113328884B (zh) 2022-06-10

Family

ID=77421922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110586801.0A Active CN113328884B (zh) 2021-05-27 2021-05-27 基于动态补偿的跨层拓扑控制方法及其通信系统

Country Status (1)

Country Link
CN (1) CN113328884B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2991290B1 (en) * 2014-08-29 2018-04-18 Alcatel Lucent Controller, node management unit, system and method for controlling packet flow in a network
CN107318146B (zh) * 2017-07-03 2020-10-30 西安工业大学 移动集群自组网的拓扑控制方法
CN112543048B (zh) * 2020-11-06 2021-10-29 西安电子科技大学 增量补偿健壮拓扑控制方法、系统、介质、设备、终端
CN112532294B (zh) * 2020-11-06 2021-10-29 西安电子科技大学 溯源补偿健壮拓扑控制方法、系统、介质、设备及终端
CN112702274B (zh) * 2020-12-24 2022-08-19 重庆邮电大学 战术瞄准网络技术中基于路由稳定性的跨层拥塞控制方法

Also Published As

Publication number Publication date
CN113328884A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN105657777B (zh) 基于链路质量和节点转发能力的路由协议设计方法
CN101980565B (zh) 一种基于QoS的Ad Hoc网络自适应节点速度多路径路由方法
CN111263419B (zh) 基于无人机的应急场景下立体异构网络的动态路由方法
CN103634842B (zh) 一种分布式卫星网络群间路由方法
CN107396396A (zh) 支持多源多径的数据传输管理方法
CN105490962A (zh) 一种基于OpenFlow网络的QoS管理方法
CN102932840B (zh) 一种基于速率和队列长度的无线路由器主动队列管理方法
CN107517158A (zh) 无人机通信网络联合路由协议的设计方法
CN111148178B (zh) 一种基于无人机自组网的dsr路由协议实现方法
CN105119842A (zh) 在中断容忍网络中设置rtt参数的方法
CN106792970B (zh) 一种车辆自组织网络路由选择方法
CN103108372A (zh) 基于节点发送和接收能力的干扰感知跨层路由方法
US20220224604A1 (en) Mptcp incast performance evaluation model based on a queuing network
CN113328884B (zh) 基于动态补偿的跨层拓扑控制方法及其通信系统
CN102231711B (zh) 基于维纳预测动态调整节点拥塞等级的路由控制方法
CN107995114A (zh) 基于密度聚类的容迟网络路由方法
CN102076049B (zh) 基于势能场的能量平衡的路由方法
CN113595756B (zh) 一种异质化节点和链路的网络建模方法、通信设备及网络
CN103634923B (zh) 公交车载网络中最大化有效传输次数的调度决策方法
CN106454941A (zh) 一种无线网络的最优拥塞控制方法
Brahma et al. A load-balancing and push-out scheme for supporting QOS in MANETs
Gu et al. Research on congestion control link algorithm of computer network based on sdn
CN113766561B (zh) 基于跨层优化的无人集群网络拥塞控制方法
CN107331150A (zh) 一种基于站点间资源迭代分配的缓解公交网络拥塞的方法
Weiqiang et al. Optimization of tcp for haps network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant