覃德泽
贺州学院计算机科学与工程系 广西 542800
传统互联网计算模式主要有两种:客户端/服务器(C/S)模式和对等网络(Peer-to-Peer Networks,P2P)模式。客户/服务器的工作模式是:客户与服务器之间采用网络协议(如TCP/IP、IPX/SPX)进行连接和通讯,由客户端向服务器发出请求,服务器端响应请求,并进行相应服务。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。长期以来,客户端/服务器(C/S)模式一直是主流的计算模式。
随着终端技术和网络接入技术的发展,终端的能力越来越强,对等网络的技术和作用越来越受到重视。对等网络的工作模式是:各台计算机的地位相等,没有主客之分,每台计算机既可担任服务器角色,向其他计算机提供资源和服务,又可担任客户机角色,请求并享受其他计算机提供的资源和服务。近年来基于P2P 技术的应用服务越来越流行,统计数据表明,目前的互联网流量中P2P流量超过60%,已经成为当前互联网应用的新的重要形式。随着对等网络技术的不断发展,人们在互联网上的交流与工作方式将发生深刻变化。P2P 技术成为当前网络技术研究的热点问题之一。
对等网络从不同角度有不同的分类方法。根据拓扑结构具体形态的差别,可以将P2P分为中心化拓扑、全分布式非结构化拓扑、全分布式结构化拓扑和半分布式拓扑4 种形式;根据对等网络出现时间先后及体系结构在设计思想上的不同,可以将P2P大致分为三类:1999年出现的混合式对等网络、2000年出现的无结构对等网络和2001 年出现的结构化对等网络。本文论述采用后者分类方法。
典型结构化对等网络有Chord 、CAN、Pastry 、Tapestry等。这些对等网络的拓扑结构均经过严格设计,遵循节点存储资源能够高效、准确查询的原则。如果用关键字(Key)表示共享资源,并为各节点分配IP 地址,则应用分布式哈希表(Distributed Hash Table, DHT),如SHA-1等,哈希文件名或者文件内容可得到m位的关键字标识符;哈希节点的IP 地址可得到m位节点标识符(NodeID)。如果m足够大,就能确保两个节点或者关键字哈希到同一个标识符的概率小到可以忽略不计。通过为关键字和节点各分配m 位标识符,实现将存储数据的位置信息相应地部署在确定的节点上。对某特定网络拓扑结构,通过以下方式可以达到在有限逻辑跳内查找定位资源目的。使用NodeID 与关键字标识符数值最接近的节点保存数据的存储位置信息,每个节点建立和维护一个很小的路由表, 路由表内存储邻居节点的NodeID 和IP地址信息,查询消息以一定方式在节点间传递,直到转发给NodeID 与关键字标识符最接近的节点,则该节点就是存储目标资源的节点。
结构化对等网络与其它两种类型对等网络相比,主要有两大特点。第一,网络结构有特殊要求。体现在整个对等网络的组织不是任意的,而是要遵循一定的规范,按这些规范组织的网络,能高效并精确地查询到存储资源的目标节点。也就是说,结构化的对等网络的拓扑结构都具有相当的严密性。目前,结构化的对等网络主要有环型、多维空间、超立方体、蝴蝶型等。第二,技术上也有特殊要求。体现在结构化对等网络都要应用分布式哈式表技术。为了使所有的用户节点在对等网络中能够准确定位,结构化的对等网络均运用分布式哈式表对所有的节点进行相应的映射。但是正因为结构化的对等网络的结构与资源所在位置有密切关联性,为结构化P2P 蠕虫提供了一个极佳的传播途径。该环境下的P2P蠕虫利用分布式哈希表所包含的资源与节点索引信息,获得节点的IP信息,进行节点间传播,因此,结构化对等网络也存在着较重大的安全性问题。
分布式哈希表(Distributed Hash Table,DHT),分布式哈希表技术又叫DHT技术,结构化对等网络的基本技术是DHT技术。DHT类似Tracker的根据种子特征码返回种子信息的网络,是一种分布式存储方法。DHT的特点是:对于不需要服务器管理的网络,如对等网络,依靠节点维护的邻居路由表,以及存储的一部分数据,就能在DHT网络中实现资源的存储和查找。
P2P 系统中各节点地位均等,有关资源分布存储在各个节点中, 为了查找定位某一目标资源,需要建立一套资源搜索机制,使得各个节点都能从其他节点中找到所需资源。资源搜索机制必须保证用户能够迅速找到所需资源,同时尽可能提高带宽的利用率。
在典型的结构化对等网络Chord、CAN、Pastry、Tapestry中,Chord 模型与其他的P2P 模型相比,具有良好的可扩展性,可靠性和良好的查询效率。
Chord 是MIT 等人提出的一种分布式查找算法,这种查找算法能在P2P 网络中较快速地查找到所需要的资源。其基本查找过程是:如果给定一个关键字(Key),利用Chord 可以有效地把该关键字映射到特定对等网络的某个节点上,这样,只要给每个数据V 都赋予一个关键字K,通过Chord 就能实现节点与数据的一对一关联,即在该关键字映射的节点上存储或提取相应的(K,V)对。通过使用分布式哈希表技术,实现关键字和节点标识符的分配,假设分配给每个关键字和每个节点的标识符均为m 位二进制数,为了区别,m 位关键字标识符用K表示,m 位节点标识符用N表示。把各节点标识符取模2m后得到的结果由小到大排序,并以此顺序沿顺时针方向将各节点组织成一个逻辑的圆环,通常称为Chord 环。将关键字标识符为K 的(K, V)对存储在Chord 环上节点标识符数值等于K或者紧跟在K 之后的节点上。在Chord 环上节点标识符紧跟在K 之后的节点称为K 的后继节点,通常用successor(K)表示。后继节点实际上是在Chord环上从K 开始顺时针方向距离K 最近的节点。这样,每个节点只要建立和维护由它的后继节点的标识符和IP地址组成的路由表,通过后继节点指针在圆环上传递,就能查找定位到特定关键字标识符K对应的目标资源(K,V)存储的位置。如果关键字的标识K落在某个节点标识和它的后继节点标识之间,则这个后继节点就是存储目标资源(K,V)对的节点。
Chord 的优点主要有三方面。第一,算法简单;第二,具有可扩展查询过程的通信开销以及节点维护的状态与系统总节点数直接相关,并且是某种指数关系。假设在Chord构建的一维环形值域空间中,节点的数目为n,则每个节点维护邻居的指针列表为O(logn)个。按照这种算法,如果指针的起点是第i项,则指针指向2i 远的节点,如果此节点不是所要查询的最终目标节点,则指针移向它的后继节点,依此下去,最终可查询到目标资源。因此,每次查询使得从起点到终点的距离缩减一半,容易证明其查询的路径长度是O(logn)。第三,Chord使得网络的某些安全性能得到提高。这是因为:第一,Chord采用SH-1散列算法,而SHA-1已经被公众密码社群做了非常严密的检验而还没发现到有不安全的地方,它现在被认为是安全的;第二,Chord既是环形结构,又是分布式系统,并且各节点地位平等,所需要完成的工作又相同,因此Chord系统具有很高的健壮性,抗DoS(拒绝服务)攻击的能力较强。
对等网络由于具有非集中性、可扩展性的优点,使得其在大规模的因特网上得到了广泛的应用。对等网络模式实现了因特网上的各种主机对网络空闲资源的共享与利用,实现了各节点之间方便可靠的数据通信。但是,正是这种方便、高效的共享模式同时也带来了网络安全问题,特别是存在着恶意节点的搭便车行为。因此,必须为系统提供一套可靠的信誉管理机制,验明只有友好节点才能相互通信,保护可信任的节点,拒绝恶意节点,确保用户之间的共享资源的访问安全可靠。
在目前国内外提出的各种节点信誉管理机制中,大部分都采用集中式的方法,但这种方法容易出现性能瓶颈,因而出现了非集中式的方法。但传统非集中式的方法需要增加额外的节点的参入与辅助来计算信誉度,需要额外消耗一些网络资源。随着P2P技术的发展,学者又提出了各种使用对等网络策略的节点信誉管理机制,例如,非结构化对等网络信誉管理机制和结构化对等网络节点信誉管理机制。前者使用一种新的非集中式的策略,根据节点与应用的需求计算节点的信誉度,具有独立性,不需要其它节点的参入与辅助。把加入对等网络的节点行为划分为恶意行为与友好行为,既可以统计节点对系统的贡献,也可以根据恶意行为而减少节点的信誉度。后者使用全局储存方式保存信誉度信息,将文件信誉与节点信誉相结合,避免恶意节点通过修改标识符伪装友好节点的行为。这两种信誉管理机制都是对等网络中一种真实的、高效的、信誉机制良好的资源共享策略。结构化对等网络的节点信誉管理机制使其共享安全性得到提高。
虽然结构化对等网络的技术目前还不够完善,例如它的容错性还不够理想,安全性还有待提高,但是随着人们对结构化对等网络的进一步研究,这些问题将逐步得到解决。结构化对等网络具有很好的扩展性,可靠性和可维护性;基于DHT 的结构化P2P 网络具有确定的查询复杂度和维护开销。这些特性和优点使得它能够更好地被应用到实际的网络应用之中,并能更好地满足用户的需求度,因而有广阔的发展前景。
本文分析了结构化对等网络特性、存在问题及关键技术,指出结构化对等网络有着广阔的发展前景。为了加快结构化对等网络在实际中应用步伐,必须加大力度对其关键技术的研究,尤其是DHT 的路由效率问题, 查询系统的性能及其容错性问题,对等网络的安全性能问题都是今后的研究重点。
[1] 於建华.基于应用层特征串的P2P 流量识别及控制[J].金陵科技学院学报.2011.
[2] 彭丽媛,刘杰,赵霞,许庆平.结构化P2P 网络Chord 算法研究[J].北京工商大学学报(自然科学版).2008.
[3] 徐蕾.对等网络的发展与现状[J].读与写杂志.2010.
[4] 王立壮,王培峰.对等网络(P2P)蠕虫模型分析与防御技术研究[J].计算机安全.2010.
[5] 张波.浅谈结构化对等网络路由机制关键技术[J].硅谷.2010.
[6] 魏再超,张晓睿.基于DHT 的结构化P2P网络的性能比较[J].福建电脑.2011.
[7] 贺英杰,闫弘杉.基于SNMP的DOS攻击特征提取方法[J].计算机安全.2009.
[8] Hughes D,Coulson G,Walkerdine J.Free riding on gnutella revisited:The bell tolls[C].IEEE Distributed Systems Online.2005.
[9] 项武,秦景.非结构化对等网络中的信誉管理机制[J].计算机工程与设计.2010.
[10] 覃德泽.安全结构化对等网络的节点信誉管理机制[J].计算机工程.2011.