论文部分内容阅读
结构化P2P网络中的各对等节点,必须严格遵循某种确定的逻辑关系(如DTH表)来构成邻居节点之间的互联。如果这种逻辑关系遭到攻击或破坏,将严重威胁结构化P2P网络的正常路由安全、或严重降低路由效率。因此安全路由和高效路由算法成为近年来结构化P2P网络的前沿研究热点。当前,结构化P2P网络路由安全算法的研究主要针对某种独立攻击,例如蠕虫、僵尸、分布式拒绝服务攻击或身份攻击的检测与防范,然而,一方面,这些方法只能被动地应对某一类攻击,而对其它类型的攻击则没有任何作用,缺乏主动、广谱的检测与防御机制,而且也较少考虑路由算法的可靠性与安全开销。另一方面,很多算法常常会随着热点资源下载以及网络规模扩大而导致系统性能大幅度下降,进而引起P2P网络的抗攻击性降低,因而也不能真正解决P2P网络的路由安全问题。提出了一种具有广谱检测功能的主动安全路由算法:RAPD(Routing Algorithmbased on Positive Detection)。常见的P2P路由攻击模式存在如下几个共同特征:利用恶意节点(包括被病毒劫持的节点)发动攻击;恶意节点的数量是影响攻击效果的主要因素;路由攻击主要呈现三种方式:不转发路由信息、胡乱转发路由信息和篡改路由信息。RAPD算法周期性地沿着每条路由路径发出探测包。探测包由一个记录路出跳数的随机正整数X和若干个层层加密的二元组(下一跳地址,公钥)构成。各中继节点用自己的私钥解开探测包中的对应层,处理属于自己的信息,目标节点则取出探测包中嵌套加密的X序列,签名后沿原路由路径传回去。在探测包的转发过程中,如果有恶意节点发动上述三类攻击,RAPD算法能通过二次重发探测包、密钥匹配、检查X值序列等方法把它们检测出来,然后启动路由重置避开它们,从而保障路由路径的安全。由于是针对路由攻击的共性而设计,RAPD算法能对付现有的和将来可能出现的多种路由攻击,具有良好的广谱检测性能。RAPD算法首次引入了“流言”机制:在P2P网络原有的周期性拓扑维护信息中“夹带”上述探测包,既避免对原有协议做过多的改动又能防止恶意节点识别出探测包,从而大幅度降低了探测开销,提高了探测的可靠性,而且保障了与原有路由算法的兼容性。提出了一种层次化路由容错算法:FTARH(Fault-tolerant Algorithm of Routingbased on Hiberarchy)。它先把无结构的de BruiJn图改造成一种结构化非均匀的有向图,以匹配实际的P2P网络结构状况,再把P2P网络拓扑分裂成两个具有紧密连通性的de Bruijn子图,其中一个由性能较好的节点组成,另一个由性能较差的节点组成,高性能节点负责主干路由信息和资源分布信息的更新,以及局部网络拓扑结构的维护,并向低性能节点提供路由信息或数据中转服务,以充分发挥高性能节点强大工作能力的方式提高系统的路由容错性能。此外,还专门提出了备用节点的概念,防止一个高性能节点的突然失效导致局部网络长时间的混乱。提出了一种基于地址空间动态分配的负载均衡算法:DAASLB(Load-balanceAlgorithm based on Dynamic Assignment of Address Space)。它不是依据结构化P2P算法中“资源在节点上均匀分布”、“节点在地址空间上均匀分布”两条并不符合实际的假设,而是依据节点的带宽、负载能力、资源下载热度、拓扑位置等实际状况,并先用这些量化的状况为其分配一小段连续的、永久的ID地址空间,然后使用改进的虚拟服务器技术把一个物理节点映射成若干个虚拟节点,每个虚拟节点占用一个ID地址,承担一部分载荷,并在P2P网络中充当一个真实的节点来运行。最后根据物理节点的性能或网络规模的变化,动态调整虚拟节点的数量,以实现载荷调整,智能转移负载的目的。模拟实验表明,DAASLB算法具有收敛速度快、开销小、负载均衡度高等优点,大幅度提高了系统的承载能力和运行效率。提出了一种地理测距的拓扑匹配算法:TMAGDM(Topology-matching Algorithmbased on Geography-distance Measurement)。它先给出了一种改进的全局网络定位(GNP)方法,然后利用这个方法把每个物理节点映射成N维几何空间中的一个点,并在几何点的坐标计算中首次同时引入延迟和带宽作为主要参数,使几何点之间的逻辑距离基本对应了物理节点之间的地理距离,并据此建立和更新每个节点的路由表,从而大幅度提高了逻辑拓扑与物理拓扑的匹配程度,提高了P2P网络的定位效率,从而有效防止攻击者利用拓扑不匹配带来的低效率而拖垮P2P网络的问题。