计算机网络发展演化过程是在集中和分布之间摆动。早期的计算机使用模式是众多用户共享大型计算机,以后发展了个人计算机,从集中走向分布。在互联网上存在类似情况,开始采用客户机(浏览器)-服务器方式,使用网站上集中的服务器。进一步发展将走向分布式,集中的服务器将变成分布的,每一个用户终端既是客户机又是服务器,这就是对等连接peer to peer(简称P2P)模式。
近年来,互联网上P2P业务发展迅速,已经成为宽带互联网业务的主流。P2P技术将各个用户互相结合成一个网络,共享其中的带宽,共同处理其中的信息。与传统的客户机——服务器模式不同,P2P工作方式中,每一个客户终端既是客户机又是服务器。以共享下载文件为例,下载同一个文件的众多用户中的每一个用户终端只需要下载文件的一个片段,然后互相交换,最终每个用户都能得到完整的文件。
第一代P2P网络采用中央控制网络体系结构(如图1所示)。早期的Napster就采用这种结构。它采用快速搜索算法,排队响应时间短,使用简单的协议能够提供高性能和弹性,缺点是容易中断服务。
图1 第一代P2P网络采用中央控制网络体系结构
第二代P2P 采用分散分布网络体系结构(如图2所示)。不再使用中央服务器,消除了中央服务器带来的问题。没有中央控制点,不会因为一点故障导致全部瘫痪,是真正的分布式网络。由于每次搜索都要在全网进行,造成大量网络流量,使得其搜索速度慢,排队响应时间长。用户PC性能及其与网络连接方式决定网络弹性和性能。这种模式具有自组织( ad-hoc) 行为, 降低了拥有者的成本,提供可扩展性。特别适合在自组织( ad-hoc)网上的应用,如即时通信等。
图2 第二代P2P 采用分散分布网络体系结构
第三代P2P 采用混合网络体系结构(如图3所示)。这种模式综合第一代和第二代的优点,用分布的超级结点取代中央检索服务器。采用分层次的快速搜索改进了搜索性能,缩短了排队响应时间,每次排队产生的流量低于第二代分布网络。超级智能结点的布设提供高性能和弹性。没有中央控制点,不会因为一点故障导致全部瘫痪。
图3 第三代P2P 采用混合网络体系结构
内容被分布存储在分布的存储器和客户终端中。通过快速检索系统可以快速发现内容分布存储的位置。目前常用的P2P 软件有BT, edonky和Gnutella等,这些软件采用“快速追踪”技术构成P2P网络,有着许多传统客户机-服务器网络所没有的优点。技术上不但可以大大的减少文件搜寻的时间,更重要的是可以不用昂贵的中央控制硬件设备(服务器等)。这种P2P网络使用终端本身电脑的处理能力,网络处理能力随着终端使用者人数增长而增加。
第四代P2P目前正在发展中。主要发展技术有动态口选择和双向下载。动态口选择:目前P2P使用固定的口,但是一些公司已经开始引入协议可以动态选择传输口,一般来说,口的数目在1024-4000之间。甚至P2P流可以用原来用于HTTP(SMTP)的口80(25)来传输以便隐藏。这将使得识别跨运营商网络的P2P流,掌握其流量变得更困难。双向下载:eD和BT等公司进一步发展引入双向流下载。可以多路并行下载和上载一个文件或多路并行下载一个文件的一部分。而目前传统的体系结构要求目标在完全下载后才能开始上载。这将大大加快文件分发速度。
以上演化的四代P2P系统都属于“无组织的P2P重叠网”,在互联网得到快速发展,目前宽带用户流量中一半以上是这种P2P流。
而学术界目前在研究的是“有组织的P2P重叠网”。包括Tapestry 、Chord 、Pastry和CAN 等。正在研究的新一代的P2P应用包括多播、网络存储等都运行在这种有组织P2P重叠网上。
2.P2P应用
目前应用主要有三大类,如图4所示。
图4 P2P应用和智能结点重叠网
(1).P2P内容共享
包括共享文件下载BT,edonkey Gnutella、搜索和检索Bearshare、内容分发、网络存储和对等广播Peercasting等。网络存储充分发挥互联网无所不在的优势,移动电话、PDA、笔记本电脑、台式机、电视机、各种家电和传感器等可以通过各种有线或无线接入连接网络取得服务。
(2).P2P通信协作包括协同工作、互联网电话、即时通信S和移动通信
P2P即时通信系统 IM采用对等连接模式P2P,消息格式使用 XML具有效的报到管理,可以提供异步、并行、可靠和近似实时通信。支持移动报到管理和移动即时通信。使用IETF 标准保证互通互用。
(3).P2P协同计算包括协作计算、网格和数据内容网格
网格GRID和 P2P协作的基本概念非常相似都是资源共享,但是使用技术不同。网格的目的是利用网络资源进行大规模高性能计算,其利用的网络资源包括超级计算机、集群、专门设备、大规模数据库等。网格需要制定组织级的协议用于资源共享,安全和性能是关键问题。采用基于PKI + X.509证书的鉴权和可编程中间件用于高性能计算。而P2P协作利用的网络资源是个人计算机和存储的数字内容等,对资源进行分散控制,允许匿名接入。主要优点是可测量性。
采用P2P 和Grid融合产生数据内容网格,用P2P技术建立数据网格是最有吸引力和实际的方法。综合P2P技术建立内容网格,在网格中数据、内容是自动分布的,用户可以接入最近的数据。
视频内容网格,以分布式存储提供视频点播业务。
(4).P2P将开创网络媒体新时代
电视视频节目除现场直播以外,都是事先录制好存储在服务器中的。点播是一种工作模式,但是它占用网络资源太多。P2P为网络电视媒体提供了一个新的工作模式,用户可以先用P2P方式下载内容存储在自己的计算机中,再回放观看。
3. P2P需要IPv6
目前的IPv4互联网由于IP地址不够,大量采用专用地址和网络地址变换器NAT ,其结果是隐藏了谁是信息的发送者的信息。而P2P 要求能够识别发送者,使用“实名制”才能建立诚信安全的网络社会。只有IPv6 能够做到这点。建立IPv6网将为发展P2P应用提供安全、可靠和廉价的网络运行环境。
在IPv6 网上运行p2p不再需要使用NAT能够控制功能和逻辑,可以简化网络设计。对于运营商而言不再需要考虑NAT及其软件之间的兼容性,在远端不需要服务器将使设计、可以降低运营负担。
总之,运行和成本与使用IPv4和NAT时相比要低。
在IPv6网实现 P2P VPN (如图5所示)
图5 IPv6网上的P2P VPN
适用于各种通信模式: 客户机-服务器、对等连接P2P、移动安全即时通信、即时连接、保证端到端的安全。IPsec策略服务器按需要为对接每一方提供策略文件,设置非常简便:只需要在 web上注册 。
4.应对Peer to Peer业务挑战
P2P已经成为宽带的杀手级应用。P2P应用围绕IP音频和视频文件共享快速发展。目前P2P应用占宽带流量50-60%(白天)到90%(晚上),企业用户的40%。
如何识别和控制P2P流,如何版权保护和制止色情内容流通成为企业网络管理员和接入运营商的烦恼。目前正开展各种方法的研究,例如在运营商网络服务器中缓冲P2P流以减少外出流量等。