1.一种可靠高效的机会网络自私节点检测方法,其特征是:该方法由“借助到目的节点的概率来判定节点自私性”、“用概率值捎带节点自私信息”两种新机制组成,具体如下:S1:所述的“借助到目的节点的概率来判定节点自私性”新机制针对难以判断的节点类型能够更进一步确定对方节点的自私性,该机制具体实现过程如下:S11:节点A将数据消息交付到节点B后,判断B是否脱离通信范围。若判断出对方已经脱离出了彼此的通信范围,则维持原有对节点的判定,若未脱离彼此的通信范围,则执行步骤S12;
S12:若节点A侦听到节点B与节点C进行数据传输,执行S13;
S13:A记录C的ID或地址信息,在接下来的一段时间之内,推荐该段时间长度 其中r表示节点通信范围,表示节点平均移动速度;如果A和C相遇,则A比较C和B到数据包目的节点D的概率值;如果C到D的概率值更大,但C上没有A之前发给B的数据包,则A判断B为自私节点;否则,将B设为难以判断的节点类型;
S2:所述的“用概率值捎带节点自私信息”新机制在不增加网络开销的前提下,使节点将其它节点的自私性信息用DP列表中的概率值捎带着传输,具体实现过程如下:S21:机会网络中的节点通过周期性的广播hello消息与其它节点进行邻居发现,节点双方发现彼此互为邻居后,交互SV-DP列表;
S22:节点在发送SV-DP消息之前,根据自己掌握的其它节点自私性信息,将其它节点在DP列表中对应的节点的概率值设置为负值、0~1之间的值或者1~2之间的值:自私节点的概率值在原值上取反成为负值,非自私节点的概率值在原来的0~1之间保持不变,难以判断的节点的概率值在原值上加1,因此位于1~2之间;
S23:若一个节点收到相遇节点的SV-DP列表后,将该SV-DP列表中概率值为负的节点节点在本节点的DP-SV列表中对应的概率值置为负;若收到的SV-DP列表中节点对应的概率值在0~1之间,执行步骤S24;若收到的SV-DP列表中节点对应的概率值在1~2之间,不做处理;
S24:当收到的SV-DP中节点对应的概率值在0~1之间时,表明该节点是非自私节点,此时若本节点SV-DP列表中对应的该节点概率值在1~2的范围时,将该值减1;若概率值在其他范围时,不做处理。