CN107040464A - 机会网络中基于节点相遇和转发信息的黑洞节点检测方法 - Google Patents
机会网络中基于节点相遇和转发信息的黑洞节点检测方法 Download PDFInfo
- Publication number
- CN107040464A CN107040464A CN201710166784.9A CN201710166784A CN107040464A CN 107040464 A CN107040464 A CN 107040464A CN 201710166784 A CN201710166784 A CN 201710166784A CN 107040464 A CN107040464 A CN 107040464A
- Authority
- CN
- China
- Prior art keywords
- node
- black hole
- met
- receiving
- test method
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/18—Communication route or path selection, e.g. power-based or shortest path routing based on predicted events
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种机会网络中基于节点相遇和转发信息的黑洞节点检测方法,包括如下步骤:获取发送节点与目的节点的相遇概率P1以及接收节点与目的节点的相遇概率P2;比较P1与P2的大小,如果P2>P1,则继续下一步;否则,停止判断且不转发消息;计算接收节点与目的节点的活跃度,如果活跃度小于预设阈值,则判定接收节点为黑洞节点,否则,接收节点为正常节点。采用本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,具有检测精度高的特点,同时提高了网络的资源利用率,以及为信息的转发和传输提供了有效的安全保障。
Description
技术领域
本发明属于机会网络通信的技术领域,具体涉及一种机会网络中基于节点相遇和转发信息的黑洞节点检测方法。
背景技术
与传统的无线蜂窝网络通信不同,机会网络是一种时延容忍网络中,它的特点是源节点与目的节点通信时预先不存在一条完整的通信链路。因此,在一个区域范围内的节点可以随时随地的组网,每一个节点都可以充当消息的发送者,通过“存储—携带—转发”的方式将消息通过不同的中继节点最终传递到目的节点。
一般来说,机会网络中节点分布稀疏、移动频繁,导致节点之间的连接常常处于断开状态,消息的传输也有一定的延迟性。另外,由于节点的体积较小,也使得其缓存空间和电池电量变得十分有限。因此,如何选择下一跳中继节点,使消息通过最短的路径,消耗节点最少的能量到达目的节点变得尤为重要。
现有的机会网络中存在着各种各样的消息转发或是中继节点选择机制,例如比较常见和常用的Epidemic算法、Prophet算法和MaxProp算法等。虽然这些转发策略和机制都能有效的选择出更适合的中继节点,将消息成功转发,但此类机制都有一个前提,即假设机会网络中所有的节点都是可信的,不存在任何恶意行为。而在实际网络运行环境下,网络状况是突发的、多变的,节点并非完全可信,会有恶意节点的存在。网络中的恶意节点可以通过发布虚假的相遇状态信息伪装成为投递能力更强的中继节点,来吸引其它节点向其转发大量消息,此类恶意攻击行为通常被称为黑洞攻击,而能产生黑洞攻击的节点即是黑洞节点。黑洞节点在获得消息后直接将消息丢弃,这不仅降低了网络的资源利用率,也严重影响了消息转发过程的安全性。
因此,为了避免转发节点被黑洞节点所蒙蔽,提高消息转发的可靠性,提出了一种结合prophet转发机制,并利用节点相遇记录信息和消息转发记录信息来检测节点是否有黑洞攻击行为的检测算法。
发明内容
为了解决上述问题,本发明的目的在于提供一种机会网络中基于节点相遇和转发信息的 黑洞节点检测方法,具有检测精度高的特点,同时提高了网络的资源利用率,以及为信息的转发和传输提供了有效的安全保障。
为实现上述目的,本发明按以下技术方案予以实现的:
本发明所述机会网络中基于节点相遇和转发信息的黑洞节点检测方法,包括如下步骤:
获取发送节点与目的节点的相遇概率P1以及接收节点与目的节点的相遇概率P2;
比较P1与P2的大小,如果P2>P1,则继续下一步;否则,停止判断且不转发消息;
计算接收节点与目的节点的活跃度,如果活跃度小于预设阈值,则判定接收节点为黑洞节点,否则,接收节点为正常节点。
进一步地,在判定活跃度不小于预设阈值之后,还包括如下比对步骤:
从发送节点所处覆盖范围的管理节点MGM获取目的节点的接收记录表RRL,将所述接收记录表RRL与接收节点的发送记录表FRL进行比对,是否一致;如果不一致,则判定接收节点为黑洞节点,否则,接收节点为正常节点。
进一步地,如果发送节点所处覆盖范围的管理节点MGM中不包含目的节点的接收记录表RRL,则不对接收节点做进一步判断,并且发送节点不向接收节点B转发消息,而交给下一个相遇节点进行处理。
进一步地,将接收记录表RRL与发送记录表FRL比对的具体项目是:消息是否转发的状态Starus值。
进一步地,当两节点A、B相遇并建立连接时,所述相遇概率的计算公式为:
P(A,B)=P(A,B)old+(1-P(A,B)old)×Pinit;
其中,P(A,B)old表示此前两节点的相遇概率值,Pinit∈[0,1]是个初始化常量,所有的P(A,B)都初始化为Pinit。
进一步地,在两节点A、B相遇并且连接的情况之外,所述相遇概率的计算公式为:
P(A,B)=P(A,B)old×γk;
其中,γ∈[0,1]表示衰减因子,k表示节点A和B从上次相遇到现在为止所经过的时间间隔。
进一步地,在节点A和C经常接触,并且节点C和B也经常接触的情况下,节点A与节点B的相遇概率具体公式如下:
P(A,B)=P(A,B)old+(1-P(A,B)old)×P(A,C)×P(C,B)×β;
P(A,B)old表示此前两节点的相遇概率值;β表示传递性影响因子。
进一步地,所述活跃度的计算公式如下:
其中,nc表示节点B与节点C的相遇次数,N则表示在这段时间范围内与节点B相遇的所有节点的个数。
与现有技术相比,本发明的有益效果是:
本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,通过引入相遇概率以及活跃度的双重标准,作为判断机会网络中,接收节点是否为黑洞节点,可以很大程度中,提高了其检测的精度。
首先,通过计算发送节点与接收节点的相遇概率,以及发送节点与目的节点的相遇概率,然后将前者相遇概率与后者相遇概率进行比较,如果前者小于后者,则表示接收节点为黑洞节点。如果前者大于后者,为了避免黑洞节点提供的虚假相遇概率,因此,还需要通过活跃度进一步判定,即通过结算接收节点与目的节点的活跃度,如果该活跃度小于预设活跃度的阈值,则判断该接收节点为黑洞节点。
以上方法,不仅从现有黑洞节点在信息转发过程中,会出现的隐蔽篡改行为作出的针对性解决方案,不仅提升了检测黑顶节点的准确度,同时,也提高了网络的资源利用率,以及为信息的转发和传输提供了有效的安全保障。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明,其中:
图1是本发明实施例1所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法的流程图;
图2是本发明实施例2所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法的流程图;
图3是本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法与其他两种现有路由算法在不同黑洞节点比例下受到的黑洞节点的攻击情况的示意图;
图4是本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法与其他两种现有检测机制的网络开销示意图;
图5(a)和5(b)是本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法与现有ER-prophet算法在不同黑洞节点比例下检测黑洞节点的效率示意图;
图6(a)和(b)是本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法与现有ER-prophet算法检测黑洞节点的成功率的示意图;
图7(a)是本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法在不同MGM节点数时对应的检测时间消耗率的示意图;
图7(b)是本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法在不同MGM节点数时对应的检测成功率的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,在展开其检测方法,是针对机会网络中的黑洞节点进行有效的检测,因此,首先需要了解清楚本申请针对的黑洞节点具体行为,是一种比较常见的恶意节点,它最直接的特点就是伪造信息和丢弃接收到的消息。但不同的研究对黑洞节点的具体定义有所不同,所以研究的侧重点也不一样。与其它研究不同,本文定义了一种较为复杂的黑洞节点,即考虑了黑洞节点可能产生的所有黑洞行为,而不仅仅是某一方面的恶意行为。主要有一下三方面:
(1)欺骗行为。在prophet路由算法中,当黑洞节点与其它节点相遇时,会谎称自己与消息目的节点的相遇概率很大,以此来骗取其它节点向其转发消息。
(2)伪造信息行为。我们考虑的黑洞节点是比较复杂的,它有伪造信息的行为,可以在一定程度上保护自己不被一些检测算法发现。因为黑洞节点与其它节点相遇并不会转发任何消息给其它节点,但它可以伪造自己转发消息的记录,进一步欺骗其它节点。
(3)丢弃消息行为。黑洞节点在收到消息后都会将其丢弃,并不会进行转发,这是它最明显的一个特征。
实施例1:
如图1所示,本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,具体步骤如下:
S01:获取节点间的相遇概率;
获取发送节点A与目的节点C的相遇概率P(A,C),以及接收节点B与目的节点C的相遇概率P(B,C)。
其中,P(A,C)=P(A,C)old+(1-P(A,C)old)×Pinit
P(A,C)old表示此前两节点的相遇概率值,Pinit∈[0,1]是个初始化常量,所有的P(A,C)都初始化为Pinit;
P(B,C)=P(B,C)old+(1-P(B,C)old)×Pinit;
其中,P(B,C)old表示此前两节点的相遇概率值,Pinit∈[0,1]是个初始化常量,所有的P(B,C)都初始化为Pinit。
S02:比较相遇概率的大小;
将步骤S01获取的P(A,C)与P(B,C)进行比较,如果P(A,C)<P(B,C),表示接收节点B与目的节点相遇的概率大,但是在一定程度上,如果接收节点B为黑洞节点,其会提供一个虚假的P(B,C),并且该值会比一般值都大,从而骗取发送节点A向其转发消息。因此,需要进入下一步继续判断。对于P(A,C)≥P(B,C),则没有必要向节点B转发消息。
其中,对于基于概率的具体计算,分为以下三种情况:
情况一:当两节点相遇并建立连接时,所述相遇概率的计算公式为:
P(A,C)=P(A,C)old+(1-P(A,C)old)×Pinit;
其中,P(A,C)old表示此前两节点的相遇概率值,Pinit∈[0,1]是个初始化常量,所有的P(A,C)都初始化为Pinit;
P(B,C)=P(B,C)old+(1-P(B,C)old)×Pinit;
其中,P(B,C)old表示此前两节点的相遇概率值,Pinit∈[0,1]是个初始化常量,所有的P(B,C)都初始化为Pinit。
情况二:在两节点相遇并且连接的情况之外,所述相遇概率的计算公式为:
P(A,C)=P(A,C)old×γk;
其中,γ∈[0,1]表示衰减因子,k表示节点A和C从上次相遇到现在为止所经过的时间间隔;
P(B,C)=P(B,C)old×γk;
其中,γ∈[0,1]表示衰减因子,k表示节点B和C从上次相遇到现在为止所经过的时间间隔。
情况三:在节点A和C经常接触,并且节点C和B也经常接触的情况下,节点A与节点B的相遇概率具体公式如下:
P(A,B)=P(A,B)old+(1-P(A,B)old)×P(A,C)×P(C,B)×β;
P(A,B)old表示此前两节点的相遇概率值;β表示传递性影响因子。
S03:计算节点间的活跃度;
为了避免步骤S02中黑洞节点提供的虚假P(B,C),造成的误判,则需要进一步通过活跃度进行判断。
活跃度ADbc是个在0到1之间取值的常数。当ADbc的值为0时,说明节点B与节点C在特定的时间范围内没有相遇过。当ADbc的值趋近于1时,说明两个节点在该短时间内相遇非常的频繁。
其中,用一个指数分布函数来表达ADbc,具体为:
nc表示节点B与节点C的相遇次数,N则表示在这段时间范围内与节点B相遇的所有节点的个数。
S04:比较活跃度;
通过判断接收节点B与目的节点C的活跃度ADbc,如果ADbc小于预设阈值,则判定接收节点B为黑洞节点,否则,则为正常节点,从而通过接收节点B转发消息。
该步骤就可以很好避免的情况是:如果节点B提供的P(B,C)非常大,但ADbc却小于我们设定的一个阈值,则可以说明节点B只是谎称自己有很高的相遇概率,而实际上却很少有甚至没有与该节点相遇的记录,因此可以判断节点B是一个黑洞节点。
实施例2:
但是在实际过程中,如果接收节点B伪造了与目的节点C的相遇记录,那么就无法根据P(B,C)和ADbc对节点B进行有效的判断,这也就是我们考虑的复杂黑洞节点的情况。
出现这种情况时,节点A需要向MGM节点请求帮助。由于MGM节点也是随着时间在不停的移动的,因此节点A可以向其所处覆盖范围的MGM节点发出获取消息目的节点C的RRL请求。节点A从MGM节点获得了RRL,并且将其与节点B的FRL进行对比。在RRL与FRL相对应的一条记录中,如果RRL中Status的值与FRL中Status中的值无法对应,说明节点B擅自改动了FRL的记录,则可以判定它是黑洞节点。
因此,本实施例与实施例1的不同点在于,需要对于以上问题进行进一步解决。
具体地,如图2所示,在步骤S04之后,还需要进行以下步骤:
S05:对比接收记录表和发送记录表中的信息是否转发的状态值。
从发送节点A所处覆盖范围的管理节点MGM获取目的节点C的接收记录表RRL,将所述接收记录表RRL与接收节点B的发送记录表FRL进行比对,是否一致;如果不一致,则判定接收节点B为黑洞节点,否则通过接收节点B转发消息。
在网络中,所有的正常节点和黑洞节点都维持着FRL和RRL两个表。FRL用来记录该节点转发过消息给哪些其它节点,而RRL则用来记录该节点接收过哪些其它节点转发来的消息。具体地,发送记录表(FRL):当节点作为发送方与其它节点相遇并且发送消息成功后,该发送节点会自己产生一条相遇发送记录存在自己的FRL中。
FRL记录了四项信息,Node Address表示当前节点的唯一可识别地址,用以区分不同节点;To Node代表着接收消息的下一跳节点;Timestamp表示当前节点与接收节点相遇的时间点;Status则表示消息是否转发的状态。Status的默认值为0,若当前节点已经将消息转发,并且收到接收节点反馈回来的确认消息后才将0变为1,如果未收到接收节点反馈回来的确认接收的消息或者收到的是未成功接收消息,则Status值依然为0。当前节点如果是黑洞节点时,会将Status的值篡改为1来伪装自己已将消息转发,从而骗取其它节点的信任,然而实际情况并非如此。具体如下表一所示:
表一发送记录表
接收记录表(RRL):当节点作为接收方与其它节点相遇并且消息接收成功后,该接收节点会自己产生一条相遇接收记录存在自己的RRL中。RRL中的Node Address和Timestamp与FRL类似,都表示当前节点的唯一可识别地址和与其它节点相遇的时间点。From Node则表示该消息的上一跳节点,即该消息是由哪个节点转发来的。Status则表示消息是否成功接收的状态。若消息成功接收后,Status为1,并且向转发节点发送确认接收的消息。若消息接收失败或没接收到消息则为0,同时也向转发节点发送未成功接收的消息。具体如下表二所示:
表二发送记录表
每个消息都有对应的一个目的节点,并且每个目的节点都会隔一段时间就向离它距离最近的基站节点发送自己的RRL表,保存在基站节点中。当两节点相遇时转发节点会根据要转发消息的目的节点向邻近的基站节点获取该目的节点的RRL,然后将该RRL与接收节点提供的FRL进行对比,判断接收节点提供的相遇记录和相遇概率是否可靠。若对比之后的结果不一致,则说明接收节点存在欺骗行为,并认定为黑洞节点。
管理节点(MGM节点):与一般节点不同,MGM节点有三个特性:
(1)它的通信范围比一般节点大很多。
(2)MGM节点是完全可靠的,但它不协助其它节点转发消息,它的作用是收集消息的目的节点发来的RRL,并在其它节点需要的时候提供目的节点的RRL。
(3)能够管理节点,可以移除黑洞节点。
因此,步骤S05中将接收记录表RRL与发送记录表FRL比对的具体项目是:消息是否转发的状态Starus值,具体地,发送节点A从MGM节点获得了RRL,并且将其与接收节点B的FRL进行对比。在RRL与FRL相对应的一条记录中,如果RRL中Status的值与FRL中Status中的值不符合,如表三和表四所示,假设节点B的地址是3,节点C的地址是6。通过观察可以发现,两节点在26100s时相遇了,但它们的RRL和FRL中Status的值却无法对应,说明节点B擅自改动了FRL的记录,则可以判定它是黑洞节点。
表三
表四
在步骤S05中,如果发送节点A所处覆盖范围的管理节点MGM中不包含目的节点B的接收记录表RRL,则不对接收节点B做进一步判断,并且发送节点A不向接收节点B转发消息,而向下一个相遇节点进行处理。
为了更好的通过本发明所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法验证其效果,则对其进行仿真实验,通过使用ONEs仿真平台对算法进行模拟仿真,由于ONEs 具有较好的扩展性,只需将研究的算法作为模块添加到特定的目录下即可实现算法的仿真与验证。同时,在仿真前需要对整个网络仿真平台进行仿真环境参数的设置。在本章节中,仿真平台具体参数设置如下表五所示:
表五参数设置表
同时,为了进一步验证检测算法的精度,针对未引入检测算法的BA-prophet与引入检测算法的HIBD-prophet分别利用网络中恶意节点所占比例的不同来分析黑洞节点的攻击行为。其中,引入黑洞节点攻击率来评估黑洞攻击对网络造成的影响。
图3展示的是三种路由算法在不同黑洞节点比例下受到的黑洞节点的攻击情况。其中BA-prophet是原始的Prophet路由算法,不具有检测黑洞节点的功能。PER-prophet算法是一种基于历史信息的黑洞节点检测算法,作为我们的对比样本。HIBD-prophet则是本文提出的检测算法。
从图中我们可以发现,BA-prophet与PER-prophet算法更容易受到黑洞节点的攻击。虽然前期黑洞节点所占网络中节点比例较小的时候三者受到的攻击差距并不大,但随着黑洞节点比例的增加,BA-prophet与PER-prophet所受到黑洞攻击的增速明显要比HIBD-prophet快很多。当黑洞节点比例为40%时,BA-prophet受到黑洞攻击的概率已经几乎是HIBD-prophet的两倍。
主要原因在于BA-prophet没有任何抵抗黑洞攻击的措施。随着黑洞节点的比例增加,越来越多的节点会受到黑洞节点的欺骗而且毫无防备的向其转发消息,就会导致在整个网络消息转发的总次数当中,正常节点向黑洞节点转发消息的次数大于向成功转发消息的次数。
同样的,PER-prophet算法中也并没有任何抵御黑洞攻击的措施,因此它的受攻击概率曲线与BA-prophet算法的曲线较为接近。而HIBD-prophet中使用了我们提出的检测算法,虽然在模拟仿真的前期黑洞节点的攻击行为会成功,但随着节点间相遇次数的增加,FRL和RRL中记录的相应信息也会增加,更加有利于正常节点正确高效的识别黑洞行为,检测出黑洞节点。当确认某节点是黑洞节点后,基站节点就会将其移出网络,不能再对网络进行攻击,这也是为什么在HIBD-prophet中黑洞攻击率到达某个值时就保持相对稳定状态的原因。
图4为BA-prophet、PER-prophet与HIBD-prophet在不同黑洞节点比例下的网络开销,我们对网络开销的定义如下:
相对于BA-prophet,HIBD-prophet的网络开销随着黑洞节点比例的增加变化并不明显,控制在15至20之间。而BA-prophet的网络开销不管在哪种黑洞节点比例下都至少高出8。考虑到BA-prophet与PER-prophet算法都没有对黑洞节点采取防御措施,并且根据网络开销的定义,因此可以证明BA-prophet算法的网络开销与PER-prophet算法的网络开销比较接近。通过对比网络开销的定义和分析实验数据,可以发现,在设定的仿真时间内,消息传递的成功的个数并没有因为黑洞节点的比例有很大的变化。这是因为设定的仿真时间比较充足,所以当黑洞节点占节点总数的50%时,剩余的节点依然可以通过不断的中继转发成功消息,只不过在有黑洞节点存在的情况下消息传递成功率比较低。因此,在(公式)中分母是比较稳定的一个数。而对于分子,在BA-prophet与HIBD-prophet中节点中继的次数是有明显区别的。前文也提到过,因为HIBD-prophet中发现黑洞节点后会将其移出网络,所以在仿真后期时很大程度上减少了不必要的消息中继转发,分子自然会小很多。在分母保持稳定,分子不断增长的公式中,导致了BA-prophet与HIBD-prophet网络开销的差距。
由于本文提出的HIBD-prophet检测算法主要目的是识别网络中黑洞攻击行为、检测黑洞节点并将黑洞节点移出网络所以没有类似于针对自私节点研究中的奖励机制或者是节点信用度。考虑到黑洞节点与自私节点有着本质的区别,即自私节点是为了节约自身的资源而不参与协作转发,并不存在欺骗和丢包行为。
图5(a)对比了PER-prophet算法与HIBD-prophet算法在不同黑洞节点比例下检测黑洞节点的效率。这里,本文给予黑洞节点检测时间消耗率的定义公式是,且消耗率越低说明检 测效率越高:
在PER-prophet中,检测算法用了平均30%的仿真时间完成了所有黑洞节点的检测,而HIBD-prophet平均只用了不到仿真时间的25%就成功完成了全部黑洞节点的检测。虽然HIBD-prophet在检测效率上没有比PER-prophet提升很多,但只用了平均不到25%的时间已经是高性能的表现,很难再实现较大性能的提升。导致以上情况发生的有以下两方面因素。第一,PER-prophet与HIBD-prophet都是基于Prophet概率路由的转发策略。概率路由的特点是网络中每一个节点都有一个与其它节点相遇概率的初始值。如果没有与其它节点相遇,这个概率值会随着时间的增长而衰减。由于节点相遇概率值在[0,1]范围内且初始值的时候最大,会造成黑洞节点的误判。因此在消息刚产生的时候并不能直接用检测算法检测黑洞节点,而是需要一段热身时间后才能进行。第二,中继节点向基站节点获取RRL的过程中需要消耗一部分的时间,而且整个检测流程也是需要时间进行的。因此,两点综合起来就是无法在检测效率上有较大性能提升的原因。还可以发现,两种算法中检测效率随着黑洞节点比例的增长依然保持着一个较为稳定的状态,而没有大幅度的变化。这是因为黑洞节点的检测不是一个一个节点进行的,而是同时的。在经过热身时间,节点间有了一个初步的相遇情况后,网络中同时相遇的两个节点就可以开始检测对方。因此,在节点间相遇较为频繁情况下,检测10个黑洞节点与检测20个黑洞节点所需要的时间差距并不大。
图5(a)与图5(b)的不同之处在于模拟区域的大小不一样。图5(a)的模拟区域是1500x1500的矩形区域,而图5(b)的区域为2500x2500。当节点的数量固定不变时,模拟仿真区域增大也就意味着节点的密度降低。由于节点的分布是随机的,因此在较大的模拟区域中节点分布的越稀疏,节点间相遇的概率就越小,相遇所需要的时间也越长。正是因为以上原因,在图4中可以看出检测算法的检测效率明显降低了。对比计算可以发现PER-prophet完全成功检测出所有的黑洞节点所需要的时间相较之前增长了65%,而HIBD-prophet完全成功检测出所有的黑洞节点所需要的时间则增长了大概60%。
图6(a)反映了在不同黑洞节点比例下,PER-prophet算法与HIBD-prophet算法检测黑洞节点的成功率,我们给予黑洞节点检测成功率的定义公式是:
如图6(a)所示两条折线,HIBD-prophet的黑洞节点检测成功率可以一直保持在100%,而PER-prophet的检测成功率在83%—91%范围内。通过对比发现,PER-prophet算法的最高 检测成功率在95%左右,并且成功率会随着黑洞节点比例的增加而不断降低,因此HIBD-prophet算法在检测成功率方面明显优于PER-prophet算法。虽然PER-prophet中也使用了两个表来记录消息的交换情况,但它们的功能和作用非常的单一和有限,通过对比两个记录表,只能发现被检测节点是否有擅自删除节点相遇记录的行为。在我们的仿真环境中,黑洞节点不仅仅只有擅自篡改消息记录的行为,还具有欺骗性,可以通过虚假的记录信息来骗取其它节点向其转发消息。而当遇到这种情况时,PER-prophet中的两个记录表就难以识别出这种情况的黑洞节点。简单来说,PER-prophet不能很好的适用于可以伪造相遇和转发信息的复杂黑洞节点,只适用于具有删除相遇记录行为的简单黑洞节点。因此,HIBD-prophet不仅相较于PER-prophet有较高的检测成功率,还能识别出更加复杂的黑洞节点,有着更广泛的应用场景。
图6(b)中仿真区域扩大为2500x2500,导致了两种算法的黑洞同节点检测成功率都有一定程度的降低。如前面所述,仿真区域的扩大导致节点的分布变得稀疏,在相同的时间内,节点间的相遇机会会比原来减少很多。HIBD-prophet在1500x1500的区域中模拟仿真,当黑洞节点的比例较低时,检测成功率可以达到100%。而在扩大后的区域中,检测成功率发生了骤变,最高下降率达到了9%。一方面原因是黑洞节点在扩大的仿真区域内分布稀疏,而且在仿真的前一阶段时间内,节点的相遇概率普遍较高,而且节点收集的FRL和RRL信息不够充足,容易造成正常节点被误判成为黑洞节点。
另一方面因为在黑洞节点检测成功率的定义式中,黑洞节点比例较小时,分子也小。分母如果有一点的增加就会导致结果有较大幅度的降低。同样的,这也可以解释在PER-prophet算法中当黑洞节点比例较低时检测成功率的折线图中有凸起的情况。
从图7(a)中我们可以得到不同MGM节点数对HIBD-prophet算法的检测时间消耗率的影响。由于模拟仿真区域范围比较大,当网络中只存在4个MGM节点时,会造成一部分的中继节点无法处于MGM节点的覆盖范围内,导致它们在对其它节点进行检测时无法向MGM节点获取RRL。出现这种情况时,中继节点无法对被检测节点做出准确判断,检测流程将会被中断。因此,网络中只存在4个MGM节点时,完全检测出黑洞节点所需要的时间将会比较多。当MGM节点数增加到6个时,黑洞节点的检测效率有所提升,同时所消耗的时间也有一定程度的减少,但这仍然没有达到最理想的状态。由于MGM节点是随机移动的,在某些时刻,会出现几个MGM节点相互重叠。这种情况非常不利于中继节点对黑洞节点进行检测,会降低检测效率,增加检测时间。由于节点的移动是随机的,在没有人为干预的情况下我们无法对MGM节点的运动路径进行优化。但是也正是因为节点是不断移动的,所以这种情况的出现往往都非常短暂。我们假设MGM节点是固定的,通过计算可以知道要完全覆盖整个仿真区域需要12个这样 的节点。经过大量的模拟仿真后发现,当网络中MGM节点的数量为8时,黑洞节点检测消耗的时间最少,而且检测所需时间不再随着MGM节点数量的增加而减少。
图7(b)反映了不同MGM节点数对HIBD-prophet算法的黑洞节点检测成功率的影响。当网络中使用8个MGM节点时,检测成功率可以达到100%并且保持稳定。当网络中只有6个MGM节点,黑洞节点的比例低于20%时,检测成功率仍然可以达到100%。随着黑洞节点的比例增加,当占比50%时,检测成功率降低到94%左右。虽然检测成功率有明显的降低,但通过计算发现,在黑洞节点比例为所有节点的一半时,检测出现错误只有三次。也就是说在50个黑洞节点中,发生误判的次数只有3次。相较于8个MGM节点,当网络中只存在4个这样的节点时,检测成功率最高下降将近10%。造成这种情况的主要原因是MGM节点个数太少,在模拟仿真的前期无法收集和为中继节点提供足够的RRL,并最终导致黑洞节点的误判。
在机会网络中,为了防止其它节点受到黑洞节点的攻击,我们提出了一个基于节点相遇和消息转发信息的黑洞节点检测算法。在检测算法中,我们使用了FRL和RRL两个记录表,并综合利用FRL和RRL中记录的信息对节点进行检测,最后得出判断结果。
另外,由于引入了MGM节点的概念,我们可以有效的识别出复杂黑洞攻击行为,使得检测算法可以应用于更加广泛的场景。最后,我们将提出的检测算法与现有的其它算法从多个不同方面的网络性能进行比较。大量的仿真实验结果表明,本文提出的检测算法在黑洞节点检测成功率,检测效率和网络开销等方面都比其它检测算法有更好的表现,并且在一定程度上可以抵御黑洞节点的攻击,防止网络受到黑洞节点的持续性破坏。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,故凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于,包括如下步骤:
获取发送节点与目的节点的相遇概率P1以及接收节点与目的节点的相遇概率P2;
比较P1与P2的大小,如果P2>P1,则继续下一步;否则,停止判断且不转发消息;
计算接收节点与目的节点的活跃度,如果活跃度小于预设阈值,则判定接收节点为黑洞节点,否则,接收节点为正常节点。
2.根据权利要求1所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
在判定活跃度不小于预设阈值之后,还包括如下比对步骤:
从发送节点所处覆盖范围的管理节点MGM获取目的节点的接收记录表RRL,将所述接收记录表RRL与接收节点的发送记录表FRL进行比对,是否一致;如果不一致,则判定接收节点为黑洞节点,否则,接收节点为正常节点。
3.根据权利要求2所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
如果发送节点所处覆盖范围的管理节点MGM中不包含目的节点的接收记录表RRL,则不对接收节点做进一步判断,并且发送节点不向接收节点B转发消息,而向下一个相遇节点进行处理。
4.根据权利要求2所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
将接收记录表RRL与发送记录表FRL比对的具体项目是:消息是否转发的状态Starus值。
5.根据权利要求1所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
当两节点A、B相遇并建立连接时,所述相遇概率的计算公式为:
P(A,B)=P(A,B)old+(1-P(A,B)old)×Pinit;
其中,P(A,B)old表示此前两节点的相遇概率值,Pinit∈[0,1]是个初始化常量,所有的P(A,B)都初始化为Pinit。
6.根据权利要求5所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
在两节点A、B相遇并且连接的情况之外,所述相遇概率的计算公式为:
P(A,B)=P(A,B)old×γk;
其中,γ∈[0,1]表示衰减因子,k表示节点A和B从上次相遇到现在为止所经过的时间间隔。
7.根据权利要求1所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
在节点A和C经常接触,并且节点C和B也经常接触的情况下,节点A与节点B的相遇概率具体公式如下:
P(A,B)=P(A,B)old+(1-P(A,B)old)×P(A,C)×P(C,B)×β;
P(A,B)old表示此前两节点的相遇概率值;β表示传递性影响因子。
8.根据权利要求1所述的机会网络中基于节点相遇和转发信息的黑洞节点检测方法,其特征在于:
所述活跃度的计算公式如下:
其中,nc表示节点B与节点C的相遇次数,N则表示在这段时间范围内与节点B相遇的所有节点的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710166784.9A CN107040464A (zh) | 2017-03-20 | 2017-03-20 | 机会网络中基于节点相遇和转发信息的黑洞节点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710166784.9A CN107040464A (zh) | 2017-03-20 | 2017-03-20 | 机会网络中基于节点相遇和转发信息的黑洞节点检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107040464A true CN107040464A (zh) | 2017-08-11 |
Family
ID=59533624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710166784.9A Pending CN107040464A (zh) | 2017-03-20 | 2017-03-20 | 机会网络中基于节点相遇和转发信息的黑洞节点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107040464A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055657A (zh) * | 2017-12-14 | 2018-05-18 | 深圳Tcl数字技术有限公司 | 节点信息转发方法、网络设备及计算机可读存储介质 |
CN108495350A (zh) * | 2018-02-05 | 2018-09-04 | 南京邮电大学 | 一种面向灾难救援场景的消息机会转发方法 |
CN110381469A (zh) * | 2019-07-22 | 2019-10-25 | 中国石油大学(华东) | 基于接收概率滑动窗口的船联网分块数据传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270151A1 (en) * | 2007-04-26 | 2008-10-30 | Bd Metrics | Method and system for developing an audience of buyers and obtaining their behavioral preferences to promote commerce on a communication network |
US20080299951A1 (en) * | 2007-05-29 | 2008-12-04 | Microsoft Corporation | Resource aggregation in an opportunistic network |
CN102932794A (zh) * | 2012-11-01 | 2013-02-13 | 中国科学院信息工程研究所 | 一种分簇自组织网络中黑洞攻击检测方法 |
CN103561426A (zh) * | 2013-11-04 | 2014-02-05 | 南京邮电大学 | 容迟移动传感网中基于节点活跃度的改进概率路由方法 |
CN104410646A (zh) * | 2014-12-18 | 2015-03-11 | 重庆邮电大学 | 一种带有黑洞攻击探测的数据转发方法 |
CN104469874A (zh) * | 2014-11-24 | 2015-03-25 | 南京邮电大学 | 一种基于概率中心度的机会网络的消息转发方法 |
-
2017
- 2017-03-20 CN CN201710166784.9A patent/CN107040464A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270151A1 (en) * | 2007-04-26 | 2008-10-30 | Bd Metrics | Method and system for developing an audience of buyers and obtaining their behavioral preferences to promote commerce on a communication network |
US20080299951A1 (en) * | 2007-05-29 | 2008-12-04 | Microsoft Corporation | Resource aggregation in an opportunistic network |
CN102932794A (zh) * | 2012-11-01 | 2013-02-13 | 中国科学院信息工程研究所 | 一种分簇自组织网络中黑洞攻击检测方法 |
CN103561426A (zh) * | 2013-11-04 | 2014-02-05 | 南京邮电大学 | 容迟移动传感网中基于节点活跃度的改进概率路由方法 |
CN104469874A (zh) * | 2014-11-24 | 2015-03-25 | 南京邮电大学 | 一种基于概率中心度的机会网络的消息转发方法 |
CN104410646A (zh) * | 2014-12-18 | 2015-03-11 | 重庆邮电大学 | 一种带有黑洞攻击探测的数据转发方法 |
Non-Patent Citations (6)
Title |
---|
GUO YINGHUI: "Detecting Blackhole and Greyhole Attacks in Vehicular Delay Tolerant Networks", 《IEEE INTERNATIONAL SUMPOSIUM ON A WORLD OF WIRELESS MOBILE AND MULTIMEDIA NETWORKS》 * |
LI NA: "A trust-based framework for data forwarding in opportunistic networks", 《AD HOC NETWORKS》 * |
REN Y: "Detecting Blackhole Attacks in Disruption-Tolerant Networks through Packet Exchange Recording", 《PROCEEDINGS OF THE 11TH IEEE INTERNATIONAL SYMPOSIUM ON WORLD OF WIRELESS MOBILE AND MULTIMEDIA NETWORKS(WOWMOM 2010),MONTREAL,QC,CANADA,2010》 * |
杜庆伟: "《无线通信中的移动计算》", 31 July 2016, 北京航空航天大学出版社 * |
杨静: "带有黑洞节点探测的间断连接无线网络数据转发机制", 《电子与信息学报》 * |
赵妍妍: "黑洞与间歇性攻击可探测的DTN数据转发策略研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055657A (zh) * | 2017-12-14 | 2018-05-18 | 深圳Tcl数字技术有限公司 | 节点信息转发方法、网络设备及计算机可读存储介质 |
CN108495350A (zh) * | 2018-02-05 | 2018-09-04 | 南京邮电大学 | 一种面向灾难救援场景的消息机会转发方法 |
CN108495350B (zh) * | 2018-02-05 | 2021-06-25 | 南京邮电大学 | 一种面向灾难救援场景的消息机会转发方法 |
CN110381469A (zh) * | 2019-07-22 | 2019-10-25 | 中国石油大学(华东) | 基于接收概率滑动窗口的船联网分块数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105429963B (zh) | 基于Modbus/Tcp的入侵检测分析方法 | |
CN101895521B (zh) | 一种网络蠕虫检测与特征自动提取方法及其系统 | |
CN107040464A (zh) | 机会网络中基于节点相遇和转发信息的黑洞节点检测方法 | |
CN107733851A (zh) | 基于通信行为分析的dns隧道木马检测方法 | |
CN109861985A (zh) | 基于风险等级划分的ip风控方法、装置、设备和存储介质 | |
CN109067586A (zh) | DDoS攻击检测方法及装置 | |
CN108418777A (zh) | 一种钓鱼邮件检测方法、装置及系统 | |
CN109086626A (zh) | 区块链网络的记账方法和系统 | |
CN109756515B (zh) | 基于怀疑度积累的黑洞攻击检测与追踪方法 | |
CN104936170B (zh) | 检测中间人攻击的方法与装置 | |
CN108040325B (zh) | 一种基于rssi值及信誉度的女巫节点检测方法 | |
CN111371758A (zh) | 一种基于动态贝叶斯攻击图的网络欺骗效能评估方法 | |
CN103684912A (zh) | 一种传感网安全测试方法及系统 | |
Guo et al. | Detecting blackhole and greyhole attacks in vehicular delay tolerant networks | |
CN106878995A (zh) | 一种基于感知数据的无线传感器网络异常类型鉴别方法 | |
Hu et al. | Attack scenario reconstruction approach using attack graph and alert data mining | |
CN108322463A (zh) | DDoS攻击检测方法、装置、计算机设备和存储介质 | |
Hu et al. | Automated Discovery of {Denial-of-Service} Vulnerabilities in Connected Vehicle Protocols | |
Wang et al. | Local detection of selfish routing behavior in ad hoc networks | |
Ahmed et al. | A distributed and cooperative verification mechanism to defend against DODAG version number attack in RPL | |
CN103297955A (zh) | 一种无线传感器网络安全定位方法 | |
CN110288348A (zh) | 基于传播活跃度和资产证明的区块链共识方法及系统 | |
CN115913731A (zh) | 基于智能化渗透测试的战略蜜罐部署防御方法 | |
CN109257750A (zh) | 基于信任及噪声点检测技术的多协议层的入侵检测方法 | |
CN112749496A (zh) | 基于时序作战环的装备体系作战效能评估方法及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170811 |
|
RJ01 | Rejection of invention patent application after publication |