基于联邦模型的p2p网络管理方法

文档序号:7953143阅读:188来源:国知局
专利名称:基于联邦模型的p2p网络管理方法
技术领域
本发明涉及一种基于联邦模型的P2P网络管理方法,是在包含有P2P(Peer-to-Peer)应用的网络中,进行流量的检测控制的方法,属于网络流量控制方法技术领域。
背景技术
近年来,对等网络(Peer-to-Peer,P2P)成为网络研究的热点问题。P2P技术的核心思想是所有参与系统的节点(如,互联网上的某台计算机)都处于完全对等的地位,各节点具有相同的责任和能力,以非集中的方式使用分布式资源来协同完成任务。
随着PC技术和Internet的发展,广大网络终端节点(如个人计算机)的计算能力和存储能力以及网络带宽都随着摩尔定律不断增长,使用P2P技术将大大提高这些节点的利用率,从而进一步提升网络、设备和信息服务的效能。因此,P2P技术已成为目前网络世界中最流行、最有潜力的技术之一,被广泛应用于文件的共享和交换、对等计算、协同工作、搜索引擎、及时聊天等多个方面。
P2P应用的出现,为资源共享提供了一种分布式的方式,彻底改变了传统的客户-服务器(client-server,C/S)服务模式。与C/S模式相比,P2P具有以下几方面的优点1)充分利用了网络带宽。网络流量不再只集中在作为服务器的某几台主机上,而是分不到各个节点之间,使得流量的分布更加合理。
2)丰富了网络中可利用的资源。网络资源不只限于服务器中的资源,P2P系统中的每一个节点都可以发布自己拥有的资源。
3)提高了系统的稳定性。网络的存在不再依赖于某几个节点(服务器),任何一个节点断开连接,网络仍可以继续运行。
但是P2P技术在应用中存在管理问题。由于P2P技术常用于传输大容量数据的文件,这消耗了大量网络带宽;同时,P2P应用总是倾向于消耗掉所有可使用的链路带宽,从而会最大程度的利用ISP向用户提供的峰值带宽,这就彻底改变了计算机网络平均流量低、突发性强的传统流量模型。有资料指出,目前P2P应用已经超过web应用,称为占用Internet带宽最多的应用;P2P应用的数据流量占因特网总流量的60%,部分地区甚至达到70%以上;并且其流量仍在不断的发展中,有文献估计其流量每年至少增加一倍。
长时间高度拥塞的网络,为网络管理带来了极大的困难和风险。以BitTorrent(BT)下载为例,如果多个用户同时使用BT进行下载,会占用大量网络带宽,严重影响网络中其他用户的正常工作。在一些企业的局域网、学校的校园网、运营商的城域网中,都已经出现了BT滥用网络资源的情况,影响了其他正常业务的开展。与此同时,由于P2P网络缺乏相应的管理机制,使得P2P的应用还存在版权、隐私权、安全性等一系列社会问题,版权、费用等问题,以及因P2P流量迅速增长造成的网络服务质量下降的问题,使网络运行商和网络内容提供者都迫切希望能够对P2P的相关应用进行监管和控制。但是,由于P2P协议的多样性,以及客户端软件逐渐衍生出的随机端口等的应用变种,目前仍没有能够有效的对P2P应用进行监控和管理的方法,这也使得很多P2P应用面临遭遇封杀的境况。
现有P2P流量测量技术对包含P2P应用的网络进行有效的流量管理,最关键的问题就是能够准确检测出哪些网络流量属于P2P应用流量。下文将具体描述P2P流量检测的技术现状及其存在的问题目前,对P2P流量的测量主要有两种方法,分别是主动测量和被动测量,其中被动测量又分为需要监测数据报实际负载和不需要监测数据报实际负载两种。
1 主动测量方式这种方法是通过在P2P网络中设置多个P2P爬虫(crawler)来收集P2P流量。这里的“P2P爬虫”是指分布在P2P网络中的特殊节点,这些节点加入到P2P网络后,与网络中的其它主机保持了活动的TCP连接。通过与这些已知主机的通信,就建立了一个主机列表,并能够不断地把新发现的主机加入到该列表中;同时,它还记录了自身和其它主机交互的信息。通过这些信息,我们就可以了解网络中真实节点的运行和分布情况。
这种测量方式在实际运用过程中,存在两点重要的缺陷首先,因为数据的收集依赖作为爬虫的节点所维护的TCP连接数,所以这种方法并不适合大规模数据收集的管理,而实际使用的P2P大多数都有数据量大的特点。
另外,这种方法依赖于使用的具体应用协议,一种爬虫只能检测一种特定的P2P应用,也就是说使用这种方法必须要求了解相应协议的具体规范,这对于协议种类甚多、且有一部分是未公开的P2P应用来说,这种方法并不适合。
2 被动测量方式这种方法是通过在网络边界路由器上收集P2P流量的原始信息,并对得到的数据报进行分析,从而得出相应的流量分布。
最初这种方法在使用时,主要是通过端口号来区分不同P2P流量,这种方法不需要了解协议本身,只要知道它使用的端口号即可。这种方法可以处理大规模数据,但新一代P2P应用多使用随机端口号,这就对基于端口的被动测量提出了挑战。目前的解决办法由如下两种基于数据报实际负载的被动测量方式这种方法是对数据报的实际负载进行分析,通过负载中是否含有不同协议的特殊表示来识别流量(通常是检查IP报头和数据报的前16字节)。例如,BitTorrent协议的特殊标识为“0x13Bit”,我们可以根据其负载中是否含有该特殊表示来判断流量是否属于BitTorrent协议。
目前各ISP检测P2P流量普遍采用的一种改进的关键字分类方法,就是基于数据报实际负载的被动测量方式。主要方法为M1如果一个流的源/目的端口是表格1中的已知端口,那么这个流就被标记为该应用的P2P流量。
M2将每一个报文的负载与表格1中的关键字进行比较,如果匹配则标记为该应用的P2P,否则标记为非P2P。
M3如果报文被标记为P2P流量,则将其源地址和目的地址都放入一个哈希表格中,所有包含这个IP地址的流量都被标记为可能的P2P流量。
M4根据端口信息提出一些常用的已知应用数据流,比如FTP,SSL,DNS,HTTP等。
表格1常见P2P协议的报文特性

