基于点对点协议数据传输的方法、装置和系统 【技术领域】
本发明涉及通信技术,尤其涉及一种基于点对点协议(P2P;Peer toPeer)数据传输的方法、装置和系统。
背景技术
随着Internet网络及其应用的迅速发展,出现了许多新的技术和业务类型,比如:P2P数据传输、即时通讯、网络游戏和网络媒体等,其中P2P技术通过在Peer与Peer之间直接连接来进行数据传输,彻底改变了基于客户/服务器(Client/Server;C/S)结构的网络模型,使得网络呈现出一种分布式的架构。特别是通过P2P技术可以充分利用网络带宽,基于P2P技术的多种应用不再受限于服务器的处理能力,能够更好地满足数据共享、视频传送等具有大带宽需求的应用,因此P2P技术的应用越来越成为用户的一种基本需要。
与C/S模型不同,P2P是一种对等网络模型。在C/S模型中,服务器是业务的处理中心,一般为具有强大处理能力和大带宽的高性能计算机,并且安装高档的服务器软件,同时保存大量的业务和用户相关的数据库。用户是具备简单处理能力的应用终端,主要是向服务器请求获取所需要的数据或服务。而在P2P模型下,任意两个Peer既是客户端,同时又是服务器,互相具有对等的地位,两者之间互相建立连接来传送数据,同一Peer可与多个Peer之间建立对等关系。在P2P网络中,服务器的功能弱化,甚至可以不需要部署服务器,Peer可以向整个网络中任何一个可能的Peer请求资源,因此能够极大地利用网络资源。其中,被请求提供资源的Peer又可被称作对端节点、种子或种子节点。
由于P2P网络的分布式的特点,且其对网络资源的无止境地攫取和利用,使得目前的运营商网络出现了许多的问题,特别是在网络的运营管理方面,P2P应用无限制地占用网络带宽,并且难以被识别和控制,使得运营商的网络规模越来越大,同时又得不到任何收益,而且其他应用,例如上网,也因为带宽不足造成质量下降,影响了用户的满意度。因此有必要对网络的P2P数据传输进行控制和优化管理。
我们以家庭用户接入网络为例进行说明,接入用户的网络边缘设备是宽带接入服务器(Broadband Remote Access Server,BRAS)或业务路由器(Service Router,SR),目前家庭用户主要通过数字用户线路接入复用器(Digital Subscriber Line Access Multiplexer;DSLAM)或接入/汇聚交换机接入到运营商网络,并且通过网络边缘设备BRAS/SR进行用户认证、IP地址分配等用户的接入管理控制,然后接入运营商网络,并获取各种服务。
通常目前一台BRAS/SR设备可以支持128K以上的用户接入,考虑到数据共享和视频点播这两种流行的P2P应用,如果一个用户保留1M的非对称数字用户环路(Asymmetrical Digital Subscriber Line;ADSL)和8M的视频流量带宽,则10000个用户就需要占用10G和80G的网络带宽,这样的宽带规模是网络难以承受的。另外,对于小区宽带接入这种方式,一般小区出口为最大提供100M带宽的快速以太网(Fast Ethernet,FE)接口或能提供1G带宽能力的千兆以太网(Gigabit Ethernet,GE)接口,这很难满足小区所有用户的需要。
【发明内容】
有鉴于此,本发明实施例的主要目的是提供一种基于点对点协议数据传输的方法和装置,能够在尽量满足P2P的应用需求的同时,又尽量地减少对公共网络的带宽占用,提高了用户的满意度。
本发明实施例的目的是通过以下技术方案实现的:
本发明实施例提供一种基于点对点协议P2P数据传输的方法,包括:接收并检测用户发送的P2P报文,当所述P2P报文为请求消息时,则从本地查找所述P2P报文对应的种子和资源信息;当在本地查找到所述P2P报文对应的种子和资源信息时,则模拟所述P2P报文对应的种子与所述用户建立连接;将所述资源信息发送给所述用户。
另外,本发明实施例还提供一种基于点对点协议数据传输的装置,包括主控单元、硬件种子单元和内存单元;其中,所述主控单元,用于接收并检测用户发送的P2P报文,当所述P2P报文为请求消息时,则从所述内存单元查找所述P2P报文对应的种子和资源信息;所述硬件种子单元,用于当在所述内存单元查找到所述P2P报文对应的种子和资源信息时,则模拟所述P2P报文对应的种子与所述用户建立连接,将所述资源信息发送给所述用户;所述内存单元,用于当无法查找到所述P2P报文对应的种子和资源信息时,建立所述P2P报文对应的种子和资源信息的表项,且保存所述用户与所述P2P报文对应的种子之间传送的资源信息。
此外,本发明实施例还提供一种基于点对点协议数据传输的系统,包括:用户、网络接入设备、P2P交换设备和种子,其中:所述用户用于发送P2P报文;所述种子用于为所述用户提供所需的资源信息;所述P2P交换设备用于接收所述网络接入设备转发的用户的P2P报文,当所述P2P报文为请求消息时,则从本地查找所述P2P报文对应的种子和资源信息;当在本地查找到所述P2P报文对应的种子和资源信息时,则模拟所述P2P报文对应的种子与所述用户建立连接,将所述资源信息发送给所述用户;当在本地无法查找到所述P2P报文对应的种子和资源信息时,则转发所述P2P报文给网络接入设备;所述网络接入设备用于转发所述用户发来的P2P报文给所述P2P交换设备,以及当接收到所述P2P交换设备发来的P2P报文时,转发所述P2P报文给所述P2P报文对应的种子。
由上述本发明实施例提供的技术方案可以看出,本发明实施例所提供的一种基于点对点协议数据传输的方法、装置和系统,通过在用户与种子建立连接请求时模拟该种子节点,并将本地保存的资源信息传送给用户,从而能有效减少公共网络中的P2P流量,极大地减少对公共网络的带宽需求,并且能满足用户的P2P应用需求。
【附图说明】
图1是本发明实施例基于点对点协议数据传输的方法流程图;
图2是本发明实施例基于点对点协议数据传输的装置示意图;
图3是本发明实施例基于点对点协议数据传输的系统示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
参考图1,图1是本发明实施例基于点对点协议数据传输的方法流程图;
本发明实施例所提供的基于点对点协议数据传输的方法实现流程如下:
102、接收并检测用户发送的P2P报文,当所述P2P报文为请求消息时,则从本地查找所述P2P报文对应的种子和资源信息;
104、当在本地查找到所述P2P报文对应的种子和资源信息时,则模拟所述P2P报文对应的种子与所述用户建立连接;
106、将所述资源信息发送给所述用户。
其中,所述种子通常是指被请求提供资源的对端节点。在上述104中,由于已在本地查找到所述P2P报文对应的种子和资源信息,因此无需再将P2P报文发送到真实的种子。
可选地,在本发明实施例具体实现时,当在本地无法查找到所述P2P报文对应的种子和资源信息时,则转发所述P2P报文给网络接入设备,以便所述网络接入设备将所述P2P报文转发给所述P2P报文对应的种子。
此外,当在本地无法查找到所述P2P报文对应的种子和资源信息时,可以在本地建立所述P2P报文对应的种子和资源信息的表项,且在本地保存所述用户与所述P2P报文对应的种子之间传送的资源信息。其中,所述资源信息可以通过监听用户与种子之间的资源传送报文学习得到。如果有多个种子可提供相同的资源信息,则可以在本地建立所述多个种子和资源信息的对应表项,而所述资源信息在本地只需保存一份即可。这样,在具体实现时就可以根据用户的需求模拟多个种子将所述资源信息传送给用户。
进一步地,在本发明实施例的具体实现时,通常在本地保存的种子和资源信息需要定时进行老化,例如通过定时扫描,长时间没有被用户请求的种子或资源信息需要进行删除处理。此外,若本地无法查找到P2P报文对应的种子和资源信息时,则需要在本地新建立P2P报文对应的种子和资源信息的表项,如果没有足够的内存空间来存储所述新建立的P2P报文对应的种子和资源信息的表项,则也可以将最不常用的种子及资源信息进行删除,以用于存储新建立的P2P报文对应的种子和资源信息的表项。
由上述本发明实施例提供的技术方案可以看出,本发明实施例所提供的一种基于点对点协议数据传输的方法,通过在用户与种子建立连接请求时模拟该种子节点,并将本地保存的资源信息传送给用户,从而能有效减少公共网络中的P2P流量,极大地减少对公共网络的带宽需求,并且能满足用户的P2P应用需求。
参考图2,图2是本发明实施例基于点对点协议数据传输的装置示意图;
本发明实施例所提供的基于点对点协议数据传输的装置包括主控单元202、硬件种子单元204和内存单元206:
所述主控单元202,用于接收并检测用户发送的P2P报文,当所述P2P报文为请求消息时,则从所述内存单元206查找所述P2P报文对应的种子和资源信息;
所述硬件种子单元204,用于当在所述内存单元206查找到所述P2P报文对应的种子和资源信息时,则模拟所述P2P报文对应的种子与所述用户建立连接,将所述资源信息发送给所述用户;当在所述内存单元206无法查找到所述P2P报文对应的种子和资源信息时,则转发所述P2P报文给网络接入设备,以便网络接入设备将所述P2P报文转发给所述P2P报文对应的种子;
所述内存单元206,用于当无法查找到所述P2P报文对应的种子和资源信息时,建立所述P2P报文对应的种子和资源信息的表项,且保存所述用户与所述P2P报文对应的种子之间传送的资源信息。
由上述本发明实施例提供的技术方案可以看出,本发明实施例所提供的一种基于点对点协议数据传输的装置,通过在用户与种子建立连接请求时模拟该种子节点,并将本地保存的资源信息传送给用户,从而能有效减少公共网络中的P2P流量,极大地减少对公共网络的带宽需求,并且能满足用户的P2P应用需求。
参考图3,图3是本发明实施例基于点对点协议数据传输的系统示意图;
本发明实施例所提供的基于点对点协议数据传输的系统包括:用户302、网络接入设备304、P2P交换设备306和种子308,所述网络接入设备304通常为BRAS/SR,所述用户302通常为主机;具体方案包括:用户302用于发送P2P报文,其中所述P2P报文可以是用于请求资源信息的请求报文;种子308用于为用户302提供所需的资源信息。P2P交换设备306用于接收并检测网络接入设备304转发的用户302的P2P报文,当所述P2P报文为请求消息时,则从本地查找所述P2P报文对应的种子和资源信息;当在本地查找到所述P2P报文对应的种子和资源信息时,则模拟所述P2P报文对应的种子与所述用户302建立连接,将所述资源信息发送给所述用户302;当在本地无法查找到所述P2P报文对应的种子和资源信息时,则转发所述P2P报文给网络接入设备304,在本地建立所述P2P报文对应的种子和资源信息的表项,且在本地保存所述用户与所述P2P报文对应的种子之间传送的资源信息。网络接入设备304用于转发用户302发来的P2P报文给P2P交换设备306,以及当接收到P2P交换设备306发来的P2P报文时,转发所述P2P报文给所述P2P报文对应的种子308。
需要说明的是,在本发明实施例的具体实现时,可以由网络接入设备通过对用户业务流量的监控,识别出P2P报文,例如通过深度报文检测机制识别出P2P报文,然后将所述P2P报文发送给P2P交换设备。此外,所述网络接入设备也可将所有的用户业务流量发给P2P交换设备,由P2P交换设备对用户的P2P报文进行识别。
由上述本发明实施例提供的技术方案可以看出,本发明实施例所提供的一种基于点对点协议数据传输的系统,通过在用户与种子建立连接请求时模拟该种子节点,并将本地保存的资源信息传送给用户,从而能有效减少公共网络中的P2P流量,极大地减少对公共网络的带宽需求,并且能满足用户的P2P应用需求。
本领域普通技术人员可以理解上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该的程序可以存储于一计算机可读取存储介质中,该的存储介质,如ROM/RAM、磁碟,光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。