对等网络中节点间网络距离的检测方法和系统
技术领域
本发明涉及对等网络通信领域,并且特别地,涉及一种对等网络中节点间网络距离的检测方法和系统。
背景技术
随着互联网、宽带接入、以及对等网络(peer to peer,简称为P2P)技术的迅速发展,P2P业务流量已经占到了整个互联网络的业务流量的80%以上。
目前,通常使用的P2P技术通常采用叠加网络技术,即,将下层IP网络看成一个无距离差异的全连通网络。然而,这样会导致上层逻辑的P2P网络拓扑与底层IP网络的拓扑严重脱节。例如,一对节点在叠加网络上相邻,但是在IP网络中距离却相隔甚远,其直接后果是使跨区流量的大量增加、网络利用效率急剧降低,进而影响P2P业务的质量,尤其会影响P2P视频的业务质量。
然而,目前尚未提出能够解决上述问题的技术方案。
发明内容
考虑到上述问题而做出本发明,为此,本发明的主要目的在于提供一种对等网络中节点间网络距离的检测机制。
根据本发明的实施例,提供了一种对等网络中节点间网络距离的检测方法。
该方法包括:步骤S102,对等节点向网络距离检测服务器查询表示对等节点与每个对等源节点之间的网络距离的距离数据,网络距离检测服务器存储距离数据;步骤S104,根据距离数据得到对等节点与每个对等源节点之间的网络距离,将对等节点与每个对等源节点之间的网络距离进行相互比较;以及步骤S106,根据比较结果,将具有与对等节点间最短网络距离的对等源节点作为对等节点的实际源节点。
其中,在步骤S102中,当网络距离检测服务器不能获取对等节点与对等源节点之间的网络距离时,进行以下处理:
网络距离检测服务器通知对等节点无法获取距离数据,对等节点检测对等节点与对等源节点之间的IP跳数,并将IP跳数作为表示对等节点与对等源节点之间网络距离的距离数据上报并存储至网络距离检测服务器。
其中,可以利用互联网控制消息协议的数据包互联网检测器来检测IP跳数。
此外,该方法可以进一步包括以下处理:
网络距离检测服务器设置距离数据的生存时间,当生存时间到达后,删除生存时间对应的距离数据,并重新进行距离检测。
根据本发明的另一实施例,提供了一种对等网络中节点间网络距离的检测系统。
该系统包括:网络距离检测服务器,包括:距离数据获取装置,用于获取表示对等节点与每个对等源节点之间的网络距离的距离数据,并存储距离数据;比较装置,用于根据距离数据获取装置获取的距离数据得到对等节点与每个对等源节点之间的网络距离,将对等节点与每个对等源节点之间的网络距离进行相互比较;源节点确定装置,用于根据比较装置的比较结果,将具有与对等节点间最短网络距离的对等源节点作为对等节点的实际源节点;以及
对等节点,用于检测对等节点与对等源节点之间的IP跳数,并将检测的IP跳数作为距离数据上报并存储至网络距离检测服务器的距离数据获取装置。
其中,当距离数据获取装置无法获取表示对等节点与每个对等源节点之间的网络距离的距离数据时,对等节点检测对等节点与对等源节点之间的IP跳数。这里,对等节点可以利用互联网控制消息协议的数据包互联网检测器来检测IP跳数。
此外,该系统可以进一步包括:生存时间设置装置,用于设置距离数据的生存时间,当生存时间到达时通知网络距离检测服务器删除生存时间对应的距离数据,并重新进行距离检测。
通过本发明的上述技术方案,能够有效降低跨区通信流量、提高网络利用效率,从而提高P2P业务的质量,并且还能够保证服务器中的距离数据与实际IP网络拓扑相符。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明方法实施例的对等网络中节点间网络距离的检测方法的流程图;
图2是根据本发明方法实施例的对等网络中节点间网络距离的检测方法中网络距离的存储格式实例的示意图;
图3是根据本发明方法实施例的对等网络中节点间网络距离的检测方法的信令流程图;以及
图4是根据本发明系统实施例的对等网络中节点间网络距离的检测系统的框图。
具体实施方式
方法实施例
在本实施例中,提供了一种对等网络中节点间网络距离的检测方法。
如图1所示,根据本实施例的对等网络中节点间网络距离的检测方法包括:步骤S102,对等节点向网络距离检测服务器查询表示对等节点与每个对等源节点之间的网络距离的距离数据,网络距离检测服务器存储距离数据;步骤S104,根据距离数据得到对等节点与每个对等源节点之间的网络距离,将对等节点与每个对等源节点之间的网络距离进行相互比较;以及步骤S106,根据比较结果,将具有与对等节点间最短网络距离的对等源节点作为对等节点的实际源节点。
例如,节点A(即,上述的对等节点)需要请求媒体M,而节点B和节点C拥有媒体M,则称B和C是M的对等源节点,因此,节点A分别检测其与节点B和C之间的网络距离的距离数据。
其中,在步骤S102中,当网络距离检测服务器不能获取对等节点与对等源节点之间的网络距离时,进行以下处理:
网络距离检测服务器通知对等节点无法获取距离数据,对等节点检测对等节点与对等源节点之间的IP跳数(该IP跳数可以表示节点之间的距离),并将IP跳数作为表示对等节点与对等源节点之间网络距离的距离数据上报并存储至网络距离检测服务器。优选地,可以利用互联网控制消息协议(ICMP)的数据包互联网检测器(Ping)来检测IP跳数。
图2中示出了网络距离信息的存储格式的实例,其中,IP段1至IP段4表示段中节点的IP网络地址,IP地址段包括IP地址和掩码字段。从图中可以看出,相同段的两个IP主机之间的距离为0。
此外,该方法可以进一步包括以下处理:网络距离检测服务器设置距离数据的生存时间,当生存时间到达后,删除(老化)生存时间对应的距离数据,并重新进行距离检测,从而使得网络距离检测服务器能够不断积累和更新网络距离信息。
这里,生存时间可以简单采用固定值,例如,将生存时间设置为24小时。具体地,在刚得到节点A和B之间的距离数据时,可以在这个数据项上打上生成的时间戳;经过24小时后,服务器根据当前时间与时间戳的差值,判断该距离数据是否已经过了生存期,如果是,则删除该距离数据,从而在后续距离查询时引发距离的重新检测。
优选地,在服务器中可以启动老化定时器来控制老化数据的删除。
图3示出了根据本实施例的方法的信令流程图。其描述与上面相同,这里不再重复。
系统实施例
在本实施例中,提供了一种对等网络中节点间网络距离的检测系统400。
如图4所示,根据本实施例的对等网络中节点间网络距离的检测系统400包括:网络距离检测服务器402,包括:距离数据获取装置4022,用于获取表示对等节点与每个对等源节点之间的网络距离的距离数据,并存储距离数据;比较装置4024,用于根据距离数据获取装置4022获取的距离数据得到对等节点与每个对等源节点之间的网络距离,将对等节点与每个对等源节点之间的网络距离进行相互比较;源节点确定装置4026,用于根据比较装置4024的比较结果,将具有与对等节点间最短网络距离的对等源节点作为对等节点的实际源节点;以及
对等节点P1-Pn,用于检测对等节点与对等源节点之间的IP跳数,并将检测的IP跳数作为距离数据上报并存储至网络距离检测服务器的距离数据获取装置。
其中,当距离数据获取装置4022无法获取表示对等节点与每个对等源节点之间的网络距离的距离数据时,对等节点检测对等节点与对等源节点之间的IP跳数。这里,对等节点可以利用互联网控制消息协议的数据包互联网检测器来检测IP跳数。
此外,该系统可以进一步包括:生存时间设置装置,用于设置距离数据的生存时间,当生存时间到达时通知网络距离检测服务器删除生存时间对应的距离数据,并重新进行距离检测。
在该系统中,同样可以以图2中所示的格式来存储距离数据。
综上所述,本发明在P2P网络中增加了一台网络距离检测服务器,该服务器可以负责搜集和维护两个节点的IP地址段之间的IP网络信息,并为每个对等节点提供距离查询服务。借助于本发明的技术方案,能够有效降低跨区通信流量、提高网络利用效率,从而提高P2P业务的质量,并且能够保证服务器中的距离数据与实际IP网络拓扑相符。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。