这种方法的准确率较高,但也存在两个主要的问题首先,由于此方法要对实际的应用层数据进行分析,因此速度较慢,效率也比较低,无法进行实时的分析检测。
此外,使用这种方法也必须了解具体的协议内容,才能检测出相应的P2P应用。对于未公开的协议,由于无法得到其关键字,该方法仍不能胜任。这些缺陷使这种对实际报文负载的被动检测面临严峻的挑战。
不使用网络实际负载的被动测量方式这种方法不需要对网络中传输的实际数据进行分析,而只需要IP报头的五元组信息。通过分析源IP、目的IP以及IP、端口号这两个组合信息,如果能够得到一些在P2P网络中才会出现的组合特征,那么只需要对所有流量使用这些特征进行筛选,符合一定条件的就可以认为是P2P流量。
下面列举两种常用的P2P网络中的组合特征(1)P2P应用往往同时使用TCP和UDP作为传输层的协议,则如果源IP和目的IP同时使用TCP和UDP协议进行通信,就可以认为它们之间的流量是P2P流量。但是在使用该组和特征时,要注意排除一些已知应用的固定端口,因为某些常用应用也具有相应的特征(如DNS)。但这样就导致无法检测出进行端口伪装的某些P2P应用。
(2)由于新的P2P应用通常使用随机端口进行通信,因此对于一个特定主机的目的地址一端口对(IP-Port Pair)来说,远端IP的数量和用来连接的远端端口的数量应该是相等的。而对于一般应用来说,主机在使用并行下载时,远端IP不止一个、但端口都是用同一个。这样,就可以通过IP数/Port数的比值来确定是否为P2P应用流量(比值为1则是P2P流量,大于1则非P2P流量)。但这个特征仍有可能和只是用单线程进行通信的其它普通应用相混淆。
总之,由于不使用网络实际负载的被动测量方式是采用自学习式的,因此在准确性方面可能会不很理想。
总之,P2P作为一种优秀的技术,在未来互联网的发展中必将占有重要的地位,因此对于P2P应用的管理具有极其重要的意义。但是,目前针对P2P应用的网络管理技术都存在着诸如管理效率低、扩展性差等缺陷;特别是对于P2P协议种类多样,以及随机端口、端口伪装、应用隐藏等技术的广泛使用,现有网络的检测方法并不能很好的应对。
注释随机端口在P2P应用中,不使用固定的典型端口号,而是在每次使用时都采用随机生成的端口号进行数据传输。例如,最初BitTorrent协议(一种P2P协议)规范中,为BT应用保留的典型端口号是6881-6889,但目前更多的BT客户端软件都不再使用这些端口号,而是随机产生端口号。
端口伪装指在数据传输时,不选择IETF推荐的1024以后的端口号,而是故意选择使用其他应用协议的专用端口号(如HTTP使用的80端口),异彩来进行信息的伪装和隐藏。
应用隐藏指某些P2P协议的具体规范是未公开的。

