基于IPv6和P2P的网络资源共享机制研究
2016-11-02王欢闫东明赵建平陈占芳刘丹赵巍
王欢,闫东明,赵建平,陈占芳,刘丹,赵巍
(1.长春理工大学信息化中心,长春 130022;2.长春理工大学计算机科学技术学院,长春 130022)
基于IPv6和P2P的网络资源共享机制研究
王欢1,2,闫东明1,赵建平2,陈占芳2,刘丹2,赵巍1
(1.长春理工大学信息化中心,长春130022;2.长春理工大学计算机科学技术学院,长春130022)
在Internet飞速发展的现状下,人们对各类资源种类和访问速度的要求越来越高,为此如何提供高质量的网络资源,满足广大人民的网络文化需求成为当今社会的热点问题。针对网络资源的共享问题,本文设计了一种基于IPv6和P2P的网络资源共享模型。模型采用分簇网络进行节点间数据通信,减少因节点频繁进出的网络抖动发生。采用Kademlia算法对DHT分布式哈希优化,提高节点的识别准确率。利用TRCBC模型进行系统数据的访问控制,保证系统数据的完整性。模型已于2011年开始在长春理工大学的极光BT平台上应用,实践证明是一种有效的资源共享模型。
P2P;IPv6;资源共享
随着科技的发展Internet愈发普及。Peer-to-Peer(P2P)因其分布式信息或资源共享、协同工作、大规模并行计算等特点成为发展新热点。这种技术的出现解决了单点失效问题,挣脱了传统C/S网络应用模式下服务器性能方面的瓶颈,满足了更多的分布式应用的需求,使端系统资源得到了充分利用。
P2P是对等实体之间数据的双向交换和传输,每一个对等实体拥有对等的义务、权利,同时也扮演着资源提供者和资源消费者两个角色。P2P技术因其可扩展性、负载均衡、中心化、健壮性和内容丰富等特点得到了广泛的应用。目前P2P系统为上千万用户提供VoIP、文件共享、视频流等网络应用,加快推动了P2P的发展[1]。
与IPv4相比,IPv6具有包头简化、自动配置、灵活的选项、庞大的地址空间等特点。所以为P2P技术的应用提供了基本条件,相对地P2P技术的发展也加快了IPv4到IPv6的转型,二者共同发展。
1 基于IPv6的P2P网络结构
1.1IPv6对P2P网络技术的支持
(1)IPv6支持所有设备上网
由于IPv6的128位编制方式使得P2P网络的每个用户可获得唯一的IP,实现每个用户的对等性并可进行节点到节点的对等通信。同时IPv6不存在网络地址和死心地址之间的转换限制,P2P可简化网络设计和网络功能的逻辑结构,降低运营成本。
(2)IPv6对服务质量QoS的支持
P2P的重要特征就是实时媒体业务、文件共享、高质量通信服务。在IPv6环境下通过提供报文分组和流标签机制来保证服务的质量。
(3)IPv6的安全性
IPv6支持IPSec协议的加密和认证这两种安全机制。加密机制的原理是通过对待传输数据编码来增强数据的机密性,减小数据在传输过程中被未授权用户破解或窃取的威胁;认证机制的原理是在数据达到传输目的地时,接收方可确认数据来源的身份的可靠性和数据在发出之后是否被篡改。
(4)IPv6增强组播技术及对流媒体的支持
IPv6较IPv4相比有着较为完善的地址管理方案,减小了组播和广播的局限性。目前P2P组播技术广泛应用于应用层,相信在在不就的将来可实现应用于IP层[2,3]。
1.2基于IPv6的P2P网络共享模型
目前P2P网络模型有两个缺点:节点异构性考虑不足、物理拓扑和逻辑拓扑适配。
而IPv6可通过自身特有的地理布局的层次化这一特点,利用簇来减少因节点频繁进出的网络抖动问题。利用这种特性,本文提出的分簇网络模型如图1所示。网络模型中存在两种节点:普通节点和超级节点。超级节点是性能较为优异,承担更多的任务,参与主干网络的交互,将前缀相同的节点聚成一簇;普通节点为性能一般的节点,跟随超级节点形成簇。
每个簇可以存在一个或多个超级节点,各个簇的超级节点可以通过P2P的方式来交互。簇中的超级节点担当簇的管理员的角色,负责簇的路由和组织等工作,发现路由服务和资源等的控制和协调,管理簇中各个普通节点的认证、访问控制、注册和授权等,维护簇中普通节点的信息。一个簇的建立的标志是一个超级节点的加入,当还有其他超级节点加入后,它们之间要每隔一段时间交互一次信息以保证簇内信息的一致性。而作为普通节点只需要从其中的一个超级节点知道相关信息即可。超级节点负责的普通节点的阈值为η,当超过η时需要增加超级节点来分担路由任务和查询任务。当然,η要根据P2P节点的性能的实际情况决定。
图1 分簇网络模型
候选超节点也是簇的重要组成部分,它们是超级节点的备用节点,数量等于超级节点的数量,且关系一一对应不可重复[4,5]。
1.3模型节点数据结构
簇中的每一个普通节点都用自己拥有的资源表来统计可共享的资源。资源表结构如表1所示。
表1节点资源表结构字段Key Value含义共享资源的共享资源的值
与普通节点不同的是超级节点需要维持两张资源表:内部资源位置表、外部资源位置表。外部资源位置表将该节点近期查询的不在同一子网中的所有目的节点的信息。内部资源位置表则存放自己簇内每个节点的资源的位置信息。资源表结构如表2、3所示。
表2超级节点内部资源位置表结构字段Key Address含义本簇内资源的资源所在的位置
表3超级节点外部资源位置表结构字段Key Address含义簇外资源的资源所在的位置
为了提高查找效率、节省查找时间、减轻网络负担,在设计方面只有超级节点负责路由功能。当查找数次后,超级节点的外部资源位置表的资源信息基本固定,接下来的工作可直接在原节点或同簇内相邻超级节点内进行交互而不是始终如一地在网上遍历查找。
对于某个要离开的节点P来讲,若是超级节点,则从候选超级节点中挑选一个来替换离开的超级节点,同时从簇内普通节点中挑选出一个标记为候选超级节点。若此节点是普通节点,则将其负责的资源回收并删除与其相关的信息。
2 基于Kademlia算法中节点关系和功能优化
Kademlia原理是以异或算法作为度量单位而行程的DHT算法,较其他DHT算法而言能进行较快的路由查找。
但是在IPv6环境中并没有与Kademlia相匹配的协议,降低了基于Kademlia的P2P网络结构的性能,减少了可用节点的数量,某些情况甚至需要通过NAT设备将网络地址转换为适合的格式。目前肯多P2P系统都是通过直接改造IPv6的协议来解决地址转换问题的[6]。
2.1Kademlia系统结构
将DHT网络中各个节点id共160bit分成m位、n位两部分,分别记为m_id、n_id。两部分分别作为节点的组间标识、组内标识。若干个节点组成若干个簇,在不同的簇之间再组成级别更高的DHT网络,这样网络中的每一个节点都有由m_id和n_id组成的唯一标识。同样,每个节点中的资源标识符Key也由两部分组成:Kh(m比特,高位)、Kl(n比特,低位)。系统结构如图2所示,大圈所组织的簇网络是根据Kh和m_id交互的,小圈区域内各节点是通过Kl和n_id联系后组建的Kademlia簇。在这个系统结构中,各个簇的物理网络和分布情况不需要进行严格的匹配,只需将簇内的节点的覆盖范围控制在某个合理的物理网络上即可,达到降低数据的平均延时。
Kademlia网络的层次化网络结构如图2所示。在Kademlia网络中,插入资源信息的键值对(k,v)需要分为两步:首先,找到该节点所属的簇kl和该节点的标识nl,然后插入。然后,找到kh路由控制的区域m,在m中找到该簇负责的kl的节点,然后插入。每个键值对都需要分两步存放到系统中,每次存放都将更改Kademlia的布局。
图2 Kademlia网络的层次化结构
2.2节点查询和请求
在簇内和簇间查询的原理为通过维护簇内K桶和簇间K桶来在寻路。当节点对资源查询时,首先在所属的簇内查找关联Kl节点,若满足(K,V)则查询结束,否则向负责Kh的簇的超级节点发送查询报文,若满足(K,V)则查询结束,否则重复查询超级节点。在此期间每查询一个簇都必须向该簇的负责Kl的超级节点发送报文,并依次传递下去,或者传递到上一级负责Kh的簇中的超级节点,知道最后取得需求的(K,V)。
3 IPv6下P2P资源共享的访问控制
3.1IPv6下TRCBC系统结构及思路
基于IPv6下的P2P资源通过分簇来进行访问控制模型,如图3所示。
图3 TRCBC系统结构图
模型访问控制的设计如下:
(1)超级节点作为TRCBC模块对簇内的所有节点进行注册,为需要保护的服务和资源配置统一的URI的注册和描述,即抽象为URI。可抽象的资源包括动态页面、静态页面、多媒体服务、多媒体数据等。
(2)统一使用基于XACML的访问控制策略。所策略的管理和使用统一使用XACML标准进行操作,以便于系统的统一性管理。
(3)簇内的超级节点负责其他节点的访问资源的验证。如果是簇外节点与簇内节点之间的通信,需要通过两个簇的超级节点的交互验证,验证成功后不同簇的节点通过建立P2P直接通信来实现对资源的访问控制;如果是簇内节点之间的访问可在簇内超级节点验证成功后建立簇内节点之间的P2P直接通信。通信之前各个簇的超级节点之间已通过事先定义的基于角色、信任机制、上下文策略的规则相互协作来完成交互,建立最基本的访问控制[7,8]。
3.2访问控制流程
在请求资源时资源请求节点如何获取传递授权策略、自身授权策略、访问权限等,步骤如图4所示。
TRCBC模型的处理过程:
(1)首先TRCBC模块授予资源请求节点对应的访问权限,并把相关权限属性证书发布在LDAP上。证书包含角色ID、信任值、节点身份信息、证书有效日期。
(2)资源请求节点将请求信息发送到认证服务,资源请求节点身份认证通过后可进行下一步访问。
(3)PEP接收认证服务发送的资源请求节点的证书信息。
(4)PEP将包括行为、资源、主题、环境的属性的访问请求转发到上下文处理器进行下一步验证。
(5)上下文处理器将访问请求以XACML的格式发送给PDP。
(6)PDP在收到XACML请求要求进一步认证,要求上下文处理器提供角色标识、上下文信息、资源、信任值、属性证书等。
(7)上下文处理器收到后向PIP提出相同的属性请求。
(8)PIP获取对应的属性值。
(9)PIP将上下文处理器请求的属性值传回。
(10)上下文处理器再次处理传回的属性值并向PDP提出决策请求。
(11)PDP作出判断并返回角色结果。
(12)上下文处理器将结果以PEP需求格式返回给PEP。
(13)PEP按决策结果做出响应。
(14)两个节点之间建立P2P直接通信,资源请求节点取得请求的资源。
(15)TRCBC模块对交互情况进行跟踪和监控并记录交互结果。
4 结论
图4 TRCBC实施框架图
本文设计和实现了一种基于IPv6和P2P的网络资源共享模型。讨论了IPv6网络下的P2P网络结构,利用分簇网络进行节点间数据通信,防止网络抖动发生;提出了基于Kademlia的DHT分布式哈希优化算法,提高了节点识别准确率;设计了TRCBC数据访问控制模型。该成果已于2011年开始在长春理工大学的极光BT平台上应用,对网络资源共享机制的研究与应用具有一定的现实意义。
[1]Marcus Goncalves,Kitty Niles.IPv6 Networks[M].北京:人民邮电出版社,2004.
[2]Thanh V V,Fukuda K,Chan H N,et al.A study ofP2Ptrafficcharacteristicsevaluationinthe WIDE backbone[C].Proc.6th International ConferenceonInformationTechnologyandApplication(ICITA2009),Hanoi,Vietnam,November,2009.
[3]吴家皋,叶晓国,姜爱全.异构环境下覆盖组播网络路由算法的研究[J].软件学报,2005,16(6):1112-1120.
[4]Kong J,Zerfos P,Luo H,et al.Providing robust and ubiquitous security support for mobile Ad Hoc networks[C]//International Conference on Network Protocols ICNP.Washington:IEEE Computer Society,2001:251-260
[5]曹慧,董健全.基于IPv6、簇和超节点的P2P路由模型研究[J].计算机工程,2008,34(20):115-117.
[6]张有为,李津生,洪佩琳,等.StratoNet:一种基于DHT的P2内容定位系统[J].计算机工程,32(24),2005:53-56.
[7]郑文晓.IPv6环境下基于DHT的P2P媒体共享系统的研究与实现[D].北京:北京邮电大学,2013.
[8]陈占芳,王欢,毕琳,等.基于OA系统的即时通讯平台关键技术研究与实现[J].长春理工大学学报:自然科学版,2012,5(4):125-129.
Research on Network Resource Sharing Mechanism Based on IPv6 and P2P
WANG Huan1,2,YAN Dongming2,ZHAO Jianping2,CHEN Zhanfang2,LIU Dan2,ZHAO Wei1
(1.Information Center,Changchun University of Science and Technology,Changchun 130022;
2.School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
Under the current situation of the rapid development of Internet,people are getting more and more requests for resources kinds and access speed.To this end,how to provide high quality network resources to meet the cultural needs of the broad masses of the people has become a hot issue in today’s society.For the sharing of network resources,this paper designs a network resource sharing model based on IPv6 and P2P.In the model,the data communication between nodes is adopted in the cluster network,and reduce the network jitter due to frequent access of nodes. The Kademlia algorithm is used to optimize the DHT distributed hash,which improves the recognition accuracy of the node,and using TRCBC model for system data access control,to ensure the integrity of the system data.The model has been applied to the Aurora BT platform of Changchun University of Science and Technology in 2011 and has been proved to be an effective model of resource sharing.
P2P;IPv6;resource sharing
TP399
A
1672-9870(2016)04-0125-05
2016-03-07
赛尔网络下一代互联网技术创新项目(NGII20150504)
王欢(1987-),男,硕士,工程师,E-mail:wanghuan@cust.edu.cn
赵建平(1964-),男,教授,博士生导师,E-mail:zhaojpin@aliyun.com