针对移动自组网络中的应用层故障,讨论并分析了已有基于比较的故障诊断算法和基于簇的比较诊断算法存在的问题,提出基于簇的被动比较诊断算法。该算法基于分簇算法将移动自组网络划分为若干簇,由簇首负责本簇节点的故障诊断。在完成全网节点初始诊断后,簇内对节点的诊断无需专门诊断报文,而是在正常通信数据报文中增加诊断结果字段,基于比较模型,实现对节点状态的诊断。该算法由于无专门诊断消息,因此不会出现基于比较算法中诊断消息在整个网络中洪泛的情况,大大降低了其它算法中诊断消息所造成的系统开销。该算法还克服了网络拓扑变化频繁时已有算法存在的节点无法诊断和频繁触发诊断的问题。
The cluster-based passive fault diagnosis algorithm using comparison models is proposed for the faults of application layer in mobile ad hoc network.The shortcoming of comparison-based fault diagnosis algorithm and cluster-based comparison diagnosis algorithm as existing fault diagnosis algorithm are discussed and analyzed.The passive fault diagnosis algorithm is based on clustering algorithm for mobile ad hoc network.A network is divided into several clusters,and the cluster head is responsible for the cluster node fault diagnosis.After the initial diagnosis of nodes,the diagnosis does not need specialized diagnostic messages.The implementation of the node status of the diagnosis is based on normal communication data packet with a diagnosis field and uses the comparison model.The algorithm without a specialized diagnostic message will not cause message flooding as in traditional comparison-based fault diagnosis,thereby greatly reducing system overhead.The algorithm also overcomes the existing problems that some nodes can not be diagnosed and diagnosis is frequently triggered.