CN108737972B - 移动Ad Hoc网络中基于虚拟引力的合作广播方法 - Google Patents
移动Ad Hoc网络中基于虚拟引力的合作广播方法 Download PDFInfo
- Publication number
- CN108737972B CN108737972B CN201810374692.4A CN201810374692A CN108737972B CN 108737972 B CN108737972 B CN 108737972B CN 201810374692 A CN201810374692 A CN 201810374692A CN 108737972 B CN108737972 B CN 108737972B
- Authority
- CN
- China
- Prior art keywords
- node
- broadcast packet
- neighbor
- broadcast
- nodes
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0215—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
- H04W28/0221—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices power availability or consumption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0226—Traffic management, e.g. flow control or congestion control based on location or mobility
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/082—Load balancing or load distribution among bearers or channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/248—Connectivity information update
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种移动Ad Hoc网络中基于虚拟引力的合作广播方法,采用基于虚拟引力的方式,从源节点i开始发送广播分组;网络中任一节点k接收到广播分组后,根据广播分组头部的转发节点地址列表,决定是否转发,若需要转发,则根据邻居信息表中所有邻居节点的位置和邻居节点的虚拟引力大小选择最多4个邻节点作为下一跳转发节点,选出的转发节点不足4个时以特殊地址(254.255.255.255)补充,将这些转发节点的地址填入广播分组头部,然后发送广播分组。本发明具有的有益效果:可以大大降低转发节点数目,有效抑制广播风暴,均衡能量损耗,延长整体网络生存时间。
Description
技术领域
本发明涉及无线通信技术领域,尤其是涉及一种能够有效抑制广播风暴,提高广播的可靠性,均衡网络中节点的能量,具有较高的到达率和较低时延的移动Ad Hoc网络中基于虚拟引力的合作广播方法。
背景技术
移动Ad Hoc网络是一种没有任何中心实体的自组织网络,在事先设计好的各种协议的支持下,依靠节点间的相互协作;在移动、复杂多变的无线环境中自行成网,借助于多跳转发技术来弥补无线设备的有限传输距离、从而拓宽网络的覆盖范围,为用户提供各种服务、传输各种业务的无线通信网络。其不需要依赖现有固定通信网络基础设施的,就能够迅速组织展开使用的通信网络体系,且网络中各节点能够动态地、随意地、频繁地进入和离开网络。
在移动Ad Hoc网络中,广播是将网络中某一节点的信息传递给所有其他节点的过程,它被广泛应用于许多移动Ad Hoc网络协议中,其中最简单的广播方式就是洪泛广播,并且很多广播方法都是在洪泛的基础上提出来的。但是洪泛广播会造成信息冗余,带来广播风暴等问题,同时信号的碰撞将导致广播的不可靠性。
发明内容
本发明为了克服现有技术中存在的广播的不可靠性和会造成广播风暴的不足,提供了一种能够有效抑制广播风暴,提高广播的可靠性,均衡网络中节点的能量,具有较高的到达率和较低时延的移动Ad Hoc网络中基于虚拟引力的合作广播方法。
为了实现上述目的,本发明采用了以下技术方案:
一种移动Ad Hoc网络中基于虚拟引力的合作广播方法,包括如下步骤:
(1-1)源节点发送广播分组:
以移动自组织网络中任一节点i作为产生广播分组的源节点,然后:
A、在源节点i广播分组收发记录表中添加该广播分组已接收的记录,并判断源节点i的邻居信息表中是否存在邻居节点:
若否,则用4个相同的特殊地址(254.255.255.255)作为转发节点地址;
若是,则进一步判断源节点i的邻居信息表中邻居节点个数是否大于4:
若是,节点i根据自身的成功广播率和归一化剩余能量,计算节点i对于邻居节点的虚拟引力大小Fi;剔除虚拟引力为0的邻节点,从剩下的邻节点中选出最多4个节点作为转发节点;若选出的转发节点数不足4个,则用特殊地址(254.255.255.255)作为转发节点的地址填补到4个转发节点为止;
若否,节点i根据自身的成功广播率和归一化剩余能量,计算节点i对于邻居节点的虚拟引力大小Fi;剔除虚拟引力大小为0的邻居节点,剩余的邻节点全部作为转发节点,若不足4个,则用特殊地址(254.255.255.255)作为转发节点的地址填补到4个转发节点为止;
B、源节点i发送广播分组;
(1-2)任一节点k接收到广播分组后采用以下方式处理:
若节点k从邻居节点h接收到一个广播分组后,依次判断是否第一次从节点h收到广播分组、是否有该广播分组已接收的记录、是否是有该广播分组已广播的记录、是否有该广播分组已成功广播的记录,然后做出对应处理:
或者建立或更新邻居信息表中发送该广播分组的邻居节点h的对应条目;
或者按概率或根据广播分组头部中的转发节点地址转发该广播分组,在转发前根据邻居信息表中所有邻居节点的位置和虚拟引力的大小选出最多4个下一跳转发节点,将源节点地址、广播分组序列号、广播目的IP地址、当前节点地址、当前节点k的虚拟引力值、当前节点k的位置以及下一跳转发节点地址写入需要发送的广播分组头部;
或者将已成功发送广播分组数Sk加1后丢弃该广播分组;
或者丢弃该广播分组;
(1-3)任一节点k的邻居信息表中任意一个邻居节点j的条目均设置有超时时间Tkj,针对任意两个节点k和节点j相互通信过程中采用以下方式删除节点k的邻居信息表中对应节点j的条目:
若节点k的邻居信息表中对应邻居节点j的超时时间Tkj计时到,说明该时间内邻居信息表中节点j的信息没有被刷新,邻居节点j已经长期未向节点k发送广播分组,则认为节点j已经不是当前节点k的邻居节点,将节点k的邻居信息表中对应节点j的条目删除;
(1-4)网络中所有节点反复交替执行步骤(1-1)至(1-3),直至所有节点不需要再转发该广播分组,或者网络中出现任意一个节点能量耗尽,即可终止执行。
本发明采用基于虚拟引力的方式,从源节点i开始发送广播分组;网络中任一节点k接收到广播分组后,根据广播分组头部的转发节点地址列表,决定是否转发,若需要转发,则根据邻居信息表中所有邻居节点的位置和邻居节点的虚拟引力大小选择最多4个邻节点作为下一跳转发节点,选出的转发节点不足4个时以特殊地址(254.255.255.255)补充,将这些转发节点的地址填入广播分组头部,然后发送广播分组;其中一个节点对邻居节点的虚拟引力大小是根据自身的成功广播率和归一化剩余能量来计算的;并在任意两个邻居节点相互通信过程中交换各自的虚拟引力的大小和位置,更新邻居信息表;网络中所有节点采用上述方式进行广播通信,直至所有节点不需要再转发广播分组,或者出现任意一个节点能量耗尽,即可终止通信。
本发明在网络中的每个节点k中均设置邻居信息表、广播收发记录表、广播分组缓存区、已发送广播分组数Tk和已成功发送广播分组数Sk,其中广播收发记录表含有广播分组已接收记录、广播分组已广播记录和广播分组已成功广播记录。
作为优选,步骤(1-1)中源节点i发送广播分组的具体步骤如下:
(2-1)将源节点i的IP地址、广播分组序列号、广播IP地址、当前节点i的IP地址、当前节点i的虚拟引力大小和位置信息、选出的转发节点地址,写入广播分组头部,按概率1发送广播分组;
(2-2)更新源节点i的归一化剩余能量Ei,并将自身已发送广播分组数Ti加1,Ti初始值为零,并在当前节点广播分组收发记录表中记录该广播分组已广播。
作为优选,步骤(1-2)的具体步骤如下:
(3-1)节点k从上一跳邻居节点h收到一个广播分组后,更新节点k的归一化剩余能量Ek;
(3-2)判断节点k是否是第一次从节点h接收广播分组,
若节点k是第一次从节点h接收广播分组,就在当前节点k的邻居信息表中创建对应节点h的条目,并将广播分组头中节点h的IP地址、虚拟引力大小和位置信息存入该条目,并在该条目对应的位置写入超时时间,转入步骤(3-3);
若节点k不是第一次从节点h接收广播分组,更新邻居信息表中记录的节点h的虚拟引力大小、位置信息和超时时间,转入步骤(3-3);
(3-3)根据节点广播分组收发记录表判断节点k是否有该广播分组已接收的记录,
若节点k有该广播分组已接收的记录,转入步骤(3-5);
若节点k没有该广播分组已接收的记录,表示当前节点是第一次收到该广播分组,在广播分组收发记录表中添加该广播分组已接收的记录;然后判断收到的广播分组头部的4个转发节点地址是否全是特殊地址,
若收到的广播分组头部的4个转发节点地址不全是特殊地址,判断节点k是否在转发节点地址列表中,
若节点k不在转发节点地址列表中,直接丢弃该广播分组,转入步骤(3-7);
若节点k在转发节点地址列表中,转入步骤(3-4);
(3-4)节点k根据邻居信息表判断邻居节点个数是否等于1,
若邻居节点个数等于1,直接丢弃该广播分组,不需要转发,转入步骤(3-7);
若邻居节点个数不等于1,判断节点k的邻居信息表中的邻居节点个数是否小于等于5,
若节点k的邻居信息表中的邻居节点个数小于等于5,节点k根据自身的成功广播率和归一化剩余能量,计算节点k对于邻居节点的虚拟引力大小Fk,剔除虚拟引力为0的邻居节点和上一跳邻居节点,将节点k的邻居信息表中剩余的邻居节点全部作为下一跳的转发节点,若剔除后转发节点数不足4个,则用特殊地址(254.255.255.255)填满4个地址;
若节点k的邻居信息表中的邻居节点个数大于5,节点k根据自身的成功广播率和归一化剩余能量,计算节点k对于邻居节点的虚拟引力大小Fk,剔除虚拟引力为0的邻居节点,然后将剩余的邻居节点均匀划分为5个扇区,除了上一跳节点所在的扇区外,在其余的4个扇区中选出每个扇区中具有最大虚拟引力的邻节点作为下一跳的转发节点,若选出的转发节点数不足4个,则用特殊地址(254.255.255.255)填满4个地址;
将源节点IP地址、广播分组序列号、广播分组目的IP地址、当前节点k的IP地址、当前节点k的虚拟引力大小、当前节点k的位置信息、选好的转发节点地址写入待转发的广播分组头部;节点k向所有邻居节点发送广播分组,然后节点k的已发送广播分组数Tk加1,更新归一化剩余能量Ek,并在广播分组收发记录表中记录该广播分组已广播,转入步骤(3-7);
(3-5)查看广播分组收发记录表中是否有该广播分组已广播的记录,
若广播分组收发记录表中没有该广播分组已广播的记录,直接丢弃该广播分组,转入步骤(3-7);
若广播分组收发记录表中有该广播分组已广播的记录,转入步骤(3-6);
(3-6)查看当前节点k的广播分组收发记录表中是否存在该广播分组已成功广播的记录,
若当前节点k的广播分组收发记录表中不存在该广播分组已成功广播的记录,说明节点k收到了自己发送出去的广播分组,将节点k已成功发送广播分组数Sk加1,并在广播分组收发记录表中添加该广播分组已成功广播记录,然后丢弃该广播分组,转入步骤(3-7);
若当前节点k的广播分组收发记录表中存在该广播分组已成功广播的记录,则丢弃该广播分组。
(3-7)当前节点k接收到一个广播分组后的处理结束。
作为优选,源节点i在发送广播分组前,利用如下步骤来确定转发节点:
(4-1)源节点i以自身为圆心、以直角坐标中的0°为基准,沿着顺时针方向,将节点i周围的区域均匀划分成四个90°的扇区,依次称为A、B、C、D扇区,各个扇区的角度范围分别为:
A∈(0°,90°];
B∈(90°,180°];
C∈(180°,270°];
D∈(270°,360°];
(4-2)根据发送节点邻居信息表中记录的每个邻居节点j的位置信息,分别计算出节点i对于每个邻居节点j的虚拟引力方向的角度值ωj(j=1,2,3,...,n);
(4-3)根据算出的ωj(j=1,2,3,...,n),判断每个邻节点j分别落于哪个扇区区间,并对每个邻节点分别落于哪个扇区区间进行标记;
(4-4)当标记完所有的邻居节点所属的扇区区间后,根据邻居信息表中记录的每一个邻居节点的虚拟引力值,依次比较分布于同一扇区的邻居节点的虚拟引力大小,选出每个扇区中具有最大虚拟引力的邻居节点,最多可以选出4个这样的节点作为当前节点的转发节点。
作为优选,转发节点k从上一跳邻居节点h接收到一个广播分组,当节点k需要转发接收到的广播分组时,利用如下步骤来确定转发节点:
(5-1)根据节点k和上一跳邻居节点h的位置信息求出节点k和上一跳邻居节点h的虚拟引力方向θ;
(5-2)以节点k和上一跳邻居节点h的虚拟引力方向θ为中心,以节点k为圆心,划分出一个72°的扇区,该扇区称为零号扇区,用S表示,接着以扇区S为基准,以节点k为圆心,沿着顺时针方向,将剩下的区域均匀划分成四个72°的扇区,依次称为A、B、C、D扇区,各个扇区的角度范围分别为:
S∈(θ-36°,θ+36°];
A∈(θ+36°,θ+108°];
B∈(θ+108°,θ+180°];
C∈(θ+180°,θ+252°];
D∈(θ+252°,θ+324°];
(5-3)根据发送节点邻居信息表中记录的每个邻居节点j的位置信息,分别计算出节点k对于每个邻居节点j的虚拟引力方向的角度值ωj(j=1,2,3,...,n);
(5-4)根据算出的ωj(j=1,2,3,...,n),判断每个邻节点j分别落于哪个扇区区间,并对每个邻节点分别落于哪个扇区区间进行标记;
(5-5)当标记完所有的邻居节点所属的扇区区间后,根据邻居信息表中记录的每一个邻居节点的虚拟引力值,依次比较分布于同一扇区的邻居节点的虚拟引力大小,选出A、B、C、D扇区中具有最大虚拟引力的邻居节点,最多可以选出4个这样的节点作为当前节点的转发节点。
作为优选,节点k的成功广播率和归一化剩余能量的计算方法如下:
节点k的成功广播率:
其中,Rk∈[0,1],Tk为节点k的已发送的广播分组数,Sk为节点k的已成功发送的广播分组数;
节点k的归一化剩余能量:
假定每个节点发送或接收一个广播分组所消耗的能量相同,假定每个广播分组的长度也相同,每发送一个广播分组或接收一个广播分组的持续时间相同;
节点k发送一个广播分组所消耗能量Es为:
Es=PsTp
节点k接收一个广播分组所消耗的能量Er为:
Er=PrTp
节点k已经消耗的总能量Ekc为:
Ekc=NsEs+NrEr
节点k的剩余能量Ekr为:
Ekr=Emax-Ekc
节点k的归一化剩余能量Ek为:
其中,Ek的取值范围是[0,1],Emax表示节点k的最大能量值,Ps为发射机的发射功率,Pr为接收机的接收功率,Tp为发送或接收一个广播分组所需时间,Ns为节点k发送的广播分组数,Nr为节点k接收的广播分组数。
作为优选,节点k对于邻居节点j的虚拟引力大小Fk的计算方法如下:
其中,Rk为节点k的成功广播率;Ek为节点k的归一化剩余能量;Eth为归一化剩余能量门限,Eth=0.1Emax,其中Emax,表示节点k的最大能量值;λ(0<λ<1)为权重系数,λ的值根据实际仿真情况进行调整。
作为优选,任一节点k对于其邻居节点j的虚拟引力方向利用如下步骤计算:
(8-1)查看节点k的邻居信息表中对应节点j的位置信息(xj,yj);
(8-3)通过tanα和Y=yj-yk获得唯一的α值:
当tanα为正值,Y为正值时,α∈(0°,90°];
当tanα为负值,Y为正值时,α∈(90°,180°];
当tanα为正值,Y为负值时,α∈(180°,270°];
当tanα为负值,Y为负值时,α∈(270°,360°]。
因此,本发明具有如下有益效果:
(1)本发明能够有效地抑制广播风暴;本发明根据每个节点的成功广播率和剩余能量计算虚拟引力,每个节点根据对邻居节点虚拟引力的方向划分扇区,在每个扇区中筛选出一个虚拟引力最大的节点,共筛选出最多4个邻居节点作为转发节点,邻居节点根据接收到的广播分组头部中的转发地址来判断自己是否需要转发;由于仅仅选择了最多4个邻居节点作为转发节点,因此可以大大降低转发节点数目,有效抑制了广播风暴。
(2)本发明能够有效降低广播时延;由于转发节点在不同的扇区,因此广播分组扩散更快,降低了时延;另外,由于转发节点数少,进一步降低了时延。
(3)本发明的网络生存时间较长;本发明采用了能量均衡的方法,将节点的剩余能量作为一个决定转发权的因子;若节点的剩余能量较低,将减小这个节点转发的概率,反之亦然;这样可以均衡能量损耗,延长整体网络生存时间;另外,转发节点数少,意味着一次广播消耗的能量少,进一步延长了网络生存时间。
(4)本发明能提高可靠性;由于转发节点落在不同的扇区,它们同时发送分组时产生的碰撞和信道竞争较少,这就比同类广播方法具有更高的可靠性。
附图说明
图1是本发明的一种广播流程图;
图2为本发明的源节点发送广播分组的一种流程图;
图3为本发明的任意节点接收与转发广播分组的一种流程图;
图4为本发明的删除邻居信息表中节点条目的一种流程图;
图5为本发明的源节点选择转发节点一种流程图;
图6为本发明的任意节点选择转发节点一种流程图。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步描述:
如图1所示的实施例是一种移动Ad Hoc网络中基于虚拟引力的合作广播方法,包括如下步骤:
步骤100,源节点发送广播分组:
以移动自组织网络中任一节点i作为产生广播分组的源节点,然后:
如图2所示,步骤101,在源节点i广播分组收发记录表中添加该广播分组已接收的记录,并判断源节点i的邻居信息表中是否存在邻居节点:
若否,则用4个相同的特殊地址(254.255.255.255)作为转发节点地址;
若是,则进一步判断源节点i的邻居信息表中邻居节点个数是否大于4:
若是,节点i根据自身的成功广播率和归一化剩余能量,计算节点i对于邻居节点的虚拟引力大小Fi;剔除虚拟引力为0的邻节点,从剩下的邻节点中选出最多4个节点作为转发节点;若选出的转发节点数不足4个,则用特殊地址(254.255.255.255)作为转发节点的地址填补到4个转发节点为止;
若否,节点i根据自身的成功广播率和归一化剩余能量,计算节点i对于邻居节点的虚拟引力大小Fi;剔除虚拟引力大小为0的邻居节点,剩余的邻节点全部作为转发节点,若不足4个,则用特殊地址(254.255.255.255)作为转发节点的地址填补到4个转发节点为止;
节点i的成功广播率的计算方法如下:
其中,Ri∈(0,1],Ti为节点i的已发送的广播分组数,Si为节点i的已成功发送的广播分组数;
节点i的归一化剩余能量的计算方法如下:
假定每个节点发送或接收一个广播分组所消耗的能量相同,假定每个广播分组的长度也相同,每发送一个广播分组或接收一个广播分组的持续时间相同;
节点i发送一个广播分组所消耗能量Eis为:
Eis=PisTip
节点i接收一个广播分组所消耗的能量Eir为:
Eir=PirTip
节点i已经消耗的总能量Eic为:
Eic=NisEis+NirEir
节点i的剩余能量Eir为:
Eir=Eimax-Eic
节点i的归一化剩余能量Ei为:
其中,Ei的取值范围是(0,1],Eimax表示节点i的最大能量值,Pis为发射机的发射功率,Pir为接收机的接收功率,Tip为发送或接收一个广播分组所需时间,Nis为节点i发送的广播分组数,Nir为节点i接收的广播分组数。
源节点i对于其邻居节点的虚拟引力大小Fi的计算方法如下:
其中,Ri为节点i的成功广播率;Ei为节点i的归一化剩余能量;Eith为归一化剩余能量门限,Eith=0.1Eimax,其中Eimax表示节点i的最大能量值;λ(0<λ<1)为权重系数,λ的值根据实际仿真情况进行调整;
步骤102,将源节点i的IP地址、广播分组序列号、广播IP地址、当前节点i的IP地址、当前节点i的虚拟引力大小和位置信息、选出的转发节点地址,写入广播分组头部,按概率1发送广播分组;
步骤103,更新源节点i的归一化剩余能量Ei,并将自身已发送广播分组数Ti加1,Ti初始值为零,并在当前节点广播分组收发记录表中记录该广播分组已广播;
如图3所示,步骤200,任一节点k接收到广播分组后采用以下方式处理:
若节点k从邻居节点h接收到一个广播分组后,依次判断是否第一次从节点h收到广播分组、是否有该广播分组已接收的记录、是否是有该广播分组已广播的记录、是否有该广播分组已成功广播的记录,然后做出对应处理:
步骤201,节点k从上一跳邻居节点h收到一个广播分组后,更新节点k的归一化剩余能量Ek;
步骤202,判断节点k是否是第一次从节点h接收广播分组,
若节点k是第一次从节点h接收广播分组,就在当前节点k的邻居信息表中创建对应节点h的条目,并将广播分组头中节点h的IP地址、虚拟引力大小和位置信息存入该条目,并在该条目对应的位置写入超时时间,转入步骤203;
若节点k不是第一次从节点h接收广播分组,更新邻居信息表中记录的节点h的虚拟引力大小、位置信息和超时时间,转入步骤203;
步骤203,根据节点广播分组收发记录表判断节点k是否有该广播分组已接收的记录,
若节点k有该广播分组已接收的记录,转入步骤205;
若节点k没有该广播分组已接收的记录,表示当前节点是第一次收到该广播分组,在广播分组收发记录表中添加该广播分组已接收的记录;然后判断收到的广播分组头部的4个转发节点地址是否全是特殊地址,
若收到的广播分组头部的4个转发节点地址不全是特殊地址,判断节点k是否在转发节点地址列表中,
若节点k不在转发节点地址列表中,直接丢弃该广播分组,转入步骤207;
若节点k在转发节点地址列表中,转入步骤204;
步骤204,节点k根据邻居信息表判断邻居节点个数是否等于1,
若邻居节点个数等于1,直接丢弃该广播分组,不需要转发,转入步骤207;
若邻居节点个数不等于1,判断节点k的邻居信息表中的邻居节点个数是否小于等于5,
若节点k的邻居信息表中的邻居节点个数小于等于5,节点k根据自身的成功广播率和归一化剩余能量,计算节点k对于邻居节点的虚拟引力大小Fk,剔除虚拟引力为0的邻居节点和上一跳邻居节点,将节点k的邻居信息表中剩余的邻居节点全部作为下一跳的转发节点,若剔除后转发节点数不足4个,则用特殊地址(254.255.255.255)填满4个地址;
若节点k的邻居信息表中的邻居节点个数大于5,节点k根据自身的成功广播率和归一化剩余能量,计算节点k对于邻居节点的虚拟引力大小Fk,剔除虚拟引力为0的邻居节点,然后将剩余的邻居节点均匀划分为5个扇区,除了上一跳节点所在的扇区外,在其余的4个扇区中选出每个扇区中具有最大虚拟引力的邻节点作为下一跳的转发节点,若选出的转发节点数不足4个,则用特殊地址(254.255.255.255)填满4个地址;
节点k的成功广播率的计算方法如下:
节点k的成功广播率:
其中,Rk∈[0,1],Tk为节点k的已发送的广播分组数,Sk为节点k的已成功发送的广播分组数;
节点k的归一化剩余能量的计算方法如下:
假定每个节点发送或接收一个广播分组所消耗的能量相同,假定每个广播分组的长度也相同,每发送一个广播分组或接收一个广播分组的持续时间相同;
节点k发送一个广播分组所消耗能量Es为:
Es=PsTp
节点k接收一个广播分组所消耗的能量Er为:
Er=PrTp
节点k已经消耗的总能量Ekc为:
Ekc=NsEs+NrEr
节点k的剩余能量Ekr为:
Ekr=Emax-Ekc
节点k的归一化剩余能量Ek为:
其中,Ek的取值范围是[0,1],Emax表示节点k的最大能量值,Ps为发射机的发射功率,Pr为接收机的接收功率,Tp为发送或接收一个广播分组所需时间,Ns为节点k发送的广播分组数,Nr为节点k接收的广播分组数。
节点k对于邻居节点j的虚拟引力大小Fk的计算方法如下:
其中,Rk为节点k的成功广播率;Ek为节点k的归一化剩余能量;Eth为归一化剩余能量门限,Eth=0.1Emax,其中Emax表示节点k的最大能量值;λ(0<λ<1)为权重系数,λ的值根据实际仿真情况进行调整;
将源节点IP地址、广播分组序列号、广播分组目的IP地址、当前节点k的IP地址、当前节点k的虚拟引力大小、当前节点k的位置信息、选好的转发节点地址写入待转发的广播分组头部;节点k向所有邻居节点发送广播分组,然后节点k的已发送广播分组数Tk加1,更新归一化剩余能量Ek,并在广播分组收发记录表中记录该广播分组已广播,转入步骤207;
步骤205,查看广播分组收发记录表中是否有该广播分组已广播的记录,
若广播分组收发记录表中没有该广播分组已广播的记录,直接丢弃该广播分组,转入步骤207;
若广播分组收发记录表中有该广播分组已广播的记录,转入步骤206;
步骤206,查看当前节点k的广播分组收发记录表中是否存在该广播分组已成功广播的记录,
若当前节点k的广播分组收发记录表中不存在该广播分组已成功广播的记录,说明节点k收到了自己发送出去的广播分组,将节点k已成功发送广播分组数Sk加1,并在广播分组收发记录表中添加该广播分组已成功广播记录,然后丢弃该广播分组,转入步骤207;
若当前节点k的广播分组收发记录表中存在该广播分组已成功广播的记录,则丢弃该广播分组;
步骤207,当前节点k接收到一个广播分组后的处理结束。
如图4所示,步骤300,任一节点k的邻居信息表中任意一个邻居节点j的条目均设置有超时时间Tkj,针对任意两个节点k和节点j相互通信过程中采用以下方式删除节点k的邻居信息表中对应节点j的条目:
若节点k的邻居信息表中对应邻居节点j的超时时间Tkj计时到,说明该时间内邻居信息表中节点j的信息没有被刷新,邻居节点j已经长期未向节点k发送广播分组,则认为节点j已经不是当前节点k的邻居节点,将节点k的邻居信息表中对应节点j的条目删除;
步骤400,网络中所有节点反复交替执行步骤100至300,直至所有节点不需要再转发该广播分组,或者网络中出现任意一个节点能量耗尽,即可终止执行。
其中,如图5所示,源节点i在发送广播分组前,利用如下步骤来确定转发节点:
①源节点i以自身为圆心、以直角坐标中的0°为基准,沿着顺时针方向,将节点i周围的区域均匀划分成四个90°的扇区,依次称为A、B、C、D扇区,各个扇区的角度范围分别为:
A∈(0°,90°];
B∈(90°,180°];
C∈(180°,270°];
D∈(270°,360°];
通过tanα和Y=yj-yk获得唯一的α值:
当tanα为正值,Y为正值时,α∈(0°,90°];
当tanα为负值,Y为正值时,α∈(90°,180°];
当tanα为正值,Y为负值时,α∈(180°,270°];
当tanα为负值,Y为负值时,α∈(270°,360°];
③根据算出的ωj(j=1,2,3,...,n),判断每个邻节点j分别落于哪个扇区区间,并对每个邻节点分别落于哪个扇区区间进行标记;
④当标记完所有的邻居节点所属的扇区区间后,根据邻居信息表中记录的每一个邻居节点的虚拟引力值,依次比较分布于同一扇区的邻居节点的虚拟引力大小,选出每个扇区中具有最大虚拟引力的邻居节点,最多可以选出4个这样的节点作为当前节点的转发节点。
如图6所示,转发节点k从上一跳邻居节点h接收到一个广播分组,当节点k需要转发接收到的广播分组时,利用如下步骤来确定转发节点:
①获得节点k的位置信息(xk,yk)和上一跳邻居节点h的位置信息(xh,yh);
③通过tanθ和Y=yh-yk获得唯一的θ值:
当tanθ为正值,Y为正值时,θ∈(0°,90°];
当tanθ为负值,Y为正值时,θ∈(90°,180°];
当tanθ为正值,Y为负值时,θ∈(180°,270°];
当tanθ为负值,Y为负值时,θ∈(270°,360°]。
④以节点k和上一跳邻居节点h的虚拟引力方向θ为中心,以节点k为圆心,划分出一个72°的扇区,该扇区称为零号扇区,用S表示,接着以扇区S为基准,以节点k为圆心,沿着顺时针方向,将剩下的区域均匀划分成四个72°的扇区,依次称为A、B、C、D扇区,各个扇区的角度范围分别为:
S∈(θ-36°,θ+36°];
A∈(θ+36°,θ+108°];
B∈(θ+108°,θ+180°];
C∈(θ+180°,θ+252°];
D∈(θ+252°,θ+324°];
通过tanα和Y=yj-yk获得唯一的α值:
当tanα为正值,Y为正值时,α∈(0°,90°];
当tanα为负值,Y为正值时,α∈(90°,180°];
当tanα为正值,Y为负值时,α∈(180°,270°];
当tanα为负值,Y为负值时,α∈(270°,360°];
⑥根据算出的ωj(j=1,2,3,...,n),判断每个邻节点j分别落于哪个扇区区间,并对每个邻节点分别落于哪个扇区区间进行标记;
⑦当标记完所有的邻居节点所属的扇区区间后,根据邻居信息表中记录的每一个邻居节点的虚拟引力值,依次比较分布于同一扇区的邻居节点的虚拟引力大小,选出A、B、C、D扇区中具有最大虚拟引力的邻居节点,最多可以选出4个这样的节点作为当前节点的转发节点。
如表1所示,为本发明中的邻居信息表实例格式,具体包括:
①IP address(node:k):当前节点k的IP地址;
②k的第n个邻居节点的信息,包括:
IP address(node:kn):节点k的第n个邻节点的IP地址;
Fkn:第n个邻节点对于当前节点k的虚拟引力大小;
(xkn,ykn):表示第n个邻节点的位置信息,其中xkn表示第n个邻节点的横坐标,ykn表示第n个邻节点的纵坐标;
Tkn:表示第n个邻节点的超时时间。
表1
每次记录和刷新后将超时时间Tkj设置为初始值。若超时时间Tkj计时到,节点k的邻居信息表中邻居节点j的条目未被更新,则认为该邻居节点已经不是当前节点k的邻居节点,将该邻居节点j的条目从当前节点k的邻居信息表中删除。在实际仿真程序中,通过设置定时中断来实现对邻居信息表中超时邻居的删除,即每隔Tw时间中断一次,在本仿真程序中,Tw值设置为30s,定时中断到来后,就删除超时计时到的邻居信息。
如表2所示,为本发明中的广播分组结构,具体包括:
①Sou_IPaddress:源节点的IP地址;
②Seq_number:广播分组序列号;
③Dest_IPaddress:广播目的IP地址;
④Crun_IPaddress:当前节点k的IP地址;
⑤Fk:表示节点k对于邻居节点的虚拟引力大小;
⑥(xk,yk):节点k的位置信息;
⑦Dest1、Dest2、Dest3和Dest4:分别用于存储转发节点的地址;
⑧Data:广播分组的数据区,用于存储广播分组数据。
表2
网络中每个节点都计算其对于邻居节点的虚拟引力大小,然后将算好的虚拟引力大小携带在广播分组头中。
如表3所示,为本发明中的广播分组收发记录表实例格式,具体包括:
①IP address(current node:k):当前节点k的IP地址;
②源节点m发出的广播分组序列号为x的分组情况,具体为:
IP address(source node:m):源节点m的IP地址;
Sequence number x(from source node m):源节点m发出序列号为x的广播分组;
Be received(Yes or No):该广播分组是否已接收,Yes表示已接收,No表示未接收;
Be broadcasted(Yes or No):该广播分组是否已广播,Yes表示已广播,No表示未广播;
Be successfully broadcasted(Yes or No):该广播分组是否已成功广播,Yes表示已成功广播,No表示未成功广播。
表3
③源节点n发出的广播分组序列号为y的分组情况,具体为:
IP address(source node:n):源节点n的IP地址;
Packet sequence number y(from source node m):从源节点n发出序列号为y的广播分组;
Be received(Yes or No):该广播分组是否已接收,Yes表示已接收,No表示未接收;
Be broadcasted(Yes or No):该广播分组是否已广播,Yes表示已广播,No表示未广播;
Be successfully broadcasted(Yes or No):该广播分组是否已成功广播,Yes表示已成功广播,No表示未成功广播。
根据本实施方式的流程就可以撰写出本发明协议方法的程序代码,代码编译成功之后就可以应用于网络的广播中。为了更好的体现本发明方法的性能提高,用网络仿真模拟软件对本发明方法进行仿真。
本发明方法主要从四个性能指标进行分析:(1)转发节点比例:在仿真过程中,参加转发广播分组的节点个数占网络中节点总数的比例。(2)网络生存时间:从网络仿真开始到第一个能源耗尽的节点出现为止的网络持续时间。(3)平均端到端延时:从源节点发出广播分组开始到该广播分组被全部目的节点收到所产生的延时的平均值。(4)到达率:所有目的节点实际接收的广播分组数目与网络中所有节点应该收到的广播分组数目的比值。
为了能更好地看出本发明协议方法的优势所在,将本发明的方法VFCB与BSRREN、BSRN和DP三种协议方法进行对比。其中,BSRREN协议根据邻居节点成功广播率和剩余能量计算一个广播系数,然后根据广播系数大小选出转发节点。BSRN协议法根据邻居节点成功广播率实时调节当前节点的转发概率。DP协议根据周围邻居节点密度的大小来实时调节节点广播概率的大小。
对于网络中节点移动、节点个数不同的情况进行了仿真。
(1)本发明中的VFCB方法的转发节点比例远小于BSRN协议、BSRREN和DP协议。
(2)本发明中的VFCB方法的网络生存时间明显大于BSRN和DP协议,略大于BSRREN协议。
(3)本发明中的VFCB方法的端到端时延平均值明显小于BSRREN,与BSRN和DP协议的端到端时延平均值比较接近。
(4)本发明中的VFCB方法的到达率大于BSRREN协议,小于BSRN和DP协议。
根据仿真结果分析,本发明方法在转发节点比例、端到端时延平均值和网络生存时间上均具有优势,能较好地抑制广播风暴、均衡节点能耗和延长网络生存时间,到达率在同类算法中也较高,能提供一定的可靠性,同时本发明能适应节点移动的场景。
应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
Claims (5)
1.一种移动Ad Hoc网络中基于虚拟引力的合作广播方法,其特征在于,包括如下步骤:
(1-1)源节点发送广播分组:
以移动自组织网络中任一节点i作为产生广播分组的源节点,然后:
A、在源节点i广播分组收发记录表中添加该广播分组已接收的记录,并判断源节点i的邻居信息表中是否存在邻居节点:
若否,则用4个相同的特殊地址(254.255.255.255)作为转发节点地址;
若是,则进一步判断源节点i的邻居信息表中邻居节点个数是否大于4:
若是,节点i根据自身的成功广播率和归一化剩余能量,计算节点i对于邻居节点的虚拟引力大小Fi;剔除虚拟引力为0的邻节点,从剩下的邻节点中选出最多4个节点作为转发节点;若选出的转发节点数不足4个,则用特殊地址(254.255.255.255)作为转发节点的地址填补到4个转发节点为止;
若否,节点i根据自身的成功广播率和归一化剩余能量,计算节点i对于邻居节点的虚拟引力大小Fi;剔除虚拟引力大小为0的邻居节点,剩余的邻节点全部作为转发节点,若不足4个,则用特殊地址(254.255.255.255)作为转发节点的地址填补到4个转发节点为止;
B、源节点i发送广播分组;
(1-2)任一节点k接收到广播分组后采用以下方式处理:
若节点k从邻居节点h接收到一个广播分组后,依次判断是否第一次从节点h收到广播分组、是否有该广播分组已接收的记录、是否是有该广播分组已广播的记录、是否有该广播分组已成功广播的记录,然后做出对应处理:
或者建立或更新邻居信息表中发送该广播分组的邻居节点h的对应条目;
或者按概率或根据广播分组头部中的转发节点地址转发该广播分组,在转发前根据邻居信息表中所有邻居节点的位置和虚拟引力的大小选出最多4个下一跳转发节点,将源节点地址、广播分组序列号、广播目的IP地址、当前节点地址、当前节点k的虚拟引力值、当前节点k的位置以及下一跳转发节点地址写入需要发送的广播分组头部;
或者将已成功发送广播分组数Sk加1后丢弃该广播分组;
或者丢弃该广播分组;
(1-3)任一节点k的邻居信息表中任意一个邻居节点j的条目均设置有超时时间Tkj,针对任意两个节点k和节点j相互通信过程中采用以下方式删除节点k的邻居信息表中对应节点j的条目:
若节点k的邻居信息表中对应邻居节点j的超时时间Tkj计时到,说明该时间内邻居信息表中节点j的信息没有被刷新,邻居节点j已经长期未向节点k发送广播分组,则认为节点j已经不是当前节点k的邻居节点,将节点k的邻居信息表中对应节点j的条目删除;
(1-4)网络中所有节点反复交替执行步骤(1-1)至(1-3),直至所有节点不需要再转发该广播分组,或者网络中出现任意一个节点能量耗尽,即可终止执行;
步骤(1-2)的具体步骤如下:
(3-1)节点k从上一跳邻居节点h收到一个广播分组后,更新节点k的归一化剩余能量Ek;
(3-2)判断节点k是否是第一次从节点h接收广播分组,
若节点k是第一次从节点h接收广播分组,就在当前节点k的邻居信息表中创建对应节点h的条目,并将广播分组头中节点h的IP地址、虚拟引力大小和位置信息存入该条目,并在该条目对应的位置写入超时时间,转入步骤(3-3);
若节点k不是第一次从节点h接收广播分组,更新邻居信息表中记录的节点h的虚拟引力大小、位置信息和超时时间,转入步骤(3-3);
(3-3)根据节点广播分组收发记录表判断节点k是否有该广播分组已接收的记录,
若节点k有该广播分组已接收的记录,转入步骤(3-5);
若节点k没有该广播分组已接收的记录,表示当前节点是第一次收到该广播分组,在广播分组收发记录表中添加该广播分组已接收的记录;然后判断收到的广播分组头部的4个转发节点地址是否全是特殊地址,
若收到的广播分组头部的4个转发节点地址不全是特殊地址,判断节点k是否在转发节点地址列表中,
若节点k不在转发节点地址列表中,直接丢弃该广播分组,转入步骤(3-7);
若节点k在转发节点地址列表中,转入步骤(3-4);
(3-4)节点k根据邻居信息表判断邻居节点个数是否等于1,
若邻居节点个数等于1,直接丢弃该广播分组,不需要转发,转入步骤(3-7);
若邻居节点个数不等于1,判断节点k的邻居信息表中的邻居节点个数是否小于等于5,
若节点k的邻居信息表中的邻居节点个数小于等于5,节点k根据自身的成功广播率和归一化剩余能量,计算节点k对于邻居节点的虚拟引力大小Fk,剔除虚拟引力为0的邻居节点和上一跳邻居节点,将节点k的邻居信息表中剩余的邻居节点全部作为下一跳的转发节点,若剔除后转发节点数不足4个,则用特殊地址(254.255.255.255)填满4个地址;
若节点k的邻居信息表中的邻居节点个数大于5,节点k根据自身的成功广播率和归一化剩余能量,计算节点k对于邻居节点的虚拟引力大小Fk,剔除虚拟引力为0的邻居节点,然后将剩余的邻居节点均匀划分为5个扇区,除了上一跳节点所在的扇区外,在其余的4个扇区中选出每个扇区中具有最大虚拟引力的邻节点作为下一跳的转发节点,若选出的转发节点数不足4个,则用特殊地址(254.255.255.255)填满4个地址;
将源节点IP地址、广播分组序列号、广播分组目的IP地址、当前节点k的IP地址、当前节点k的虚拟引力大小、当前节点k的位置信息、选好的转发节点地址写入待转发的广播分组头部;节点k向所有邻居节点发送广播分组,然后节点k的已发送广播分组数Tk加1,更新归一化剩余能量Ek,并在广播分组收发记录表中记录该广播分组已广播,转入步骤(3-7);
(3-5)查看广播分组收发记录表中是否有该广播分组已广播的记录,
若广播分组收发记录表中没有该广播分组已广播的记录,直接丢弃该广播分组,转入步骤(3-7);
若广播分组收发记录表中有该广播分组已广播的记录,转入步骤(3-6);
(3-6)查看当前节点k的广播分组收发记录表中是否存在该广播分组已成功广播的记录,
若当前节点k的广播分组收发记录表中不存在该广播分组已成功广播的记录,说明节点k收到了自己发送出去的广播分组,将节点k已成功发送广播分组数Sk加1,并在广播分组收发记录表中添加该广播分组已成功广播记录,然后丢弃该广播分组,转入步骤(3-7);
若当前节点k的广播分组收发记录表中存在该广播分组已成功广播的记录,则丢弃该广播分组;
(3-7)当前节点k接收到一个广播分组后的处理结束;
节点k的成功广播率和归一化剩余能量的计算方法如下:
节点k的成功广播率:
其中,Rk∈[0,1],Tk为节点k的已发送的广播分组数,Sk为节点k的已成功发送的广播分组数;
节点k的归一化剩余能量:
假定每个节点发送或接收一个广播分组所消耗的能量相同,假定每个广播分组的长度也相同,每发送一个广播分组或接收一个广播分组的持续时间相同;节点k发送一个广播分组所消耗能量Es为:
Es=PsTp
节点k接收一个广播分组所消耗的能量Er为:
Er=PrTp
节点k已经消耗的总能量Ekc为:
Ekc=NsEs+NrEr
节点k的剩余能量Ekr为:
Ekr=Emax-Ekc
节点k的归一化剩余能量Ek为:
其中,Ek的取值范围是[0,1],Emax表示节点k的最大能量值,Ps为发射机的发射功率,Pr为接收机的接收功率,Tp为发送或接收一个广播分组所需时间,Ns为节点k发送的广播分组数,Nr为节点k接收的广播分组数;
节点k对于邻居节点j的虚拟引力大小Fk的计算方法如下:
其中,Rk为节点k的成功广播率;Ek为节点k的归一化剩余能量;Eth为归一化剩余能量门限,Eth=0.1Emax,其中Emax表示节点k的最大能量值;λ(0<λ<1)为权重系数,λ的值根据实际仿真情况进行调整。
2.根据权利要求1所述的移动Ad Hoc网络中基于虚拟引力的合作广播方法,其特征在于,步骤(1-1)中源节点i发送广播分组的具体步骤如下:
(2-1)将源节点i的IP地址、广播分组序列号、广播IP地址、当前节点i的IP地址、当前节点i的虚拟引力大小和位置信息、选出的转发节点地址,写入广播分组头部,按概率1发送广播分组;
(2-2)更新源节点i的归一化剩余能量Ei,并将自身已发送广播分组数Ti加1,Ti初始值为零,并在当前节点广播分组收发记录表中记录该广播分组已广播。
3.根据权利要求2所述的移动Ad Hoc网络中基于虚拟引力的合作广播方法,其特征在于,源节点i在发送广播分组前,利用如下步骤来确定转发节点:
(4-1)源节点i以自身为圆心、以直角坐标中的0°为基准,沿着顺时针方向,将节点i周围的区域均匀划分成四个90°的扇区,依次称为A、B、C、D扇区,各个扇区的角度范围分别为:
A∈(0°,90°];
B∈(90°,180°];
C∈(180°,270°];
D∈(270°,360°];
(4-2)根据发送节点邻居信息表中记录的每个邻居节点j的位置信息,分别计算出节点i对于每个邻居节点j的虚拟引力方向的角度值ωj(j=1,2,3,...,n);
(4-3)根据算出的ωj(j=1,2,3,...,n),判断每个邻节点j分别落于哪个扇区区间,并对每个邻节点分别落于哪个扇区区间进行标记;
(4-4)当标记完所有的邻居节点所属的扇区区间后,根据邻居信息表中记录的每一个邻居节点的虚拟引力值,依次比较分布于同一扇区的邻居节点的虚拟引力大小,选出每个扇区中具有最大虚拟引力的邻居节点,最多可以选出4个这样的节点作为当前节点的转发节点。
4.根据权利要求1所述的移动Ad Hoc网络中基于虚拟引力的合作广播方法,其特征在于,转发节点k从上一跳邻居节点h接收到一个广播分组,当节点k需要转发接收到的广播分组时,利用如下步骤来确定转发节点:
(5-1)根据节点k和上一跳邻居节点h的位置信息求出节点k和上一跳邻居节点h的虚拟引力方向θ;
(5-2)以节点k和上一跳邻居节点h的虚拟引力方向θ为中心,以节点k为圆心,划分出一个72°的扇区,该扇区称为零号扇区,用S表示,接着以扇区S为基准,以节点k为圆心,沿着顺时针方向,将剩下的区域均匀划分成四个72°的扇区,依次称为A、B、C、D扇区,各个扇区的角度范围分别为:
S∈(θ-36°,θ+36°];
A∈(θ+36°,θ+108°];
B∈(θ+108°,θ+180°];
C∈(θ+180°,θ+252°];
D∈(θ+252°,θ+324°];
(5-3)根据发送节点邻居信息表中记录的每个邻居节点j的位置信息,分别计算出节点k对于每个邻居节点j的虚拟引力方向的角度值ωj(j=1,2,3,...,n);
(5-4)根据算出的ωj(j=1,2,3,...,n),判断每个邻节点j分别落于哪个扇区区间,并对每个邻节点分别落于哪个扇区区间进行标记;
(5-5)当标记完所有的邻居节点所属的扇区区间后,根据邻居信息表中记录的每一个邻居节点的虚拟引力值,依次比较分布于同一扇区的邻居节点的虚拟引力大小,选出A、B、C、D扇区中具有最大虚拟引力的邻居节点,最多可以选出4个这样的节点作为当前节点的转发节点。
5.根据权利要求4所述的移动Ad Hoc网络中基于虚拟引力的合作广播方法,其特征在于,任一节点k对于其邻居节点j的虚拟引力方向利用如下步骤计算:
(8-1)查看节点k的邻居信息表中对应节点j的位置信息(xj,yj);
(8-3)通过tanα和Y=yj-yk获得唯一的α值:
当tanα为正值,Y为正值时,α∈(0°,90°];
当tanα为负值,Y为正值时,α∈(90°,180°];
当tanα为正值,Y为负值时,α∈(180°,270°];
当tanα为负值,Y为负值时,α∈(270°,360°]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810374692.4A CN108737972B (zh) | 2018-04-24 | 2018-04-24 | 移动Ad Hoc网络中基于虚拟引力的合作广播方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810374692.4A CN108737972B (zh) | 2018-04-24 | 2018-04-24 | 移动Ad Hoc网络中基于虚拟引力的合作广播方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737972A CN108737972A (zh) | 2018-11-02 |
CN108737972B true CN108737972B (zh) | 2021-02-26 |
Family
ID=63939811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810374692.4A Active CN108737972B (zh) | 2018-04-24 | 2018-04-24 | 移动Ad Hoc网络中基于虚拟引力的合作广播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737972B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474974B (zh) * | 2018-12-19 | 2020-10-13 | 浙江工商大学 | 基于平均速度的高速公路车载自组织网络广播方法 |
CN110234154B (zh) * | 2019-06-17 | 2021-11-30 | 广东工业大学 | 一种支持自组网的户外团队通讯系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104009913B (zh) * | 2014-04-10 | 2017-01-25 | 浙江工商大学 | 移动AdHoc网络中基于距离和能量均衡的广播方法 |
CN105872986B (zh) * | 2016-04-22 | 2019-02-15 | 浙江工商大学 | 移动Ad Hoc网络中基于节点成功广播率和能量均衡的广播方法 |
CN107371188B (zh) * | 2017-07-26 | 2020-06-02 | 浙江工业大学 | 一种可控簇规模的能耗均衡路由方法 |
-
2018
- 2018-04-24 CN CN201810374692.4A patent/CN108737972B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108737972A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Biswas et al. | Opportunistic routing in multi-hop wireless networks | |
CN107182103B (zh) | 移动自组织网络中基于邻居广播系数的合作广播方法 | |
JP4834102B2 (ja) | 無線ネットワークにおけるルーティングに対するリンクコスト判定方法及び装置 | |
EP1898574B1 (en) | Method and system for loop-free ad-hoc routing | |
CN110167099B (zh) | 一种适用于窄带条件的自组网路由方法及系统 | |
KR100664953B1 (ko) | 모바일 애드 혹 네트워크 환경에서의 멀티캐스트 라우팅방법 | |
EP1253736A2 (en) | Data link transmission control for mobile communications | |
KR100586233B1 (ko) | 이동 애드혹 네트워크에서 최적 방향-기반 플러딩 방법 | |
CN105704678A (zh) | 移动自组织网络中基于邻居成功广播率的广播方法 | |
WO2020156340A1 (zh) | 一种传输数据的方法及装置 | |
CN108737972B (zh) | 移动Ad Hoc网络中基于虚拟引力的合作广播方法 | |
CN104009913A (zh) | 移动Ad Hoc网络中基于距离和能量均衡的广播方法 | |
CN103312469A (zh) | 组播重传中的确认代表选择方法及装置 | |
JP4842207B2 (ja) | 無線ネットワークにおけるブロードキャスト方法およびその方法を使用した通信装置 | |
JP5673840B2 (ja) | ノード装置および通信方法 | |
CN105872986B (zh) | 移动Ad Hoc网络中基于节点成功广播率和能量均衡的广播方法 | |
CN111641990A (zh) | 高数据包投递率与能量有效性的水声传感器网络传输方法 | |
CN116996963A (zh) | 一种适用于移动自组织网络广播包的高效路由算法、路由节点及通信网络 | |
CN109525965B (zh) | 基于实时成功广播率和距离的高速公路车载网络广播方法 | |
CN108156087B (zh) | 一种分簇、流量分配、编码协商和数据转发方法及装置 | |
Abbas et al. | A comprehensive analysis of the end-to-end delay for wireless multimedia sensor networks | |
Kim et al. | A priority forwarding technique for efficient and fast flooding in wireless ad hoc networks | |
Lyakhov et al. | Analysis of the joint use of the proactive and reactive methods of the topology information dissemination in ad-hoc wireless networks | |
Miao et al. | A competing algorithm for gradient based routing protocol in wireless sensor networks | |
Husain et al. | Performance evaluation of a receiver-based routing protocol in vehicular ad-hoc networks |
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 |