专利名称:一种抑制网络广播风暴的方法和装置的制作方法
技术领域:
本发明涉及一种网络广播方法和装置。更具体地,本发明涉及一种能抑制网络广播风暴的方法和装置。
背景技术:
当前传感器网络规模较大,节点密度大,数据包大,数据交换频繁但节点能量极为有限。而无线传感器网络路由协议种类很多,因为针对于不同的应用场景和性能要求,设计的路由协议就有很大的不同。但现有的无线传感器网络路由协议依然多以广播为基础,比如Ad hoc路由协议或传统洪泛协议,然后结合无线传感器网络的特性而设计。而无线传感器网络路由协议所要考虑的主要性能指标有时延、可靠性、网络寿命和移动性等。其中,在一些特定的应用中,尤其是高密度无线传感器网络中,可靠性和网络寿命(即网络生命周期)往往是首要指标。在现有技术中,传统的广播协议中节点只要接收到数据包,就将数据包转发给下一跳邻居节点。但是在高密度无线传感器网络中,传统广播协议会因多次转发相同数据包使数据包充斥网络无法处理,并占用大量网络带宽,导致业务不能运行,甚至彻底瘫痪,这就发生了 “广播风暴”。广播风暴会造成大量的能量浪费,路由开销很大,会致使网络生命周期缩短,可靠性降低。
发明内容
本发明目的在于提供一种抑制网络广播风暴的方法和装置,来减小高密度无线传感器网络中节点对相同数据包的转发次数,从而解决因广播风暴所导致的网络生命周期缩短、能量浪费的技术问题。本发明的一种抑制网络广播风暴的方法包括以下步骤Si、节点接收数据包,将该数据包的接收次数初始化为1,随机时延开始;S2、判断节点是否又一次接收到该数据包,如果是则执行S3,如果否则执行S5 ;S3、将接收次数增1 ;S4、比较所述接收次数是否小于阈值,如果是则执行S5,如果否则节点将数据包丢弃;S5、判断随机时延是否结束,如果是则节点将数据包广播,否则返回S2。进一步地,所述阈值为3。将阈值设置为3,在随机时延内节点的接收次数一旦达到3次,就丢弃数据包,这样可以缩短节点丢弃数据包之前的等待时间。进一步地,所述节点将数据包广播的次数为1次。限定节点广播数据包的次数为1次可以最大程度的减少每个节点重复性广播相同数据包的数目。
相应地,本发明的一种抑制网络广播风暴的装置包括初始化模块1,在节点接收数据包时,该初始化模块1用于将该数据包的接收次数初始化为1,并开始随机时延计时;判断接收模块2,用于判断节点是否又一次接收到数据包,如果是则触发计数模块 3,如果否则触发判断时延模块5 ;计数模块3,用于将接收次数增1并触发比较模块4 ;比较模块4,用于比较所述接收次数是否小于阈值,如果是则触发判断时延模块 5,如果否则向广播模块6发送丢弃信号;判断时延模块5,用于判断随机时延是否结束,如果是则向广播模块6发送广播信号,否则启动所述判断接收模块2 ;广播模块6,用于接收广播信号并将数据包广播,以及用于接收丢弃信号并将数据包丢弃。进一步地,所述阈值为3。进一步地,所述广播模块6将数据包广播的次数为1次。通过本发明的方法和装置,可以大规模地减少对数据包重复转发的次数,进而抑制广播风暴的产生,既节省了节点的能量也延长了网络寿命,有效地提高了网络安全性和可靠性。并且,本发明对网络规模甚至网络类型没有严格的限定,可以适用于任何涉及广播的场合。
下面将参照附图并结合实施例对本发明进行具体说明。图1为本发明的方法流程图;图2为本发明装置结构示意图。
具体实施例方式下面参照附图并借助本发明的实施例,对本发明的技术方案做详细描述。需要指出的是,这些附图仅仅是示意性的,不构成对本发明的保护范围的限定。根据图1所示,本发明的抑制网络广播风暴的方法包括以下步骤Si、节点例如节点A接收数据包,设定该数据包接受的次数为n,将接收次数η初始化为1,即令η = 1,并且随机时延开始。其中,随机时延主要依据网络节点密度以及用户具体业务需求确定,属于本领域技术人员的公知技术。这里为了方便描述,设定随机时延为 t,以下S2到S4都是在随机时延t内执行。S2、判断节点A是否又一次接收到该数据包,如果是则执行S3,如果否则执行S5。 判断又一次接收到该数据包就是判断当次数据包与Si中第一次接收到的数据包是否为重复的数据包,是依靠数据包格式中存储的源节点ID和/或数据包序列号来判断的,属于公知技术,即当次数据包与Sl第一次接收的数据包的源节点ID相同,和/或当次数据包与Sl 第一次接收的数据包的数据包序列号相同时,判断两者为相同的数据包,节点为又一次接收到数据包的情况。如果节点A没有再接收到重复的数据包即η依然等于1,则执行S5。S3、将接收次数η增1,即令η = η+1。
S4、比较所述接收次数和阈值,例如设阈值为N,如果接收次数η小于阈值N(n <N)时,执行S5,否则节点将数据包丢弃。其中的阈值N限定了接收次数η的最大值,它可以根据网络情况预先设定。在本实施例中,优选阈值N优选为3,即数据包的接受次数η最大可以到3次。如果接受次数η < 3,就执行S5,一旦η = 3时,节点A就将接收到的数据包丢弃,从而取消了在本网络中让数据包经节点A广播的任务。这是因为节点A在处理接收并转发数据包任务的同时,网络中的其他节点也正在处理这一任务,如果节点A在随机时延t 内对数据包的接收次数η已经达到阈值N时,完全可以说明节点A所在的路径为广播风暴的高发路径,如果继续任由数据包从节点A广播转发的话,在高密度无线传感器网络中会造成网络负荷过重并具有引发广播风暴的危险,而且,即使取消了节点A的广播任务,也并不影响网络中其他节点继续处理并完成这一任务,反而减少了网络中转发重复数据包的次数。S5、判断随机时延t是否结束,如果t时间仍未结束,则返回S2,判断是否又一次接收到数据包;如果t时间结束,则说明在随即时延t内节点A对重复的数据包的接收并不频繁,那么节点A就将数据包转发给其下一跳的所有邻居节点,从而完成数据包在节点A的广播任务。并且,进一步限定即使节点对数据包进行广播,也只将数据包广播一次,这样就使网络中的节点转发重复数据包次数减少到最小,从而进一步克服了现有技术中“节点只要接收到数据包就将数据包转发”所带来的路由开销较大的技术问题。相应地,本发明的抑制网络广播风暴的装置包括初始化模块1,在节点接收数据包时,该初始化模块1用于将该数据包的接收次数 η初始化为1即令η = 1,并开始对随机时延t计时。判断接收模块2,用于判断节点是否又一次接收到数据包,如果是则触发计数模块 3,如果否则触发判断时延模块5 ;计数模块3,用于将接收次数增1即令η = η+1 ;比较模块4,用于比较所述接收次数η和阈值N,如果接收次数小于阈值(η < N) 时,触发判断时延模块5,否则向广播模块6发送丢弃信号。其中的阈值优选为3。判断时延模块5,用于判断随机时延t是否结束,如果是则向广播模块6发送广播信号,否则启动所述判断接收模块2,重新对节点是否又一次接收到数据包进行判断并根据该判断对相应的模块进行触发。广播模块6,用于接收广播信号并将数据包广播,以及用于接收丢弃信号并将数据包丢弃。进一步地,广播模块6将数据包广播的次数限定为1次。另外,本发明的技术方案不仅限于无线传感器网络,对于任何涉及广播协议的网络或场合都可以适用。应当理解,以上借助本发明的优选实施例本发明的技术方案进行了详细说明,应当理解,以上说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。本发明的保护范围仅由随附权利要求书限定。
权利要求
1.一种抑制网络广播风暴的方法,其特征在于,包括以下步骤51、节点接收数据包,将该数据包的接收次数初始化为1,随机时延开始;52、判断节点是否又一次接收到该数据包,如果是则执行S3,如果否则执行S5;53、将接收次数增1;54、比较所述接收次数是否小于阈值,如果是则执行S5,如果否则节点将数据包丢弃;55、判断随机时延是否结束,如果是则节点将数据包广播,否则返回S2。
2.根据权利要求1所述一种抑制网络广播风暴的方法,其特征在于, 所述阈值为3。
3.根据权利要求1所述的一种抑制网络广播风暴的方法,其特征在于, 所述节点将数据包广播的次数为1次。
4.一种抑制网络广播风暴的装置,其特征在于,包括初始化模块(1),在节点接收数据包时,该初始化模块(1)用于将该数据包的接收次数初始化为1,并开始随机时延计时;判断接收模块O),用于判断节点是否又一次接收到数据包,如果是则触发计数模块 (3),如果否则触发判断时延模块(5);计数模块(3),用于将接收次数增1并触发比较模块;比较模块G),用于比较所述接收次数是否小于阈值,如果是则触发判断时延模块 (5),如果否则向广播模块(6)发送丢弃信号;判断时延模块(5),用于判断随机时延是否结束,如果是则向广播模块(6)发送广播信号,否则启动所述判断接收模块O);广播模块(6),用于接收广播信号并将数据包广播,以及用于接收丢弃信号并将数据包丢弃。
5.根据权利要求4所述一种抑制网络广播风暴的方法,其特征在于, 所述阈值为3。
6.根据权利要求4所述的一种抑制网络广播风暴的方法,其特征在于, 所述广播模块6将数据包广播的次数为1次。
全文摘要
本发明涉及一种抑制网络广播风暴的方法和装置,该方法包括S1、节点接收数据包,将该数据包的接收次数初始化为1,随机时延开始;S2、判断节点是否又一次接收到该数据包,如果是则执行S3,如果否则执行S5;S3、将接收次数增1;S4、比较接收次数是否小于阈值,如果是则执行S5,如果否则节点将数据包丢弃;S5、判断随机时延是否结束,如果是则节点将数据包广播,否则返回S2。该装置包括初始化模块、判断接收模块、计数模块、比较模块、判断时延模块和广播模块。通过本发明的方法可以大规模地减少对数据包重复转发的次数进而抑制广播风暴的产生,既节省节点能量也能延长网络寿命。
文档编号H04W28/02GK102196365SQ20111010425
公开日2011年9月21日 申请日期2011年4月25日 优先权日2011年4月25日
发明者庞源泉, 李旭, 王韵淇, 田沃 申请人:北京交通大学