发明内容
由于P2P应用自身具有极大的灵活性和可变性的,单从ISP端(网络服务提供商)方面对其进行流量检测与监控,很难保证检测的全面、高效和准确性。然而,为了解决P2P应用给网络带来的诸多问题(如占用大量峰值带宽等),ISP端试图采用各种手段(如禁止某些P2P应用的常用端口)对P2P应用进行封杀;为了应对ISP使用的这些封杀手段,P2P厂商又进一步衍生出了各种应用变种(如随机端口等),使得检测管理更加困难。如此,ISP与P2P厂商陷入了一场“追逐战”式的恶性竞争中。
本发明就是针对上述P2P流量控制存在的问题,以及P2P应用中存在的协议多样性、端口随机性、端口伪装性、应用隐藏性等特点,开创的一种新型的P2P控制方法,利用这种方法可以有效解决上文中所描述的现有P2P流量管理技术中未能解决的,如对随机端口、应用隐藏等的P2P流量进行管理的问题。
在现有的P2P应用管理方法中,ISP将自己处于一个与P2P厂商对立的位置,只单纯的从技术角度考虑如何检测P2P流量的方法。而本方法的创新之处在于,摒弃了之前所有P2P应用管理中看问题的角度,彻底转换思路,将ISP与P2P厂商从“对立”关系转为“合作”关系,建立一个中心服务器,通过中心服务器协调实现对P2P应用的管理。
基于联邦模型的P2P网络管理方法,其特征在于,该流量控制方法包括以下步骤步骤1ISP端向中心服务器进行注册;注册信息包括用户名、密码、ISP端所在IP地址、ISP所管理网络的IP地址段;步骤2P2P端向中心服务器进行注册;注册信息包括用户名、密码、P2P端所在IP地址、P2P应用的应用类型和P2P应用所使用协议的路由信息格式;步骤3中心服务器接受ISP端和P2P端的注册请求并提供注册;中心服务器自动为每个注册用户提供各不相同且唯一的身份认证标识;步骤4中心服务器接受ISP端注册请求并提供注册;中心服务器为区分不同的P2P应用类型为每一种P2P应用类型分配一个标识;步骤5中心服务器维护一个注册用户信息的数据库;该数据库表项包括ISP类型用户,用户ID用户名用户密码用户服务器所在IPISP端所管理网络的IP地址段;P2P类型用户,用户ID用户名用户密码用户服务器所在IPP2P应用的应用类型P2P应用使用协议的路由信息;步骤6注册后的P2P端实时将自己所维护的Peers列表发送给中心服务器,该列表为使用此P2P端提供的P2P应用的所有用户的用户信息表;步骤7中心服务器对于所有的列表通过一个转换器进行标准化,使不同格式的Peers列表标准化为统一的格式,即(IP,P2PID),分别得到列表f1(l1),f1(l2),……,f1(ln);步骤8中心服务器将列表f1(l1),f1(l2),……,f1(ln)叠加,得到一张新的Peers列表L,L=f1(l1)+f1(l2)+……+f1(ln);步骤9中心服务器根据ISP用户注册时提供的管理网段的信息和P2P应用的应用类型,将Peers列表L分解为多个子表L1,L2……,Lm;步骤10中心服务器将Lj,j=1,2…,m,实时发送给每一个相应的ISP端;步骤11注册后的ISP端实时将自己所管理网段的路由信息表rk发送给中心服务器,此ISP所管理网段的路由信息表rk为使用此ISP管理网段的所有IP的网络路由信息表;步骤12中心服务器对于所有的rk,k=1,…,m,通过一个转换器进行标准化,使得不同格式的路由信息表标准化为统一的格式,即(sourceIP,nextRoute,target),分别得到列表f2(r1),f2(r2),……,f2(rm);步骤13中心服务器将列表f2(r1),f2(r2),……,f2(rm)叠加,得到一张新的路由信息表R,R=f2(r1)+f2(r2)+……+f2(rm);步骤14中心服务器将R实时发送给每一个P2P端;每一个P2P端根据路由信息表R可以实现快速下载;步骤15ISP端使用Peers列表对网络流量进行管理步骤15.1ISP端从中心服务器处得到了Peers列表Li;该列表中的表项包括了ISP管理的网段中使用P2P应用的用户的IP信息;步骤15.2将Peers列表Li表项中的ISP管理的网段中使用P2P应用的用户的IP信息进行路由注入,把所有在Li中出现的IP地址的主机都限制在低速网络中,或者在必要时IPS端可以直接将这些主机所发送出的数据包的目的地址都修改为一个不存在的主机地址,即黑洞,这就达到了管理P2P网络流量的目的。
这就构成了题目中提到的“联邦模型”。
以上ISP管理的网段中使用P2P应用的用户的IP信息进行路由注入和直接将这些主机所发送出的数据包的目的地址都修改为一个不存在的主机地址即黑洞为本发明提到的两种流量控制策略。
本领域的人员很容易知道,本发明还可以根据不同ISP端的具体控制需要实施其它控制策略而不脱离本发明的保护范围。
发明思想本发明在不改变现有P2P应用运作模式的基础上,建立ISP、P2P合作机制,该合作机制包括P2P服务提供商、网络服务提供商ISP和一个中心服务器;采用类似联邦模式,中心服务器从P2P系统获取P2P网络路由信息,提供给ISP,方便ISP进行流量控制;同时从ISP处得到IP网络路由信息,提供给P2P系统,方便P2P用户进行下载;三方基于证书实现可信信息交换。
采用本发明,P2P端(P2P厂商)实时的向中心服务器提供正在使用该服务的用户路由信息(如Peers列表),ISP端可以从中心服务器那里获得其管理的网络中所有正在使用P2P应用的用户的IP信息,这就避免了现在难以解决的P2P流量检测工作,从而可以对其网络行为进行有效的管理和规范。同时,采用本发明的P2P厂商,不但不用担心被封杀,还可以利用中心服务器向P2P系统提供的网络IP路由信息,选择更好的路由发现等策略和算法,从而进一步提高P2P服务的质量。采用了本发明实现了ISP端和P2P端(厂商)的双赢,对P2P技术的发展和网络行为的管理和规范都有很大的推动作用。


