(精品)P2P概要技术浅析.ppt
P2P技术浅析技术浅析引言引言n 如今,如今,P2P迅速迅速成为计算机界关成为计算机界关注的热门话题之注的热门话题之一,财富杂志更一,财富杂志更将将P2P列为影响列为影响Internet未来的未来的四项科技之一。四项科技之一。内容内容nP2P综述综述nP2P的代表的代表BT通信原理分析通信原理分析nP2P的安全问题的安全问题P2P综述综述n P2P是对等计算是对等计算(Peer-to-Peer)的简称,它是一的简称,它是一种分布式网络,网络的参与者共享他们所拥有的种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点提供服务和内容,能被其它对等节点(Peer)直接直接访问而无需经过中间实体。访问而无需经过中间实体。P2P综述综述n P2P打破了传统的打破了传统的Client/Server(C/S)模式,在模式,在网络中的每个结点的地位都是对等的。在此网络网络中的每个结点的地位都是对等的。在此网络中的参与者既是资源(服务和内容)提供者中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者),又是资源(服务和内容)获取者(Client)。)。Client/Server 模式模式 Peer to Peer 模式模式 P2P综述综述n应用应用 提供文件和其它内容共享的提供文件和其它内容共享的P2P网络网络,例如例如 Napster,BitTorrent,eMule,P2P电视等电视等 即时通讯交流,即时通讯交流,例如腾讯例如腾讯QQ、ICQ、OICQ、YahooMessenger等等 安全的安全的P2P通讯与信息共享,例如通讯与信息共享,例如Skype、Crowds等等 基于基于P2P方式的协同处理与服务共享平台,例如方式的协同处理与服务共享平台,例如JXTA、Magi、.NET My Service等等 P2P技术的特点技术的特点 n非中心化非中心化 n可可扩展性扩展性 n健壮性健壮性 n高性能高性能/价格价格比比n隐私保护隐私保护 BT原理分析原理分析 BT由如下几部分组成:由如下几部分组成:.torrent文件、种文件、种子提供站点、目录服务器和内容发布者子提供站点、目录服务器和内容发布者/下下载者载者。n.torrent文件是一个文本文件,包含了文件是一个文本文件,包含了tracker信信息和文件信息两部分。息和文件信息两部分。tracker信息主要是信息主要是BT下下载中需要用到的载中需要用到的tracker服务器的地址和针对服务器的地址和针对tracker服务器的设置;文件信息是指将目标文件服务器的设置;文件信息是指将目标文件计算处理后再根据计算处理后再根据BT协议的协议的B编码规则网编码后编码规则网编码后得到的信息。得到的信息。BT原理分析原理分析n种子提供站点也就是种子提供站点也就是.torrent文件的提供站点,文件的提供站点,为下载者提供为下载者提供.torrent文件下载服务。文件下载服务。n目录服务器记录被下载的文件的索引信息及下载目录服务器记录被下载的文件的索引信息及下载该文件的用户的信息(主要是该文件的用户的信息(主要是IP地址及端口号)。地址及端口号)。BT原理分析原理分析n BT的主要原理是把提供下载的文件虚拟分成大小的主要原理是把提供下载的文件虚拟分成大小相等的块,块大小必须为相等的块,块大小必须为2 Kbyte的整数次方(由的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和并把每个块的索引信息和Hash验证码写入验证码写入.torrent文件中,所以文件中,所以.torrent文件就是被下载文件就是被下载文件的文件的“索引索引”。BT原理分析原理分析n BT协议主要包括协议主要包括3个部分:个部分:n.torrent文件的格式文件的格式ntracker HTTP/HTTPS协议协议nPeer wire协议(使用协议(使用TCP)tracker HTTP/HTTPS协议是协议是BT客户机与客户机与tracker服务器之间的通信协议,服务器之间的通信协议,Peer wire协议是协议是BT客客户机之间的通信协议户机之间的通信协议。BT原理分析原理分析n.torrent文件的结构文件的结构 采用采用B编码。编码。B编码是一种简洁的数据组织方式,编码是一种简洁的数据组织方式,支持支持4种数据类型:种数据类型:byte strings、integers、lists和和dictionaries。integers、lists和和dictionaries类型分别以字母类型分别以字母i、l、d作为首定界作为首定界符,以字母符,以字母e作为尾定界符。作为尾定界符。byte strings类型不类型不使用首使用首/尾定界符,其格式为尾定界符,其格式为:,如,如4:spam表示字符串表示字符串“spam”。BT原理分析原理分析n其中的一些主要成份如下:其中的一些主要成份如下:announce:tracker服务器的服务器的URL,例:,例:http:/:8080/announce。announce-list:备用:备用tracker服务器的服务器的URL列表。列表。creation date:.torrent文件的创建日期,文件的创建日期,使用标准的使用标准的UNIX时间。时间。comment:.torrent文件制作者添加的任文件制作者添加的任意格式的说明。意格式的说明。created by:制作:制作.torrent文件的工具。文件的工具。encoding:发布的资源使用的编码方式。:发布的资源使用的编码方式。info:发布的文件的信息。有两种格式,:发布的文件的信息。有两种格式,单文件格式和多文件格式。单文件格式和多文件格式。BT原理分析原理分析ntracker HTTP/HTTPS协议协议 BT客户机依次向客户机依次向.torrent中的中的tracker服务器服务器发送连接请求,以获得正在下载该文件的对等方发送连接请求,以获得正在下载该文件的对等方列表(主要是列表(主要是IP地址和监听端口)。如果连接成地址和监听端口)。如果连接成功获得列表,就关闭连接,尝试与列表中的对等功获得列表,就关闭连接,尝试与列表中的对等方建立连接;如果不成功,尝试下一个方建立连接;如果不成功,尝试下一个tracker服服务器。务器。BT原理分析原理分析n Peer wire协议协议 nBT客户机会尝试与返回的对等方列表中的部分对客户机会尝试与返回的对等方列表中的部分对等方建立等方建立TCP连接。连接。n建立建立TCP连接之后,对等方之间的交互过程包括连接之后,对等方之间的交互过程包括以下几步:以下几步:(1)握手,通过)握手,通过Handshake分组实现。分组实现。(2)互换所拥有的资源的情况。通过)互换所拥有的资源的情况。通过Bitfield分分组实现。组实现。BT原理分析原理分析(3 3)互通对资源的意愿情况,包括)互通对资源的意愿情况,包括interested、not interested、choke、unchoke等等4 4种。种。(4 4)互相请求资源,通过)互相请求资源,通过request piece、piece分组实现。分组实现。(5 5)断开连接。因)断开连接。因Peer wire协议使用了协议使用了TCPTCP方方式,对等方式,对等方A A与对等方与对等方B B断开连接时,只需要断开断开连接时,只需要断开它们之间的它们之间的TCP连接即可。连接即可。P2P的安全问题的安全问题n P2PP2P网络采用的分布式结构在提供扩展性和灵活网络采用的分布式结构在提供扩展性和灵活性的同时,也使它面临着巨大的安全挑战。性的同时,也使它面临着巨大的安全挑战。它需它需要在没有中心节点的情况下,提供身份验证、授要在没有中心节点的情况下,提供身份验证、授权、数据信息的安全传输、数字签名、加密等机权、数据信息的安全传输、数字签名、加密等机制。但目前的制。但目前的P2PP2P技术距离实现这一目标尚有一定技术距离实现这一目标尚有一定的距离。的距离。P2P P2P网络面临的主要安全威胁有:网络面临的主要安全威胁有:P2P的安全问题的安全问题 nP2P信息共享与知识产权保护信息共享与知识产权保护 由于数字内容可以很容易地被复制与传输,尤由于数字内容可以很容易地被复制与传输,尤其是其是P2P共享软件的繁荣加速了盗版媒体的分发,共享软件的繁荣加速了盗版媒体的分发,增加了知识产权保护的难点。美国唱片工业协会增加了知识产权保护的难点。美国唱片工业协会(RIAA,Recording Industry Association of America)与这些共享软件公司展开了漫长的官)与这些共享软件公司展开了漫长的官司拉锯战,著名的司拉锯战,著名的Napster便是这场战争的第一便是这场战争的第一个牺牲者。个牺牲者。P2P的安全问题的安全问题n路由攻击路由攻击 攻击者可以宣称(当然是不正确的)一个随机攻击者可以宣称(当然是不正确的)一个随机节点负责保存某个关键字。这将会导致关键字被节点负责保存某个关键字。这将会导致关键字被保存在一个不正确的节点上,当然也就不可能被保存在一个不正确的节点上,当然也就不可能被其他节点检索到。其他节点检索到。由于每个节点都是通过和其他节点进行交互来由于每个节点都是通过和其他节点进行交互来构造自己的路由表,因此攻击者可以向其他节点构造自己的路由表,因此攻击者可以向其他节点发送不正确的路由信息来破坏其他节点的路由表。发送不正确的路由信息来破坏其他节点的路由表。P2P的安全问题的安全问题n穿越防火墙穿越防火墙 P2P网络节点既可以位于公网,也可以处在内网络节点既可以位于公网,也可以处在内部局域网。部局域网。P2P软件经过特殊设计,能够通过防软件经过特殊设计,能够通过防火墙使内外网用户建立连接,这就像是在防火墙火墙使内外网用户建立连接,这就像是在防火墙上开放了一个秘密通道(上开放了一个秘密通道(Security Hole),使得),使得内网直接暴露在不安全的外部网络环境下。内网直接暴露在不安全的外部网络环境下。P2P的安全问题的安全问题 nP2P带来的新型网络病毒传播问题带来的新型网络病毒传播问题 P2P网络提供了方便的共享和快速的选路机制,网络提供了方便的共享和快速的选路机制,为某些网络病毒提供了更好的入侵机会。而且由为某些网络病毒提供了更好的入侵机会。而且由于参与于参与P2P网络的节点数量非常大,因此通过网络的节点数量非常大,因此通过P2P系统传播的病毒,波及范围大,覆盖面广,系统传播的病毒,波及范围大,覆盖面广,从而造成的损失会很大。从而造成的损失会很大。