1.对等结点Peer获取种子文件并向索引服务器注册信息。
首先结点P4_1、P46_1和P6_1从IPv4/IPv6种子服务器获取种子文件,并从中提取索引服务器Tracker_v4v6的信息,向Tracker_v4v6发起注册请求,注册信息包括Peer的结点标识、IP地址(Peer_v4v需提交IPv4和IPv6两个地址)、结点类型和对等通信端口。
Tracker_v4v6收到Peer的请求消息后,保存该Peer的信息,并将邻居结点信息(包含Peer的结点标识、IP地址、结点类型和对等通信端口)返回给该Peer。这里的邻居结点对Peer_v4来说是指IPv4网络中P2P子系统中的邻居结点,包括Peer_v4与Peer_v4v6。对Peer_v4v6来说是指整个P2P系统中的邻居结点,包括Peer_v4,Peer_v6与Peer_v4v6。对Peer_v6来说是指IPv6网络的P2P子系统中的邻居结点,包括Peer_v6与Peer_v4v6。
2.Peer_v4向Peer_v4v6发送数据中转请求的过程。
在收到邻居结点信息后,P4_1启动与P46_1的握手交互,同时,P6_1启动与P46_1的握手交互。当P4_1无法从当前IPv4P2P网络得到更多新的资源分片,需要从IPv6P2P网络得到资源时,则根据情况随机选择一个未有的资源分片向随机选择的中转结点(设为P46_1)发送资源转发请求消息。P46_1通过当前接收资源转发请求的数目来决定是否接收该请求。如果接收该请求,且本地有该资源则发送“有资源”(Resourceshave)消息给P4_1。如果接收请求但本地没有该资源则向拥有该资源的P6_1发送“请求资源”(Request)消息。
经过一段时间的传输,P46_1由IPv6P2P网络从P6_1得到了该资源,通过IPv4P2P网络发送“有资源”(Resourceshave)消息给P4_1。P4_1收到“有资源”(Resources have)消息后,判断自己是否拥有该资源。若有则发送取消资源转发请求消息给P46_1,P46_1收到取消资源转发请求后删除资源转发请求记录。若还没有该资源则发送“请求资源”(Request)消息给P46_1。P46_1收到“请求资源”(Request)消息后,发送资源给P4_1并删除资源转发请求记录。
在P2P通信过程中,P4_1、P6_1和P46_1定时向Tracker_v4v6发送更新消息,告知进度。具体通信流程如图2所示。Peer_v6向Peer_v4v6发送数据中转请求的情况与之类似,不再赘述。

验证
本文将P2P应用BitTorrent部署在IPv4/IPv6混合网络中,通过仿真实验来评估基于中转结点的P2P通信方法在IPv6发展过程中,对整个P2P系统性能的影响以及对IPv4用户和IPv6用户的P2P性能的影响。经过分析,在不同时期,当双协议栈结点占纯IPv6结点的比例小于20%时,P2P系统性能明显较差,双协议栈结点的数目在IPv6发展初期影响最为明显。当双协议栈结点占纯IPv6结点的比例大于20%时,系统平均完成时间稳定在较低水平。
本方法利用IPv4/IPv6混合网络中双协议栈结点来中转IPv4网络与IPv6网络中P2P结点间通信的消息,从而实现IPv4网络中P2P结点与IPv6网络中P2P结点的通信。其效率依赖于双协议栈的数目以及如何合理利用此类结点进行中转资源。
本方法需要在原有P2P协议中加入资源中转请求处理方面的消息处理,增加了原有协议的复杂性。但是对数据通信的流量不会有太大影响,侧重于通过信息交互来合理地疏导数据流量,从而使文件分布更加迅速有效。
(作者单位:1为内蒙古大学计算机学院,2为内蒙古大学网络信息中心)

特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。