图1是本发明结构示意图;图2是P2P端向ISP端发列表的过程示意图;图3是ISP端向P2P端发列表的过程示意图。
具体实施例方式
图1是本发明示意图;其中,P1、P2……Pn是指不同的P2P端,也即不同P2P服务提供商;ISP1、ISP2……ISPn是指不同的ISP端,也即不同的网络服务提供商。
图2是P2P端向ISP端发列表的过程示意图;其中,Adaptor-1表示转换器;图3是ISP端向P2P端发列表的过程示意图。Adaptor-2表示另一个转换器。
基于联邦模型的P2P网络管理方法,该方法包括以下步骤步骤1ISP端向中心服务器进行注册;注册信息包括用户名(userName)、密码(userPwd)、ISP服务器所在IP地址(userIP)、ISP所管理网络的IP地址段(IPSection);步骤2P2P端向中心服务器进行注册;注册信息包括用户名(userName)、密码(userPwd)、P2P应用所使用的服务器所在IP地址(userIP)、P2P应用的应用类型(P2PType)和所使用协议的路由信息格式(P2PFormat);步骤3中心服务器接受ISP端和P2P端的注册请求并提供注册;中心服务器在用户注册时,自动为每个注册用户提供唯一的身份认证标识userID,每个用户的用户ID各不相同;步骤4中心服务器接受ISP端注册请求并提供注册;中心服务器为每一种P2P应用类型分配一个标识P2PID,用于区分不同的P2P应用类型。不同的P2P服务器,如果提供同一种类型的P2P服务,如都是BT tracker,则它们的P2PID相同。
步骤5中心服务器维护一个注册用户信息的数据库;
数据库表项包括iht userID //用户ID(主键,key)string userName//用户名string userPwd //用户密码bool userType //0表示ISP类型用户,1表示P2P类型用户string userIP //用户服务器所在IPstring userInfo//ISP所管理网络的IP地址段或P2P应用的应用类型和所使用协议的路由信息格式;步骤6在中心服务器注册过的P2P端,实时将自己所维护的Peers列表(li)发送给中心服务器,该列表(li)为使用此P2P端提供的P2P应用的所有用户的用户信息步骤7中心服务器对于所有的li(i=1,…,n)通过一个转换器(Adaptor-1)进行标准化,使得不同格式的Peers列表标准化为统一的格式,即(IP,P2PID),分别得到列表f1(l1),f1(l2),……,f1(ln);步骤8中心服务器将所有的n个处理后的表(f1(l1),f1(l2),……,f1(ln))叠加,得到一张新的Peers列表L,L=f1(l1)+f1(l2)+……+f1(ln);步骤9中心服务器根据ISP用户注册时提供的管理网段的信息和P2P应用的应用类型,将Peers列表L分解为多个子表L1,L2……,Lm;步骤10中心服务器将Lj,j=1,2…,m,实时发送给每一个相应的ISP端;步骤11在中心服务器注册过的ISP,实时将自己所管理网段的路由信息表(rk)发送给中心服务器的中心服务器,该列表(rk)为使用此ISP管理网段的IP网络路由信息表;对于不同的ISP,路由信息表(r1,r2……,rm)的格式可能不同;步骤12中心服务器对于所有的rk,k=1,…,m,通过一个转换器进行标准化,使得不同格式的路由信息表标准化为统一的格式,即(sourceIP,nextRoute,target),分别得到列表f2(r1),f2(r2),……,f2(rm);步骤13中心服务器将所有的m个处理后的表(f2(r1),f2(r2),……,f2(rm))叠加,得到一张新的路由信息表R,R=f2(r1)+f2(r2)+……+f2(rm);步骤14中心服务器将R实时发送给每一个P2P端;每一个P2P端根据路由信息表R可以实现快速下载;步骤15ISP端使用Peers列表对网络流量进行管理步骤15.1对于ISPi,它从中心服务器处得到了Peers列表Lj,该列表中的表项包括了ISPi管理的网段中使用P2P应用的用户的IP信息;
步骤15.2将Peers列表Li表项中的ISP管理的网段中使用P2P应用的用户的IP信息进行路由注入,把所有在Li中出现的IP地址的主机都限制在低速网络中,这样就达到了管理P2P网络流量的目的。
或者,在必要时IPS端可以直接将这些主机所发送出的数据包的目的地址都修改为一个不存在的主机地址,即黑洞,这就达到了管理P2P网络流量的目的。
以上步骤1到步骤15为本发明的具体实施步骤,其中步骤1-5为注册(可认为是准备工作),可随时接受新的P2P和ISP端加入。步骤15为ISP拿到Peers列表信息后如何对网络流量进行管理和控制。实施例提供了其中的两种可行的策略方案,本领域人员很容易想到,还可以根据不同ISP的具体控制需要实施其它控制策略。步骤6—步骤14目的在于使P2P和ISP双方进行有用信息交互,其中步骤6—步骤10为如何将P2P服务器方的用户(Peers)信息发送给ISP(见图2,图2是P2P端向ISP端发列表的过程示意图),步骤11—步骤14为如何将ISP方的路由信息发送给P2P(见图3,图3是ISP端向P2P端发列表的过程示意图)。步骤6—步骤14的步骤可并发执行。
权利要求
1.基于联邦模型的P2P网络管理方法,其特征在于,该网络管理方法包括以下步骤步骤1ISP端向中心服务器进行注册;注册信息包括用户名、密码、ISP端所在IP地址、ISP所管理网络的IP地址段;步骤2P2P端向中心服务器进行注册;注册信息包括用户名、密码、P2P端所在IP地址、P2P应用的应用类型和P2P应用所使用协议的路由信息格式;步骤3中心服务器接受ISP端和P2P端的注册请求并提供注册;中心服务器自动为每个注册用户提供各不相同且唯一的身份认证标识;步骤4中心服务器接受ISP端注册请求并提供注册;中心服务器为区分不同的P2P应用类型为每一种P2P应用类型分配一个标识;步骤5中心服务器维护一个注册用户信息的数据库;该数据库表项包括ISP类型用户,用户ID用户名用户密码用户服务器所在IPISP端所管理网络的IP地址段;P2P类型用户,用户ID用户名用户密码用户服务器所在IPP2P应用的应用类型P2P应用使用协议的路由信息;步骤6注册后的P2P端实时将自己所维护的Peers列表发送给中心服务器,该列表为使用此P2P端提供的P2P应用的所有用户的用户信息表;步骤7中心服务器对于所有的列表通过一个转换器进行标准化,使不同格式的Peers列表标准化为统一的格式,即(IP,P2PID),分别得到列表f1(l1),f1(l2),......,f1(ln);步骤8中心服务器将列表f1(l1),f1(l2),......,f1(ln)叠加,得到一张新的Peers列表L,L=f1(l1)+f1(l2)+......+f1(ln);步骤9中心服务器根据ISP用户注册时提供的管理网段的信息和P2P应用的应用类型,将Peers列表L分解为多个子表L1,L2......,Lm;步骤10中心服务器将Lj,j=1,2...,m,实时发送给每一个相应的ISP端;步骤11注册后的ISP端实时将自己所管理网段的路由信息表rk发送给中心服务器,此ISP所管理网段的路由信息表rk为使用此ISP管理网段的所有IP的网络路由信息表;步骤12中心服务器对于所有的rk,k=1,...,m,通过一个转换器进行标准化,使得不同格式的路由信息表标准化为统一的格式,即(sourceIP,nextRoute,target),分别得到列表f2(r1),f2(r2),......,f2(rm);步骤13中心服务器将列表f2(r1),f2(r2),......,f2(rm)叠加,得到一张新的路由信息表R,R=f2(r1)+f2(r2)+......+f2(rm);步骤14中心服务器将R实时发送给每一个P2P端;每一个P2P端根据路由信息表R实现快速下载;步骤15ISP端使用Peers列表对网络流量进行管理步骤15.1ISP端从中心服务器处得到了Peers列表Ll;该列表中的表项包括了ISP管理的网段中使用P2P应用的用户的IP信息;步骤15.2将Peers列表Li表项中的ISP管理的网段中使用P2P应用的用户的IP信息进行路由注入,把所有在Ll中出现的IP地址的主机都限制在低速网络中,这样就达到了管理P2P网络流量的目的。
2.基于联邦模型的P2P网络管理方法,其特征在于,该网络管理方法包括权利要求1所述步骤,只是步骤15.2为直接将所有在Ll中出现的IP地址的主机所发送出的数据包的目的地址都修改为一个不存在的主机地址,即黑洞,这样就达到了管理P2P网络流量的目的。
全文摘要
基于联邦模型的P2P网络管理方法,是在包含有P2P(Peer-to-Peer)应用的网络中进行流量的检测管理的方法,属于网络流量控制方法技术领域。ISP端和P2P端向中心服务器进行注册;中心服务器维护注册用户信息的数据库;P2P端实时将自己维护的Peers列表发送给中心服务器;中心服务器处理列表实时发送给相应的ISP端;ISP端实时将自己所管理网段的路由信息表发送给中心服务器;中心服务器处理后将路由信息表实时发送给每一个P2P端,P2P和ISP双方进行有用信息交互;P2P端根据路由信息表可以实现快速下载;ISP端使用Peers列表对网络流量进行控制,达到管理P2P网络的目的。
文档编号H04L12/24GK1852164SQ20061001178
公开日2006年10月25日 申请日期2006年4月25日 优先权日2006年4月25日
发明者王继龙, 张静, 吴建平, 李星 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1