CN101316224A - 建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体 - Google Patents
建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体 Download PDFInfo
- Publication number
- CN101316224A CN101316224A CNA2007101058090A CN200710105809A CN101316224A CN 101316224 A CN101316224 A CN 101316224A CN A2007101058090 A CNA2007101058090 A CN A2007101058090A CN 200710105809 A CN200710105809 A CN 200710105809A CN 101316224 A CN101316224 A CN 101316224A
- Authority
- CN
- China
- Prior art keywords
- peer
- router
- address
- network
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种建立对等体聚类的实现方法,应用于P2P网络,包括:网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;将所述路由器IP集合进行二分聚类,得到自己的远集合和近集合;网络中的各对等体以近集合中路由器IP地址为关键字形成对等体聚类。本发明还公开了一种对等体通信方法,发起通信请求的对等体从自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将属于同一个对等体聚类中的对等体作为近距离对等体实现通信。使用本发明方法能成功获取到物理距离近的对等体进行通信。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及P2P(Peer-to-Peer)网络中建立对等体聚类的实现方法、对等体通信方法,以及相应的P2P网络对等体。
背景技术
P2P网络与传统的客户机/服务器模式系统不同,P2P网络中的每一个节点(Peer)既可以给其他节点提供服务,又可以接受其他节点提供的服务。因此,P2P是一种对等体之间的操作,P2P网络中每个实体都称为对等体。P2P网络可以按照其拓扑结构进行分类。一般分为:集中化拓扑(Centralized Topology);全分布式非结构化拓扑(Decentralized Unstructured Topology);全分布式结构化拓扑(Decentralized Structured Topology,也称作DHT网络)和混合型。
P2P网络是构建在独立于底层物理网络的叠加网络,是处在应用层的、逻辑上的虚拟网络。由于建立叠加网络时并没有考虑底层物理网络的拓扑结构,这就可能造成叠加网络与物理网络的拓扑错配。而叠加网络中的通信又完全依赖底层物理网络的支持,因而当P2P网络中的两个对等体通信时,叠加网络会根据自身的拓扑结构选择逻辑上比较近的对等体,而由于叠加网络与物理网络的拓扑错配,该逻辑上比较近的对等体有可能在物理网络中的实际距离却较远,这种情况将会给实际承载通信的物理网络带来相当严重的通信负载。典型的情况是从远处获取共享的资源,而不是从最近处的对等体中获取。如图1所示,对等体A位于中国深圳,需要获取文件fileX,叠加网络会根据自身的拓扑结构选择从逻辑上比较近的对等体B中(位于美国)获取文件fileX,而实际上对等体A和对等体B的物理距离相当远;而与对等体A同样位于中国深圳的对等体D就拥有文件fileX,但由于叠加网络与物理网络的拓扑错配,导致没有选择物理距离上比较近的对等体D向对等体A提供文件fileX。这种情况将使得整个网络的通信路由不优化,加大了通信负载。
现有技术中一种优化叠加网络拓扑的方法为:
对等体以Traceroute作为探测工具对目标站点进行探测。目标站点的选择方法包括:
一、获取边界网关协议(Border Gateway Protocol,BGP)路由表信息,以BGP表中不同的IP前缀地址作为随机选择目标站点的依据;
二、以Internet上一些位于不同域的固定IP为目标站点。
对等体探测时指定只探测前5跳,从探测结果中得到路由器的IP地址信息,以探测得到的路由器IP地址作为关键字,将对等体信息注册到DHT网络。对等体在DHT网络中形成以路由器IP为关键字的对等体聚类。
在对等体之间进行通信时,以自身探测得到的路由器IP地址作为关键字,向DHT网络发起查询,如果查询到相应对等体聚类中有其它对等体,则优先将查询到的其它对等体作为通信对象。
在实现本发明过程中,发明人发现现有技术中至少存在如下的问题,取前5跳的路由器IP地址作为聚类关键字不准确。这是因为:
当同一个域的网络路径较大时,只取前5跳的路由器IP地址作为聚类关键字,会导致聚类规模过小,使得属于同一个域的对等体可能无法属于同一个对等体聚类中;减少了对等体通过聚类选择本域中通信对象的可选范围。
当同一个域的网络路径较小时,取前5跳的路由器IP地址作为聚类关键字,将会导致属于不同域的对等体位于同一个对等体聚类中。当对等体通过聚类选择通信对象时,有可能选择到不同域的对等体。而由于不同域的路由器之间的连接路径数量是有限的,跨域的通信易成为网络通信的瓶颈,应该尽量减少跨域之间的通信量。因此,当一个域的网络路径较小时,采用这种聚类方式实现对等体之间的通信并没有发挥出有效的作用。
发明内容
本发明实施例提供一种建立对等体聚类的实现方法、对等体通信方法及相应的P2P网络对等体,使得P2P网络中的对等体更容易成功获取到物理距离近的其它对等体进行通信。
一种建立对等体聚类的实现方法,应用于P2P网络,包括:
网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;所述路由器IP集合中包括所述对等体探测到的每一个路由器的IP地址及对应时延值;
所述对等体根据所述时延值,将所述路由器IP集合进行二分聚类,得到自己的远集合和近集合;所述近集合中包含的时延值小于所述远集合中包含的时延值;
所述对等体将所述近集合中的部分或全部路由器IP地址注册到网络上;整个网络中使用相同的路由器IP地址注册的各对等体形成一个以该路由器IP地址为关键字的对等体聚类。
一种对等体通信方法,应用于P2P网络,所述P2P网络中采用本发明实施例提供的方法形成对等体聚类,该方法包括:
发起通信请求的对等体从自己的近集合中选取已注册到网络上的路由器IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的对等体聚类中包含的除自身之外的其余对等体作为近距离对等体;
发起通信请求的对等体与所述近距离对等体进行通信。
一种P2P网络对等体,包括:
探测单元,用于使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成路由器IP集合,并发送通知消息;
二分聚类功能单元,用于接收所述探测单元发送的通知消息,根据所述路由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到远集合和近集合,所述近集合中包含的时延值小于所述远集合中包含的时延值;并发送通知消息;
注册单元,用于接收所述二分聚类功能单元发送的通知消息,将所述近集合中的部分或全部路由器IP地址信息注册到网络上。
本发明实施例通过网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自身的路由器IP集合;将自身的路由器IP集合根据时延值进行二分聚类,得到属于自己的远集合和近集合;因此在近集合中保存的路由器其对应时延值较小,因此与对等体的物理距离较近。网络中的每一个对等体将属于自己的近集合中的部分或全部路由器IP地址注册到网络上,这样,整个网络中使用相同的路由器IP地址信息注册的各对等体就形成了一个以该路由器IP地址为关键字的对等体聚类。当对等体发起通信时,从属于自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的对等体聚类中的其余对等体作为近距离对等体,优先与近距离对等体进行通信获取所需资源。由于本发明实施例将对等体探测到的路由器IP集合根据时延值大小进行了二分聚类,并以近集合中的路由器IP地址作为聚类关键字形成对等体聚类,因此保证了对等体聚类中的各对等体之间物理距离较近。
另外,本发明实施例对探测的跳数不作限定,对等体一般都可以探测到本域的出口路由器IP地址,由于一个域与其它域相互连接的出口路由器数量不多,因此,同一个域中的对等体以出口路由器IP地址为关键字形成对等体聚类的概率很大,使得对等体更容易在本域范围内成功地找到相对距离较近的属于同一个聚类的其它对等体。
附图说明
图1为P2P叠加网络与物理网络的拓扑错配导致资源查找时路径不优化的示意图;
图2为本发明实施例提供的获取近距离对等体实现通信的流程图;
图3为本发明实施例提供的二分聚类算法流程图;
图4为本发明实施例提供的不同域的对等体以本域的出口路由器IP地址作为聚类关键字,形成对等体聚类的示意图;
图5为本发明实施例提供的P2P网络对等体结构示意图之一;
图6为本发明实施例提供的P2P网络对等体结构示意图之二。
具体实施方式
参见图2,为本发明实施例提供的获取近距离对等体实现通信的流程图,具体包括:
步骤S21、网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;
步骤S22、对等体根据路由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到自己的远集合和近集合;
步骤S23、对等体将近集合中的部分或全部路由器IP地址注册到网络上;整个网络中使用相同的路由器IP地址注册的各对等体形成一个以该路由器IP地址为关键字的对等体聚类;
步骤S24、发起通信请求的对等体从自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的对等体聚类中除自身之外的其余对等体作为近距离对等体。
下面结合附图,以上述步骤进行详细阐述。
步骤S21中,对等体需要收集路由器信息,具体包括:
对等体使用探测工具随机探测一些路由器站点,得到路由器IP集合信息。探测工具可使用Traceroute,也可以使用其它的具有同样功能的工具,如TCPTraceroute等。
Traceroute的探测过程为:对等体首先送出一个生成时间(Time TO Live,TTL,)是1的IP报文到随机选择的目的地址,然后等待报文响应。当对等体收到该报文的网际控制报文协议(Internet Control Message Protocol,ICMP)超时报文时,从ICMP超时报文中获取IP地址,作为第一跳的路由器的IP地址,并将本次报文的往返时间作为第一跳的对应时延值;
然后,对等体将IP报文的TTL值加上1后重新发送,并等待新的ICMP超时报文,以获得下一跳(第二跳)的路由器的IP地址和对应时延值;
将TTL值每次加1,直复上述过程,一直持续到返回表示目的地达到的ICMP报文,或者IP报文的发送次数达到最大TTL值(最大TTL值由Traceroute规定)。由于目的地址是随机选择的,有可能目的地不可达,当目的地不可达时,当报文响应超时后,对等体会收到返回的ICMP端口不可达报文,于是停止探测过程。
为了增加Traceroute探测到因特网服务提供商(ISP)提供的出口路由器的概率(一般情况下,属于同一个ISP的对等体组成一个ISP域,不同的域之间通过出口路由器相互连接),随机探测选取的目标IP地址满足某种约束条件,如目标IP地址的K(例如K=8)位前缀与对等体IP地址的K位前缀不一致。
最终探测结果将包含探测得到的各路由器IP地址、时延值和跳数等信息,记录为{(路由器IP1,跳数1,时延1),(路由器IP2,跳数2,时延2),...}形式的集合。为描述方便,在后文中称之为“路由器IP集合”。该路由器IP集合可以保存在对等体本地,也可以保存在网络的其它实体中,例如指定网络中某一个对等体来保存网络中全部对等体探测得到的各自的路由器IP集合,或者设置一网络实体专用于保存网络中全部对等体探测得到的各自的路由器IP集合。
由于路由器比对等体相对稳定,因此对等体不需要每次启动都重新进行路由器探测。当对等体重新启动后,如果对等体IP地址没有发生改变,则直接利用上次的探测结果。如果对等体IP地址被重新分配,则重新进行路由探测,当探测到某一跳路由与上次探测结果相同时,停止探测过程,以减少对相同的路由器进行探测。同时,为了适应路由的可能改变,还可设定一个比较长的探测周期,当探测周期到达时,对等体重新探测并获取自身的路由器IP集合信息。
步骤S22中,对等体需要将自身探测生成的路由器IP集合二分聚类为远集合和近集合,具体包括:
现有技术中已经提出的聚类算法有很多,包括但不限于以下的方案:
(1)分裂法:给定一个有n个元组或者记录的数据集,构造k个分组,每一个分组代表一个聚类(k<n)。对于给定的k=2,可以给出一个初始的分组方法,以后通过反复迭代来改变分组,使得每一次改进之后的分组方案都较前一次好。典型的均值分类K-means算法为分裂法的一种。
(2)层次法:对给定的数据集进行层次似的分解,直到某种条件满足为止。初始时每一个数据记录都组成一个单独的组,在接下来的迭代中,把那些相互邻近的组合并成一个组,直到所有的记录组成两个分组或者某个条件满足为止。
(3)基于网格的方法:首先将数据空间划分成为有限个单元(cell)的网格结构,所有的处理都是以单个的单元为对象的。最终将有限个单元的数据空间划分为两类。
下面以K-means算法为例,对将路由器IP集合二分聚类为远集合和近集合进行详细的步骤描述。
K-means聚类算法属于聚类分析方法中一种基本的且应用最广的划分方法,该算法的基本思想是:给定一个包含n个数据对象的数据库,以及要生成的簇的数目K,随机选取K个对象作为初始的K个聚类中心,然后计算剩余各个样本到每一个聚类中心的距离,把该样本归属到离它距离最近的那个聚类中心所在的类,对调整后的新类使用平均值的方法计算新的聚类中心,如果相邻两次的聚类中心没有任何变化,或变化很小,说明样本调整结束,且聚类平均误差准则函数已经收敛,否则重新计算聚类中心进入下一次迭代。
具体流程包括:
步骤S31、设置第一类Z1和第二类Z2,以路由器IP集合中时延最大值作为第一类Z1的初始聚类中心Z1(I),以路由器IP集合中时延最小值作为第二类Z2的初始聚类中心Z2(I);
步骤S32、分别计算路由器IP集合中剩余各个时延值到第一类和第二类的聚类中心的距离,把每一个时延值归属到离它距离最近的聚类中心所在的类;
步骤S33、计算出误差平方和,即计算出每个时延值到其所属聚类中心的距离的平方和;也即:
误差平方和=每个时延值到其聚类中心的距离的平方和;
步骤S34、判断本次误差平方和与上次误差平方和之差是否小于设定的阈值(比如1),如果小于设定的阈值,则表明迭代算法已经收敛,执行步骤S36;否则,执行步骤S35;
步骤35、根据步骤S32产生的第一类Z1和第二类Z2,重新计算出每类的新的聚类中心,具体计算方法为:分别计算出每类中所有时延值的均值,即:
类的聚类中心=(类中所有时延值之和)/(类元素个数);
将与计算出的均值最接近的时延值作为对应类的新的聚类中心;转至步骤S32;
步骤36、将第一类Z1中各时延值及其对应的路由器的IP地址作为远集合,将第二类Z2中各时延值及其对应的路由器的IP地址作为近集合。
图3所示流程实现了采用K-means算法将对等体生成的路由器IP集合成功且合理地分成了远集合和近集合。由于远集合和近集合的划分是根据时延值来进行的,因此,近集合中包含的路由器与对等体的物理距离较近,而远集合中包含的路由器则与对等体的物理距离较远。
执行图3所示流程后,得到了近集合。实际应用中,如果近集合中的路由器IP地址较多,还可以对近集合再次或多次进行二分聚类,得到与对等体物理距离相对更近的近集合。因此,在本发明实施例中,对二分聚类的执行次数不作限定,可以根据实际需要进行一次或多次二分聚类。
将路由器IP集合划分成近集合和远集合的目的,是为了使用近集合中的路由器IP地址为关键字形成对等体聚类,为此,需要每个对等体将自己的近集合中的部分或全部路由器IP地址注册到网络上。
因此,步骤S23根据不同的P2P拓扑结构,具体实现如下:
对等体将二分聚类后得到的近集合中的部分或全部路由器IP地址进行注册(下面以将近集合中的全部路由器IP地址进行注册为例),形成以近集合中各路由器IP地址为关键字的对等体聚类。对等体聚类可以使用不同的方法,包括基于集中式的聚类和基于DHT结构的聚类。当P2P为DHT结构时,优先利用DHT结构形成聚类。
基于DHT结构的聚类过程为:利用结构化的DHT,将上述二分聚类后得到的近集合中的各个路由器IP地址为关键字,以对等体IP地址结合权重(表示跳数)作为值,向DHT网络中的任一对等体发起注册请求,接收到注册请求的对等体从DHT网络中找到所述关键字映射的对等体,将注册信息保存到映射出的对等体中;也即:为近集合中每个路由器IP地址存储一条记录,记录的具体表现形式为:
路由器IP地址,对等体IP地址+权重;
由于网络中各对等体进行路由器探测时,有可能探测到相同的路由器;这样不同对等体的近集合中有可能包含相同的路由器IP地址信息,因此,对等体在向网络注册时,不同的对等体就有可能采用相同的路由器IP地址进行注册。当多个对等体使用相同的路由器IP地址注册到DHT网络中的对等体后,在DHT网络中便保存了以该路由器IP地址为关键字的多个值,也就是说,该多个对等体以该关键字形成了对等体聚类。
基于集中式的聚类过程:选择某些网络节点作为聚类服务节点,对等体以自己近集合中的各个路由器IP地址为关键字,以自身IP地址结合权重(表示跳数)作为值,注册到某个聚类服务节点,采用记录记录的形式保存;记录的具体表现形式为:
路由器IP地址,对等体IP地址+权重;
如果存在多个聚类服务节点,不同的聚类服务节点之间定期交换其聚类信息。同样,当多个对等体使用相同的路由器IP地址注册到聚类服务节点后,在聚类服务节点中,便保存了以该路由器IP地址为关键字的多个值,也就是说,该多个对等体以该关键字形成了对等体聚类。
当网络中的对等体发起通信请求时,执行步骤S24,对等体从自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,匹配出与选取的路由器IP地址对应的对等体聚类,将匹配出的对等体聚类中除自身之外的其余对等体作为近距离对等体进行通信。
由于对等体自己的近集合中包含的路由器IP地址可能不止一个,对等体与近集合中每一个路由器之间的探测到的跳数也不相同,发起通信请求时,对等体优先选取自己的近集合中跳数最大的路由器IP地址作为关键字,向网络发起查询,由于以跳数最大的路由器IP地址为关键字形成的对等体聚类中,包含的对等体数量相对会较多,这样,对等体成功查询到属于同一个聚类的其余对等体的概率较大。
对于对等体为基于DHT结构的聚类方式,对等体以自己近集合中跳数最大的路由器IP地址为关键字,向DHT网络中的任一对等体发起查询,DHT网络中的对等体返回该关键字对应的对等体列表,对等体列表中包含与路由器IP地址为关键字形成的对等体聚类中的全部对等体信息。
对于对等体为基于集中式的聚类方式,对等体以自己近集合中跳数最大的路由器IP为关键字,向某一聚类服务节点发起查询,聚类服务节点返回该关键字对应的对等体列表。
近集合中跳数最大的路由器一般是对等体探测到的其所属ISP域的出口路由器,如果对等体以自己近集合中跳数大的路由器IP地址作为关键字无法查询到其余对等体,说明本域中没有使用同一ISP出口路由器的其它对等体,则进一步使用自己近集合中跳数较小的路由器IP地址作为关键字发起查询,以进一步发现使用了相同的域内路由器的其它对等体。
还有一种可能的情况是:对等体按近集合中各路由器对应的跳数从大到小的顺序,依次选取对应的路由器IP地址作为关键字发起查询,当自己近集合中的全部路由器IP地址都被作为关键字向网络发起查询后,都没有获取到任何其余对等体时,则只能选择不属于同一个对等体聚类的其它对等体进行通信。具体的选择方法可以采用现有技术中P2P网络选择通信对象的各种方式,本发明对此不作限定。
出现上述不能获取到属于同一个对等体聚类的其余对等体的原因,有可能是ISP域存在多个出口路由器,同一个域内的对等体在进行路由器探测时,由于探测到不同的出口路由器,从而导致属于同一个ISP域的某些对等体无法通过同一个出口路由器的IP地址作为关键字形成聚类。为了改善这种情况,当不属于同一个聚类的两个对等体相互通信时,还包括:
发起通信请求的对等体判断与当前建立通信连接的对等体之间的报文传递时延值是否小于设定的阈值;若两者之间的报文传递时延值小于设定的阈值,表明这两个对等体之间的物理距离比较近,有必要将这两个对等体所属的对等体聚类进行归并。
具体归并方法,例如:
发起通信请求的对等体(为描述方便,假设为对等体X)和当前建立通信连接的对等体(为描述方便,假设为对等体Y)相互交换自己的近集合中跳数最大的路由器IP地址信息;
对等体X以自己的近集合中跳数最大的路由器IP地址(假设为路由器IP1)为关键字向网络发起查询,查找出属于同一聚类(假设为聚类11)的全部对等体信息;例如:查找出的对等体信息包括:
对等体X+权重X;
对等体1+权重1;
对等体2+权重2;
对等体3+权重3;
对等体X将查找出的全部对等体信息以对方(即当前建立通信连接的对等体Y)近集合中跳数最大的路由器IP地址(假设为路由器IP2)为关键字注册到网络上。即:对等体X向网络注册如下记录:
路由器IP2,对等体X+权重X;
路由器IP2,对等体1+权重1;
路由器IP2,对等体2+权重2;
路由器IP2,对等体3+权重3。
同理,当前建立通信连接的对等体Y以自己的近集合中跳数最大的路由器IP地址(路由器IP2)为关键字向网络发起查询,查找出属于同一聚类(假设为聚类22)的全部对等体信息;例如:查找出的对等体信息包括:
对等体Y+权重Y;
对等体1*+权重1*;
对等体2*+权重2*;
对等体Y将查找出的全部对等体信息以对方(即发起通信请求的对等体X)近集合中跳数最大的路由器IP地址(路由器IP1)为关键字注册到网络上。即:对等体Y向网络注册如下记录:
路由器IP1,对等体Y+权重Y;
路由器IP1,对等体1*+权重1*;
路由器IP1,对等体2*+权重2*。
通过上述注册过程,网络中原聚类11中包含了原聚类22中的全部对等体信息,同时,网络中原聚类22中同样包含了原聚类11中的全部对等体信息,也就是说,原聚类11和原聚类22实现了归并。
由于进行聚类归并的前提条件是两个对等体之间的IP报文传递时延值小于某个设定的阈值,也就说是,两个对等体之间的物理距离较近,对其进行聚类归并后,可以使得对等体通过同一聚类方便找到更多的物理距离较近的其它对等体,以便更有利于对等体之间的资源共享。
图4示意出采用本发明上述实施例提供的方法,以出口路由器的IP地址为关键字形成的对等体聚类。图4中不同域ISP1、ISP2和ISP3所包含的对等体分别以本域的出口路由器1、出口路由器2和出口路由器3的IP地址作为聚类关键字形成了对等体聚类。其中:
以出口路由器1的IP地址为关键字形成的对等体聚类中包含的对等体为:对等体A、对等体B、对等体C、对等体D;
以出口路由器2的IP地址为关键字形成的对等体聚类中包含的对等体为:对等体E、对等体F、对等体G;
以出口路由器3的IP地址为关键字形成的对等体聚类中包含的对等体为:对等体H、对等体I、对等体J、对等体K。
由图4可知,由于一个ISP域的出口路由器数量有限(图4中每个ISP域仅有一个出口路由器),同一个域内的对等体进行路由器探测时,一般都会探测到出口路由器,由于对等体与本域的出口路由器之间的物理距离相对相近,因此,在进行二分聚类时出口路由器的IP地址被分属到各对等体的近集合中的概率很大,这样,以出口路由器IP地址作为关键字形成的对等体聚类中,将包含本域中的全部或绝大部分对等体,这将使得对等体以出口路由器IP地址为关键字发起查询时,能获取到属于同一个聚类的本域中的全部或绝大部分对等体信息,扩大了对等体通过聚类选择通信对象的可选范围。
本发明另一实施例提供一种能实现上述方法的P2P网络对等体,其结构示意图之一如图5所示,包括:探测单元101、二分聚类功能单元102、注册单元103;其中:
探测单元101,用于使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成路由器IP集合;并发送通知消息给二分聚类功能单元102;
二分聚类功能单元102,用于接收到探测单元101发送的通知消息后,根据路由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到远集合和近集合,并发送通知消息给注册单元103;
注册单元103,用于接收到二分聚类功能单元102发送的通知消息后,将所述近集合中的部分或全部路由器IP地址信息注册到网络上。
P2P网络对等体的另一结构示意图如图6所示,其与图5所示P2P网络对等体结构的差异在于,还包括:查询单元104、通信单元105和存储单元106。其中:
查询单元104,用于从近集合中选取路由器IP地址作为关键字,向网络发起查询,获取出网络中使用相同的路由器IP地址信息注册的各对等体,发送给通信单元105;
通信单元105,用于与网络中的其它对等体进行通信;
存储单元106,用于存储探测单元101生成的路由器IP集合,以及存储二分聚类功能单元102进行二分聚类后得到的近集合。
其中,探测单元101生成路由器IP集合后,发送到存储单元106中保存;
二分聚类功能单元102从存储单元106中获取保存的路由器IP集合,将路由器IP集合进行二分聚类,得到远集合和近集合,并将得到的近集合存入到存储单元106中保存;
注册单元103从存储单元106中获取近集合中的部分或全部路由器IP地址信息注册到网络上;
查询单元104发起查询请求前,从存储单元106保存的近集合中选取路由器IP地址作为关键字,向网络发起查询;并将查询获得的近距离对等体发送给通信单元105,以实现与近距离对等体之间的通信。
综上所述,本发明实施例通过对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自身的路由器IP集合;将自身的路由器IP集合根据时延值进行二分聚类,得到属于自己的远集合和近集合;网络中的每一个对等体将属于自己的近集合中的所有路由器IP地址注册到网络上,这样,整个网络中使用相同的路由器IP地址信息注册的各对等体就形成了一个以该路由器IP地址为关键字的对等体聚类。当对等体发起通信时,通过选取自己近集合中的路由器IP地址作为关键字,向网络发起查询,获取到属于同一聚类的对等体,从而保证了成功获取到物理距离近的其它对等体进行通信。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1、一种建立对等体聚类的实现方法,应用于P2P网络,其特征在于,包括:
网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;所述路由器IP集合中包括所述对等体探测到的每一个路由器的IP地址及对应时延值;
所述对等体根据所述时延值,将所述路由器IP集合进行二分聚类,得到自己的远集合和近集合;所述近集合中包含的时延值小于所述远集合中包含的时延值;
所述对等体将所述近集合中的部分或全部路由器IP地址注册到网络上;整个网络中使用相同的路由器IP地址注册的各对等体形成一个以该路由器IP地址为关键字的对等体聚类。
2、如权利要求1所述的方法,其特征在于,所述将路由器IP集合进行二分聚类,得到远集合和近集合,具体包括:
步骤1、设置第一类和第二类,以所述路由器IP集合中时延最大值作为第一类的初始聚类中心,以所述路由器IP集合中时延最小值作为第二类的初始聚类中心;
步骤2、分别计算所述路由器IP集合中剩余各个时延值到所述第一类和第二类的聚类中心的距离,把每一个时延值归属到离它距离最近的聚类中心所在的类;计算出每个时延值到其所属聚类中心的距离的平方和,当本次平方和与上次平方和之差小于设定的阈值时,执行步骤4;否则,执行步骤3;
步骤3、根据步骤2产生的第一类和第二类,分别计算出每类中所有时延值的均值,将与计算出的均值最接近的时延值作为对应类的新的聚类中心;转至步骤2;
步骤4、将所述第一类中各时延值及其对应的路由器的IP地址作为所述远集合,将所述第二类中各时延值及其对应的路由器的IP地址作为所述近集合。
3、如权利要求2所述的方法,其特征在于,还包括:对所述近集合进行一次或多次二分聚类。
4、如权利要求1所述的方法,其特征在于,所述路由器IP集合中还包括所述对等体到对应路由器的跳数信息;所述对等体将生成的所述路由器IP集合以及二分聚类后的近集合存储在本地;或者
所述对等体将生成的所述路由器IP集合以及二分聚类后的近集合存储到网络指定的其它实体中。
5、如权利要求4所述的方法,其特征在于,当对等体重新启动后,如果自身的IP地址发生了改变,则重新使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成新的路由器IP集合更新存储的路由器IP集合;并对新的路由器IP集合进行二分聚类,得到新的远集合和新的近集合,用新的近集合更新存储的近集合。
6、如权利要求4所述的方法,其特征在于,还包括:设定对等体的探测周期,当探测周期到达时,所述对等体重新使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成新的路由器IP集合更新存储的路由器IP集合;并对新的路由器IP集合进行二分聚类,得到新的远集合和新的近集合,用新的近集合更新存储的近集合。
7、如权利要求4所述的方法,其特征在于,所述对等体将所述近集合中的各路由器IP地址注册到网络上,具体包括:
所述对等体以所述近集合中的部分或全部路由器IP地址作为关键字,以自身的IP地址信息结合表示跳数的权重作为对应值注册到网络上。
8、如权利要求7所述的方法,其特征在于,对于分布式结构化的P2P网络,所述对等体以所述近集合中的部分或全部路由器IP地址信息作为关键字,以自身的IP地址信息和表示跳数的权重作为值,生成对应记录,存储到所述网络的对等体中;
对于集中式P2P网络,预先选定聚类服务节点,所述对等体以所述近集合中的部分或全部路由器IP地址作为关键字,以自身的IP地址信息和表示跳数的权重作为值,生成对应记录,注册到所述聚类服务节点中保存。
9、一种对等体通信方法,应用于P2P网络,所述P2P网络中包括采用权利要求1所述方法形成对等体聚类,其特征在于,该方法包括:
发起通信请求的对等体从自己的近集合中选取已注册到网络上的路由器IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的对等体聚类中包含的除自身之外的其余对等体作为近距离对等体;
发起通信请求的对等体与所述近距离对等体进行通信。
10、如权利要求9所述的方法,其特征在于,发起通信请求的对等体从自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,具体包括:
发起通信请求的对等体优先选取自己的近集合中跳数最大的路由器IP地址作为关键字,向网络发起查询。
11、如权利要求10所述的方法,其特征在于,当选取所述近集合中跳数最大的路由器IP地址发起查询后,若没有获取到其余对等体时,还包括:
依次选取所述近集合中跳数较小的路由器IP地址作为关键字,向网络发起查询。
12、如权利要求11所述的方法,其特征在于,若所述近集合中的全部路由器IP地址都被作为关键字向网络发起查询,且没有获取到任何其余对等体时,则选择不属于同一个对等体聚类的其它对等体进行通信。
13、如权利要求12所述的方法,其特征在于,当选择所述其它对等体进行通信时,还包括:
发起通信请求的对等体判断与选择的其它对等体之间的报文传递时延值是否小于设定的阈值;若是,则将自身所属的一个聚类与本次选择的其它对等体所属的一个聚类共享包含的对等体信息。
14、如权利要求13所述的方法,其特征在于,所述共享包含的对等体信息,具体包括:
发起通信请求的对等体和本次选择的其它对等体相互交换自己的近集合中跳数最大的路由器IP地址信息;
发起通信请求的对等体和本次选择的其它对等体,各自以自己的近集合中跳数最大的路由器IP地址为关键字,查找出属于同一聚类的全部对等体信息;并将查找出的全部对等体信息以对方近集合中跳数最大的路由器IP地址为关键字注册到网络上。
15、一种P2P网络对等体,其特征在于,包括:
探测单元,用于使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成路由器IP集合,并发送通知消息;
二分聚类功能单元,用于接收所述探测单元发送的通知消息,根据所述路由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到远集合和近集合,所述近集合中包含的时延值小于所述远集合中包含的时延值;并发送通知消息;
注册单元,用于接收所述二分聚类功能单元发送的通知消息,将所述近集合中的部分或全部路由器IP地址信息注册到网络上。
16、如权利要求15所述的对等体,其特征在于,还包括:
查询单元,用于从近集合中选取路由器IP地址作为关键字,向网络发起查询,获取以选取的路由器IP地址信息为关键字形成的对等体聚类中所包含的各对等体信息并发送;
通信单元,用于接收所述查询单元发送的对等体信息,并根据接收的对等体信息与相应对等体进行通信。
17、如权利要求16所述的对等体,其特征在于,还包括:
存储单元,用于存储所述探测单元发送的路由器IP集合,以及所述二分聚类功能单元得到的近集合;
并向所述二分聚类功能单元提供路由器IP集合,向注册单元和查询单元提供近集合中的路由器IP地址信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101058090A CN101316224B (zh) | 2007-05-30 | 2007-05-30 | 建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101058090A CN101316224B (zh) | 2007-05-30 | 2007-05-30 | 建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101316224A true CN101316224A (zh) | 2008-12-03 |
CN101316224B CN101316224B (zh) | 2010-12-08 |
Family
ID=40107074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101058090A Expired - Fee Related CN101316224B (zh) | 2007-05-30 | 2007-05-30 | 建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101316224B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009100671A1 (zh) * | 2008-02-05 | 2009-08-20 | Huawei Technologies Co., Ltd. | 一种维护路由信息的方法及装置 |
CN102130811A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种通过vpn接入应用服务器的方法及终端 |
CN102143000A (zh) * | 2011-03-31 | 2011-08-03 | 中兴通讯股份有限公司 | 一种数据恢复的控制方法、节点、控制装置及容灾系统 |
CN102185919A (zh) * | 2011-05-04 | 2011-09-14 | 江苏大学 | 一种基于节点置信半径的p2p网络分布式聚类方法 |
CN102202321A (zh) * | 2010-03-25 | 2011-09-28 | 通用汽车环球科技运作有限责任公司 | 在车辆Ad hoc网络中的V2X连接的协作诊断与预测应用 |
CN101714938B (zh) * | 2009-10-21 | 2012-01-04 | 南京邮电大学 | 对等网络中搭便车行为的抑制方法 |
CN105049345A (zh) * | 2015-07-22 | 2015-11-11 | 中国科学院计算技术研究所 | 一种bgp路由流量数据融合的方法及系统 |
CN109217357A (zh) * | 2018-07-20 | 2019-01-15 | 河海大学 | 一种基于马尔可夫模型的光伏并网发电系统mppt方法 |
CN109728982A (zh) * | 2017-10-27 | 2019-05-07 | 北京乾唐视联网络科技有限公司 | 一种自治网络中自治云的入网方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2005046144A1 (ja) * | 2003-11-11 | 2007-11-29 | 松下電器産業株式会社 | アクセスルータ装置及びそれを用いた通信ハンドオーバシステム並びに通信ハンドオーバ方法 |
CN1848797B (zh) * | 2005-04-15 | 2010-10-06 | 上海艾泰科技有限公司 | 中低端路由器上查找多归路由最优路径和负载均衡的方法 |
CN1859256A (zh) * | 2006-03-24 | 2006-11-08 | 中国人民解放军信息工程大学 | 大规模接入汇聚路由器系统及其应用 |
-
2007
- 2007-05-30 CN CN2007101058090A patent/CN101316224B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009100671A1 (zh) * | 2008-02-05 | 2009-08-20 | Huawei Technologies Co., Ltd. | 一种维护路由信息的方法及装置 |
US8732298B2 (en) | 2008-02-05 | 2014-05-20 | Huawei Technologies Co., Ltd. | Method and apparatus for maintaining routing information |
CN101714938B (zh) * | 2009-10-21 | 2012-01-04 | 南京邮电大学 | 对等网络中搭便车行为的抑制方法 |
CN102130811A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种通过vpn接入应用服务器的方法及终端 |
CN102202321A (zh) * | 2010-03-25 | 2011-09-28 | 通用汽车环球科技运作有限责任公司 | 在车辆Ad hoc网络中的V2X连接的协作诊断与预测应用 |
CN102143000B (zh) * | 2011-03-31 | 2015-06-03 | 中兴通讯股份有限公司 | 一种数据恢复的控制方法、节点、控制装置及容灾系统 |
CN102143000A (zh) * | 2011-03-31 | 2011-08-03 | 中兴通讯股份有限公司 | 一种数据恢复的控制方法、节点、控制装置及容灾系统 |
CN102185919A (zh) * | 2011-05-04 | 2011-09-14 | 江苏大学 | 一种基于节点置信半径的p2p网络分布式聚类方法 |
CN105049345A (zh) * | 2015-07-22 | 2015-11-11 | 中国科学院计算技术研究所 | 一种bgp路由流量数据融合的方法及系统 |
CN105049345B (zh) * | 2015-07-22 | 2018-03-30 | 中国科学院计算技术研究所 | 一种bgp路由流量数据融合的方法及系统 |
CN109728982A (zh) * | 2017-10-27 | 2019-05-07 | 北京乾唐视联网络科技有限公司 | 一种自治网络中自治云的入网方法和系统 |
CN109728982B (zh) * | 2017-10-27 | 2022-01-14 | 北京乾唐视联网络科技有限公司 | 一种自治网络中自治云的入网方法和系统 |
CN109217357A (zh) * | 2018-07-20 | 2019-01-15 | 河海大学 | 一种基于马尔可夫模型的光伏并网发电系统mppt方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101316224B (zh) | 2010-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101316224B (zh) | 建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体 | |
US8233489B2 (en) | System, method, and router for routing data packets in an overlay network | |
US7379428B2 (en) | Autonomous system topology based auxiliary network for peer-to-peer overlay network | |
CN102075359B (zh) | 一种基于网络坐标的服务器部署方法及装置 | |
CN101202746B (zh) | 节点标识符生成方法及负载均衡方法及装置 | |
Gregori et al. | Sensing the Internet through crowdsourcing | |
WO2009100637A1 (zh) | 一种建立路由的方法和装置 | |
Sacha et al. | Discovery of stable peers in a self-organising peer-to-peer gradient topology | |
Shah et al. | MANET adaptive structured P2P overlay | |
Zhang et al. | Anyopt: Predicting and optimizing ip anycast performance | |
Shah et al. | Cross-layer design to merge structured P2P networks over MANET | |
Castro et al. | Performance evaluation of structured P2P over wireless multi-hop networks | |
Anitha et al. | A survey of P2P overlays in various networks | |
Kunz et al. | A P2P approach to routing in hierarchical MANETs | |
Shen et al. | Hash-based proximity clustering for load balancing in heterogeneous DHT networks | |
Cisco | Configuring Network Proximity | |
Steiner et al. | Crawling azureus | |
Ferreira et al. | Enhancing locality in structured peer-to-peer networks | |
Rajasekhar et al. | A scalable and robust qos architecture for wifi p2p networks | |
Atzori et al. | Leveraging social notions to improve id-to-locator mapping in iot identity oriented networks | |
CN108271234B (zh) | 移动自组织网络的服务发现方法及服务器 | |
Hoang et al. | PIPPON: A Physical Infrastructure-aware Peer-to-Peer Overlay Network | |
Zhang et al. | A distributed topology-aware overlays construction algorithm | |
Mani et al. | Efficient P2P service control overlay construction to support IP Telephony services over ad-hoc networks | |
Gao et al. | Virtual backbone content routing in wireless ad-hoc network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20190530 |
|
CF01 | Termination of patent right due to non-payment of annual fee |