E N D
第8章 网络新技术 8.1 VoIP 8.2 P2P
8.1 VoIP • 8.1.1 VoIP的发展背景 • 长期以来,电信服务供应商提供的话音业务都是建立于公众电话交换网(PSTN)体系结构之上的。经过多年的发展完善,PSTN已可以提供非常高质量的话音传输,并具有高连接可靠性与低丢话率等特点。然而,在每一个通话过程中,PSTN网需要为通话的双方建立独占的端到端链路,并分配一定的带宽资源。随着话音业务量的增长,就网络连接的可用带宽以及设备的承载能力而言,当前的PSTN网络负载已达到了接近饱和的状态。电信服务供应商曾试图投入巨资以增加可用带宽资源与更新设备以提高业务处理能力。但是,由于经济低迷和投资回报率减低,由此所带来的高昂运营成本使得服务供应商在日益激烈的电信服务市场竞争中难以为继。电信服务供应商也曾尝试利用VoATM技术将话音业务加载于ATM骨干网络之上,然而,一方面ATM技术的信令过程非常复杂,大大增加了网络运营管理与维护的难度;另一方面ATM技术由于自身的限制而仅能应用于骨干网络,难于推广到用户桌面,无法全面取代PSTN提供端到端的话音业务。
近年来,Internet得到了飞速发展与普及应用,而作为其核心技术的IP协议体系在数据网络架构中的统治地位已得到了广泛认同。同时,随着IP技术框架中汇聚网络研究的发展和VoIP技术的提出,数据网络运营商已开始进入传统的话音业务领域。近年来,Internet得到了飞速发展与普及应用,而作为其核心技术的IP协议体系在数据网络架构中的统治地位已得到了广泛认同。同时,随着IP技术框架中汇聚网络研究的发展和VoIP技术的提出,数据网络运营商已开始进入传统的话音业务领域。 • VoIP,即Voice over IP(通过IP包发送实现的话音业务),它是建立在IP技术上的分组化、数字化传输技术,其基本原理是:通过语音压缩算法对话音进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP网络把数据包传输到目的地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送话音的目的。
目前,VoIP在话音数据传输中主要有以下三个应用:对于个人用户的长途电话卡业务;对于企业内部的IP电话业务;不同地理范围的PSTN子网之间的骨干连接。值得说明的是,在这些应用中,VoIP技术仍只是作为一种低成本低质量的替代方案存在的,其整体话务量还远无法与PSTN相比。尽管如此,由于PSTN网络已相当老化,而进一步的发展又存在着很大的技术瓶颈,发展和完善VoIP技术以全面取代PSTN则成为当前的一个研究热点。这里需要解决的主要问题包括如何在维持低廉成本的同时提供 1)与PSTN相当的话音业务质量;2)与PSTN相当的网络承载能力以支持数量庞大的话音业务数据流;3)灵活的业务创新支持。由于IP技术是建立在无连接的,“尽力而为”的传输方式基础上的,而话音数据对诸如传输时延,网络负载以及网络安全可靠性等相当敏感,因此全面取代PSTN就需要一个完善的端到端VoIP解决方案。另外,电信服务供应商在PSTN网络上已有巨额的投入,而基于PSTN的话音业务目前仍是电信服务供应商的一个重要利润来源,从PSTN向VoIP的演进将是一个逐步迁移的过程,两种技术将可能共存一段时间,因此在当前的VoIP解决方案中还需要考虑与PSTN兼容以及互连互通的问题。
目前专家普遍认为VoIP将代表电话技术未来的方向,甚至有这样的一句话:everything is over IP(一切都将基于IP)。VoIP的确可以实现高利润,主要是因为低成本,尤其是跨国长途电话,并且它能提供诸如统一信息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等增值服务。
8.1.2 VoIP的主要优点 • VoIP技术目前还没有完全成熟,VoIP在IP话音业务提供中的应用也还处在初始阶段,其所能提供的话音业务在诸多方面还远无法与PSTN相比较。然而,凭借其灵活开放性及良好的发展势头,VoIP技术也展示了PSTN所无法比拟的鲜明特点。 • 首先,通过VoIP技术的应用可以大大降低运营商在网络管理与维护上的投入,也降低了业务成本,用户从而可以享受更为低廉的服务价格。这是因为,一方面,IP设备的价格低于程控交换机,而传输速度则超出程控交换机,这降低了设备的投入。另一方面,IP网络中可以有效的实现话音与数据的共同传输,从而使得业务运营商不必同时维护两个独立的网络。这不仅直接降低了管理成本,也间接地降低了运营商的人力资源成本。 • 其次,基于VoIP技术的IP网络可以支持更多的新型增值业务,为运营商创造新的业务来源。例如,话音与EMAIL的结合,话音与演示板结合的网络实时演示,综合话音,数据以及视频的远程视频会议等。另外,由于IP设备的灵活结构,其在网络中投入使用的周期大为缩短,使得业务供应商可以在新业务开发出来后迅速地推向市场并吸引用户。
第三,与程控交换机设备不同,IP设备具有较高的可扩展性。这样,运营商可以在初始阶段投入少量资金而建立一个适于小业务量的网络,并随着业务量的增长而逐步扩展网络设备的处理能力。例如,多个IP路由器可以以堆叠或菊花链的方式连接起来模拟成一个大型路由器而工作。这样就降低了初始投资风险,保护了运营商的利益。 • 最后,在PSTN网络中用户的呼叫独占一个连接,这样即使在一段时间内这一连接上并无话音信息通过(如对话中的沉默),资源仍不能为其它用户所用,而呼叫用户也仍需为其总连接时间付费。在VoIP网络中,一方面可以通过话音信息的压缩而有效地降低资源占用量;另一方面,不同用户通过复用的方式共享资源,沉默的连接所占用的资源可以为其它连接利用,这就大大提高了资源利用率。同时,压缩后的话音信息以IP 数据包的形式在网络中传递,业务供应商可以按照实际的数据流量收费而不是按照连接时间的长短收费,有利于降低用户的通话费用。
图13-2 VoIP传输的基本过程 8.1.3 VoIP的传输过程
8.1.4 VoIP的发展趋势 • 目前国内可以支持VOIP业务开展的主要实现形式有三种,即基于H.323协议的IP电话网络、基于会话启动协议(SIP协议)的IP电话网络和基于软交换的网络。
1. 基于H.323协议的IP电话网络. • H.323协议最早是由ITU-T提出的、一种基于不保证服务质量分组网络的会议电视标准,虽然其可以很好地满足在互联网上开展业务的要求,但它的设计思路更接近传统电信网络集中管理的原则。按照H.323协议设计的网络可以很好地承载语音和图像等多种业务,在IP电话业务刚刚兴起时,将成熟的H.323协议移植到电信网中并取得了成功。 • H.323协议的IP电话网络由网守、网关、应用服务器和后台管理等主要模块组成。其中网守负责用户呼叫的地址解析和资源管理,网关负责不同通信网络间媒体流的转换和呼叫通道的建立,应用服务器负责在基本的语音业务的基础上扩展增值业务或进行呼叫策略的管理,后台管理设备负责计费、认证、网管等功能,其基本组网结构如图1所示。 • 从上个世纪九十年代开始,各大电信运营商开始建设依据H.323协议的IP电话网络,并形成了相当的规模。基于H.323协议的IP电话网络也是目前应用最为广泛的VOIP实现技术,据统计,目前全国的国际长途业务的话务量相当部分是经由各运营商的H.323长途IP电话网络传输的。其中,中国联通建设的IP电话网在规模上是世界上最大的商用IP电话网络,每年承担着几亿分钟的国际国内长途话务量。不仅是电信运营商,国内的各大专业网络的VOIP部分基本上也都采用了H.323的技术。经过几年的实践,已积累了大量的运营管理经验。
基于H.323的IP电话网络也是目前网络结构最为完整的VOIP运营网络。国内标准为该网络规定了清晰的三级组网方式,并对其中的各个功能模块的作用进行了明确的划分。一些电信运营公司按照这一标准已经建成了覆盖全国的三级结构的IP电话网络。据估算,即使将全国的长途电话的话务量全部转移到现有的IP电话网络上,只需要扩充其接入点的网关数量,而不需要对其目前的网络结构做改动即可满足这一要求。基于H.323的IP电话网络也是目前网络结构最为完整的VOIP运营网络。国内标准为该网络规定了清晰的三级组网方式,并对其中的各个功能模块的作用进行了明确的划分。一些电信运营公司按照这一标准已经建成了覆盖全国的三级结构的IP电话网络。据估算,即使将全国的长途电话的话务量全部转移到现有的IP电话网络上,只需要扩充其接入点的网关数量,而不需要对其目前的网络结构做改动即可满足这一要求。 • 随着使用日益广泛,也发现了依据H.323协议的IP电话网络的一些问题。首先是接入段还要经过本地的PSTN/PLMN网络,不具备本地网资源的电信运营商在运营的主导权和业务实现的灵活性上受到了制约。这些运营商曾尝试直接将H.323的网关设置在用户端,但由于用户终端智能化过高,存在着可以直接绕开运营商发起呼叫等问题,因而没有成功。为此,国际标准化组织先后提出MGCP、HGCP、H.248等一系列协议标准。其核心思路就是将原有的H.323网关进行功能上的分解,使之成为负责呼叫建立控制的媒体网关控制器(MGC)和仅负责媒体流处理的媒体网关(MG)两个部分。网关功能分解后,不但避免了用户终端绕开运营商控制直接通信的问题,还将H.323网关中原先负责呼叫控制的功能独立了出来,可以开发出处理能力非常高的媒体网关控制器,便于建设覆盖整个本地网范围的IP电话网络,同时也提高了扩展增值业务时的灵活性。
2. 基于会话启动协议(SIP协议)的IP电话网络 • VoIP技术的另一个发展趋势是遵循IETF倡导的SIP协议。SIP协议在美国十分热门,近来发展很快。这是因为:①美国的互联网技术发展很快。②SIP技术发展初期的实现条件比较简单。 • 在美国充分开放的电信环境下,"简单"能带来巨大的创新诱惑和想像空间,并由此吸引了美国国内一批设备制造商和新兴运营商、服务商投入大量财力和精力。SIP技术基本上是基于动态Internet模式来建网的,它的网络不是一个多层次的网络,而是一个扁平的单层次网络,呼叫流程与PSTN网有所不同。例如,用户呼叫上海地区号码021,那么在以H.323标准组建的VoIP网上,它首先考虑如何将这个呼叫送到上海,然后再送达目的地。其寻址、组网方式与传统电话网极其相似。但在SIP网上则靠动态数据库的方式来寻址,甚至可以没有长途和短途之分。SIP模式的优点是与Internet紧密结合,适于开发新的、与互联网结合的语音应用;其缺点是在组网、管理、运营、计费方面的考虑还有待成熟,在与传统PSTN网的互联互通方面对一些非正常情况的处理还有待完善,在组建VoIP大网的实践方面,还有待积累经验。
3. 基于软交换技术的IP电话网络 • 那么,什么是软交换技术和软交换机呢?从广义上讲,所有基于分组交换(Packet Switching)技术的话音业务电信级解决方案均可归为软交换技术。从技术实现上讲,H.323和SIP均可归为软交换技术。软交换技术和概念是相对于传统TDM的"硬"技术和概念而来的。所以,软交换的概念是伴随着VoIP技术的发展一起成长和成熟的。H.323和SIP技术代表着两种相对独立、平行的发展趋势,是两种相对完善的具有语音业务信令体系的系统。VoIP网关可以分解为单纯的媒体网关MG和媒体网关控制器MGC,以便集中控制和管理。其间的控制协议是MGCP。 • MGCP只是设备控制协议,不是一种独立的VoIP信令体系技术。MGCP只是作为H.323和SIP两种系统体系的补充协议而存在。 • 软交换机是软交换技术的一种具体实现。从狭义上讲,人们开始习惯将把以MGCP为控制手段的媒体网关控制器MGC的功能稍加扩大扩宽后称之为呼叫代理或软交换机。MGCP软交换机在原来的媒体网关控制器的基础上加入了一些新的综合业务,如计费、配置业务管理等,因此MGCP软交换机并没有带来技术上的革命。事实上,这只是软交换技术和实践的一种体现。基于MGCP的软交换机也必须明确支持VoIP"局间"信令体制,以便互联与组网。采用非开放标准的MGCP软交换机是不适合组成电信级的VoIP网的。所以,严格意义上讲,可用的标准MGCP软交换机也可以称为H.323/MGCP软交换机或SIP/MGCP 软交换机。
除此之外,软交换机可采用H.323和SIP来控制带有呼叫智能VoIP网关,从而产生H.323软交换机和SIP软交换机,但由于H.323和SIP的的分布性和多机结构的特性,我们一般称其为软交换系统。而将MGCP软交换机称其为单体(Monolithic)软交换机。除此之外,软交换机可采用H.323和SIP来控制带有呼叫智能VoIP网关,从而产生H.323软交换机和SIP软交换机,但由于H.323和SIP的的分布性和多机结构的特性,我们一般称其为软交换系统。而将MGCP软交换机称其为单体(Monolithic)软交换机。 • MGCP单体软交换机的优点是,它的设备软件结构趋向于传统的交换机,便于集中式管理。它的弱点是,它不像H.323/SIP那样把智能推向边缘,而是高度集中。高度集中带来的问题就是软交换机的性能,功能和价格会在大网实践中有不小挑战。更值得注意的是其增值业务和组网依赖于软交换机,不适宜于互联网应用。基于此,MGCP软交换机只适宜于应用于局部,如果完全采用MGCP软交换机构建电信级大网,将造成以软交换机为中心来组网的可能,其灵活性、扩展性、业务一致性和性能价格比将难以满足中国运营商的实际要求。为此,思科公司针对中国提出了下一代VoIP网络以分布式软交换网络为核心,以软交换系统和软交换机为辅的组网原则。
8.1.5 VOIP配置实例 • 在企业网络中推广IP语音技术有很多优点,例如可以控制数据流量,保证语音质量,充分利用企业租用的数据线路资源,节省长途话费等等。企业使用IP语音技术可以将语音、数据和多媒体通信融合在一个集成的网络中,并在一个企业解决方案中,把专网和公网连接起来。 • 某公司有两个分公司,分布在北京和上海,为节省长途话费,公司决定将VoIP 集成到现有的IP网络。因为VoIP是一种实时性要求很高的应用,为了成功使用VoIP,应有一个性能较高的端到端网络。仔细调整网络,使之能合适地支持VoIP 有关的一系列协议和功能,符合服务质量(QoS)、通信形式等要求,以保证语音连接的可靠性。为了配置IP 网络用于传送实时语音数据流,需要考虑整个网络的情况,然后选择和配置合适的QoS 工具对在网络上的语音传送进行优化,这些工具包括:资源预留协议RSVP、多PPP链路交叉技术、RTP头压缩技术、队列技术等。公司决定通过RSVP技术来提供通信质量保证。
由于Cisco始终坚持开放的IP电话战略,从数据包基础设施层、呼叫控制层到业务应用层,每层都可以通过开放、基于标准的接口连接。因此这样的VoIP解决方案可以跨越骨干网和接入技术差别,为不同的企业开展VoIP应用带来方便。VoIP模块可以不断添加,可节省很多投资,其灵活性和模块化结构使得企业可以不断提供要求更高的服务。在2600和3600系列路由平台上,Cisco提供了新型的H.323关守功能,该关守功能除提供策略管理功能外,还提供地址分辨、带宽管理、网关支持、用户鉴别以及账户记录。H.323关守在局域网和广域网上均可实现对基于H.323的语音、视频及数据会议话务流量的策略管理功能。由于Cisco始终坚持开放的IP电话战略,从数据包基础设施层、呼叫控制层到业务应用层,每层都可以通过开放、基于标准的接口连接。因此这样的VoIP解决方案可以跨越骨干网和接入技术差别,为不同的企业开展VoIP应用带来方便。VoIP模块可以不断添加,可节省很多投资,其灵活性和模块化结构使得企业可以不断提供要求更高的服务。在2600和3600系列路由平台上,Cisco提供了新型的H.323关守功能,该关守功能除提供策略管理功能外,还提供地址分辨、带宽管理、网关支持、用户鉴别以及账户记录。H.323关守在局域网和广域网上均可实现对基于H.323的语音、视频及数据会议话务流量的策略管理功能。 • 公司决定使用Cisco 2611和1750来实现两个分公司之间的点对点voip连接。要实现VoIP语音通信,需要对路由器进行配置,使之支持语音端口。一般来说,语音端口命令定义相应的语音端口的信号类型特性,Cisco 2600 系列的语音端口支持三种基本的语音信号类型:FXO(长途交换电话局端口)、FXS(长途交换工作站端口)、E&M(“RecEive and TransMit” 端口或“Ear and Mouth”端口)。 • 公司采用通过RSVP的 FXS-to-FXS 连接实现VoIP应用,下面是2611(Beijing)路由器和1750(Shanghai)路由器的配置。
2611(Beijing)路由器上的配置: • Beijing #sh run • Building configuration... • Current configuration: • ! • version 12.0 • !设定Debug跟踪日志显示其时间 • service timestamps debug uptime • !设定看Log时显示其时间 • service timestamps log uptime • !口令不加密 • no service password-encryption • !主机名 • hostname Beijing
!特权secret 密码 • enable secret 5 $1$R.66$z.BUjhNsJcIr8KCcS9uxG. • ! 配置模拟语音端口 • voice-port 1/0/0 • cptone CN • ! 配置模拟语音端口 • voice-port 1/0/1 • cptone CN • ! 配置POTS拨号对等体 • dial-peer voice 1 pots • destination-pattern 26111 • port 1/0/0 • ! 配置POTS拨号对等体 • dial-peer voice 2 pots • destination-pattern 26112 • port 1/0/1
! 配置VoIP 拨号对等体 • dial-peer voice 3 voip • !为拨号对等体分配电话号码,以2611开头,其中.为通配符 • destination-pattern 1750. • ! 定义Voip路由,172.16.1.37为对端的IP地址 • session target ipv4:172.16.1.37 • !请求RVSP • req-qos guaranteed-delay • ! IP优先级,5为关键 • ip precedence 5 • !配置串口 • interface Serial0/0 • description "Link to ShangHai by CNC lease line" • ip address 172.16.1.36 255.255.255.252 • no ip directed-broadcast • no ip mroute-cache • no fair-queue
! 激活RSVP • ip rsvp bandwidth 48 48 • interface Ethernet0/1 • no ip address • no ip directed-broadcast • no ip route-cache • shutdown • ! • ip classless • ip route 0.0.0.0 0.0.0.0 172.16.1.37 • ip http server • line con 0 • transport input none • line aux 0 • !允许用telnet登录,口令为cisco • line vty 0 4 • password cisco • login • ! • end
1750路由器上的配置: • shanghai#sh run • Building configuration... • Current configuration: • ! • version 12.0 • !设定Debug跟踪日志显示其时间 • service timestamps debug uptime • !设定看Log时显示其时间 • service timestamps log uptime • !口令不加密 • no service password-encryption • !主机名 • hostname shanghai • !特权secret 密码 • enable secret 5 $1$R.66$z.BUjhNsJcIr8KCcS9uxG.
! 配置串口 • interface Serial0/0 • description "Link to Beijing by CNC lease line" • ip address 172.16.1.37 255.255.255.252 • no ip directed-broadcast • no ip mroute-cache • no fair-queue • ! 激活RSVP • ip rsvp bandwidth 48 48 • ! • ip classless • ip route 0.0.0.0 0.0.0.0 172.16.1.36 • ip http server
! 配置模拟语音端口 • voice-port 0/0 • cptone CN • ring frequency 50 • ! 配置模拟语音端口 • voice-port 0/1 • cptone CN • ! 配置POTS 拨号对等体 • dial-peer voice 7 pots • destination-pattern 17501 • port 0/0 • ! 配置POTS拨号对等体 • dial-peer voice 8 pots • destination-pattern 17502 • port 0/1
! 配置VoIP 拨号对等体 • dial-peer voice 9 voip • ! 定义电话话码以2611开头的 • destination-pattern 2611. • session target ipv4:172.16.1.36 • !请求RVSP • req-qos guaranteed-delay • codec g729ulaw • ! IP优先级,5为关键 • ip precedence 5 • no vad • line con 0 • transport input none • line aux 0 • !允许用telnet登录,口令为cisco • line vty 0 4 • password cisco • login • ! • end
8.2.1 P2P的发展背景 8.2 P2P与即时通信软件 • P2P(Peer-to-Peer)这个词如果仅仅理解为一种网络拓扑结构,那不能称之为新鲜事物,因为早在许多年之前Internet刚刚诞生时就已经有了,而且当时的Internet就是一个P2P结构的大网络。人们之间完全是以“点-点”方式通讯的,根本不存在现在所谓的Server和Client。这可以看作是P2P最原始的形式。 • 经过几十年的发展,Internet上的资源逐渐丰富起来,并呈现爆炸式增长的态势。而与此同时,资源的流向却趋于集中化,大量公开的资源以所谓的Server形式在Internet上提供,网络应用也多以集中化方式提供服务,这种B(Browser)/ S(Server)或C(Client)/S结构的应用模式要求必须在网络内设置一个服务器,信息只有通过服务器才可以传递。信息或是先集中上传到服务器保存,然后再分别下载(如网站),或是信息按服务器上专有规则(软件)处理后才可在网络上传递流动(如邮件)。
不可否认,这种集中化的发展大大促进了Internet的普及与应用,成就了今天Internet的神话。然而,在这个唯一全球互联的网络上,集中化的方式使服务缺少个性,并充满着浓烈商业气息,人们每天机械地访问几个熟悉的门户网站的Web Server,去Mail Server上收发Email,到各种FTP Server去下载文件,就连人们喜欢的ICQ、QQ等即时通信也是基于典型的Client/Server模型。今天的Internet已经完全“笼罩”在Server的控制中。 • 我们不否认Server对于Internet发展的重要贡献,但应该看到,Server集中式的服务方式有许多技术弊端。一个最主要的问题就是资源无法得到充分利用。Internet最大的特点是全球互联,在Internet上最大的资源拥有群不是Server而是Client。可以说Client才是Internet的主体。有资料统计,全球Server提供的资源加在一起还不足Internet资源总量的1%,也就是说最多最好的资源实际上是存在于我们每一个人的PC中。随着硬件水平的发展,现在的PC无论是性能还是功能已经远远超越了原先对PC的定义。许多PC可以提供大容量的存储能力和高速的计算能力。人们迫切希望能打破Server的垄断,在Internet上拥有属于自己的空间。P2P技术正是基于这个目标而诞生的。
P2P技术不同于前面所说的基于Server的应用技术,它是基于P2P拓扑结构发展起来的一项新型网络通讯技术。从诞生之日起,P2P的宗旨就是要打破Server垄断,提供Server所不能提供的功能,弥补Server的不足,并充分利用和丰富现有的Internet资源。也就是说P2P不是要从根本上废除Server,在相当长的一段时间内,会与Server并存而共同发展。因此,从技术上讲,P2P技术一般都是基于成熟的TCP/IP协议的,并且借鉴Server应用中许多成熟的技术。从层次上划分,P2P应该属于网络应用层技术,与Web和FTP等应用是并列的。然而,P2P技术又比这些应用要复杂的多。P2P技术不同于前面所说的基于Server的应用技术,它是基于P2P拓扑结构发展起来的一项新型网络通讯技术。从诞生之日起,P2P的宗旨就是要打破Server垄断,提供Server所不能提供的功能,弥补Server的不足,并充分利用和丰富现有的Internet资源。也就是说P2P不是要从根本上废除Server,在相当长的一段时间内,会与Server并存而共同发展。因此,从技术上讲,P2P技术一般都是基于成熟的TCP/IP协议的,并且借鉴Server应用中许多成熟的技术。从层次上划分,P2P应该属于网络应用层技术,与Web和FTP等应用是并列的。然而,P2P技术又比这些应用要复杂的多。 • P2P非常强调一个词:Serverless。Serverless的提出意味着P2P技术将Internet服务提供方式划分为3种,完全基于Server(Server-based),少量借助Server(with-Server),完全脱离Server(non-Server)。P2P主要面向后两种情况。微软对Serverless这个词的解释是:“No server, but works better with server”。这或许是对Serverless概念比较精妙的概括。
“少量借助Server”这种方式是现在比较常见的P2P解决方案。像曾惹来广泛争议的Napster、现在欧美非常流行eDoney&eMule,以及我国P2P迷开发的Jelawat、Workslink等都属于这类产品。目前这类产品多以文件共享服务为主,并兼有简单即时通信功能。这种方式的一个主要特点是,Server的功能已经远远退化,一般只作为Index Server使用,提供所有Peer以及之上各种文件列表查找索引服务。 • “完全脱离Server”方式是P2P研究的重点和难点,也是P2P技术最终的目标。这种方式完全不需要Server的存在,所有Peer都是平等的,在P2P网络中所有的资源按照某种规则共享,同时任何Peer可以在任何时候在任何地点加入到某个P2P网络群体中。而这一切都根本不需要Server的配合和支持,当然works better with server。 • 从基础技术角度看,P2P不是新技术,而是新的应用技术模式。
8.2.2 P2P的关键技术 • 1. 关键技术 • P2P是一种基于互联网环境的新的应用型技术,主要为软件技术。 • (1) 对于互联网上众多计算机,P2P应用比其他应用要更多考虑那些低端PC的互联,它们不具备服务器那样强的联网能力,同时对于以往的P2P应用技术,现在的硬件环境已经更为复杂,这样在通信基础方面,P2P必须提供在现有硬件逻辑和底层通信协议上的端到端定位(寻址)和握手技术,建立稳定的连接。涉及的技术有IP地址解析、NAT路由及防火墙。 • (2) 在应用层面上,如果两个Peer分别代表两家不同的公司,而且它们已经通过互联网建立连接,那么一方的信息就必须为另一方所识别,所以当前互联网上关于数据描述和交换的协议,如XML、SOAP、UDDI等都是一个完善的P2P软件所要考虑的。 • (3) 有通信就要有安全保障,加密技术是必须要考虑的。 • (4) 其他需考虑的有如何设置中心服务器,如何控制网络规模等。
3. P2P技术特性 • (1) 既是S又是C,如何表现取决于用户的要求,网络应用由使用者自由驱动。 • (2) 信息在网络设备间直接流动,高速及时,降低中转服务成本。 • (3) 构成网络设备互动的基础和应用。 • (4) 在使网络信息分散化的同时,相同特性的P2P设备可以构成存在于互联网这张大网中的子网,使信息按新方式又一次集中。
8.2.3 P2P的代表产品 • (1) ICQ类的即时通信软件。两个或多个用户互相使用文字、语音或文件进行交流,快速、直接,易于同非PC网络设备(如PDA、手机)通信,而且它不依赖设备即可辨别用户。由于利用P2P技术可以弱化甚至摆脱对中央服务器的依赖,这样的通信更接近非互联网通信模式。 • (2) Farsite(Microsoft),Ocean Store类数据存储软件。用于在网络上将存储对象分散化存放,而不像现在放于专用服务器。这样减轻了服务器负担,增加了数据的可靠性和传输速度。 • (3) Napster类软件。实现数据共享,使用者可以直接从任意一台安装同类软件的PC上下载及上载文件,而不是从服务器。用户可以检索、复制共享的文件。软件自动发现最新的文件列表,发布者无需担心发布的问题。 • (4) Infrasearch、Pointera类数据搜索及查询软件。用来在P2P网中完成信息检索。一旦形成P2P专用网,其上的数据搜索与现在互联网中数据存在中央服务器的情况有所不同,必须要考虑动态地将当前P2P网络中各个Peer的内容进行收集,并且要有效地向用户传递。 P2P网用户中相当数量在联网方式上不同,专线、拨号、宽带、窄带都会碰到; 联网的时间可以一个是24小时在线,而另一个完全可能仅联机几十分钟; 使用的操作系统也不一定相同。
(5) Netbatch(Intel)类协同计算软件。可联接近1万台PC,利用它们的空闲时间进行协同计算,完成超计算量的工作(如空间探测,分子生物学计算,芯片设计)。 • (6) Groove 类数据或行动协同软件。它是基于P2P连接的软件工具,可以建立一个安全的企业级协同工作平台(P2P网),提供供求信息链上的互动信息沟通,如货品目录、库存及发货清单,帮助使用者进行经销渠道维护、客户服务和支持。 • (7) 游戏软件。事实上许多网络游戏均是P2P方式的,尤其是那些双人及多人对弈游戏。
8.2.4 P2P技术的应用前景 • P2P技术带来的诸多好处是显而易见的,最大的好处就是资源将得到充分利用和最大化的共享,并且P2P技术还加强和改进了许多原有的应用。Microsoft列举了几种应用情景:
实时通讯 • Instant Messaging(IM)在当今全球已经变得相当普遍。国外的ICQ、Yahoo Messenger、MSN Messenger以及国内的QQ等都已经吸引了大量用户使用。IM之所以能成为当今Internet上最受欢迎的应用,主要是因为它满足了人们对于通讯实时性的要求。然而,目前IM软件还是基于C/S模型设计的,用户的帐号、好友列表等信息都保存在Server上,甚至用户有时发出的消息也需要Server帮助转发。如果服务商的Server坏掉了或者正在检修,许多功能就会在一定时间内无法使用。Serverless型的IM基本不需要Server的支持,只要人们以某种形式(如:Workgroup)形成了P2P网络互联,就可以相互之间识别并通讯,中间过程无需Server的帮助。这不但会大大降低IM应用提供商的运营成本,而且减少人们对于Server稳定性的依赖。无论你是在Internet上,还是在独立的公司局域网上,甚至是在家中,都可以随时组成P2P网络进行通讯。
实时比赛和游戏 • 网络游戏的发展速度同样是惊人的,而且现在新推出的游戏大都提供连线对战功能。然而与即时通信应用相似,基于C/S模型的连线对战同样需要性能强劲的游戏服务器支持。虽然也有许多游戏支持局域区连线对战,但如果我们想和海外的高手对战来一争高低又不得不约他们到指定厂商的Server上,造成许多麻烦和不便。P2P技术允许任何Peer可以单独建立区域型的P2P网络,可以让Internet上的任何人随时加入到其中,共同游戏娱乐。
协同工作 • “协同工作”的概念现在越来越受到推崇和重视,一个很重要的原因就是现在的项目规模不断扩大,仅靠两三个人的力量是根本无法胜任的。而要很好地实现“协同工作”就必须有相应的软件支持。在Office的各个组件中,已经开始加入了“协同工作”的功能,在Visual Studio.NET里也引入了相应的功能,但这些仍然是基于C/S模型的“协同工作”。P2P技术实现的协同工作是无需Server支持的,而且同样可以组合成一个个Workgroup,在之上共享信息、提出问题、商讨解决方案等,提供更好的“协同工作”能力。 • File sharing已经相当普遍了,上面说的诸如eDonkey、eMule等都已经实现了这方面功能。但P2P技术真正想提供的是一种无Server的File sharing能力。我们如果想和远在美国的几个朋友分享一个MP3音乐文件,使用eDonkey等软件来Transfer这个文件是十分麻烦的,因为这些软件只提供全局共享能力。如果使用P2P技术开发的File Sharing软件,只要十分简单地形成一个P2P网络,就可以互相看到对方共享的文件,并随时下载,而且这种File sharing比现在的方式更加出色。而且这些是不需要Server的支持的。
共享体验 • 随着Wireless应用的普及,移动设备上网并收发MMS等应用已经变得不新鲜了,但对无线业务稍有了解的人都应该知道,我们的MMS还都是需要运营商Server的转发才能实现的。你有没有想过当你遇到一个令你激动的情景,只需要用手机的摄像头对准它,就可以将这个情景以Video的形式直接传送到你的朋友们那里,而这些看似只有在科幻电影中才有的镜头,在P2P技术中是完全可以方便地实现的。
内容分发 • Netmeeting中的White Board功能许多人应该都使用过,包括Chatroom中的聊天功能也都支持许多人一起聊天,所有人都能看到聊天信息。但这同样必须有Server在中间做存储转发才可以实现,而且许多Server都有聊天时间和聊天信息多少的限制,不能一直都挂在网上并随时看到所有的聊天信息。P2P可以实现一个Workgroup中7*24小时在线互联,并且随时分发通话的信息。新加入到这个Workgroup中的人还可以看到以前的信息。这是Server-based的Chat应用很难实现的。
音频和影像 • 现在十分流行的基于网络的电视电话会议应用也很普遍,在许多场合都发挥着重要的作用。而这种系统大都是由主会场的一台Server做中央控制服务器,将主会场的音频和视频信号压缩编码后通过有线或无线网络不断发送出去,到达分会场后再解码播放。如果想看到分会场的情况,必须不断地将分会场的信号传回主会场的中央Server,由它再分发到其他分会场。可以看出这个中转过程中浪费了不少网络传输资源。但这是基于C/S模型无法避免的弊端。P2P技术使所有的会场都处于平等的地位。一个会场的信号会同时广播到所有的会场,会议系统只需要通过切换不同的接收信号,就可以收到所有会场的情况。
分发产品升级补丁 • 产品推出后经常需要打补丁以解决发现的BUG或安全隐患,如Microsoft的Service Packs或Update。然而目前打补丁的方法基本上采用让用户自己下载网站上发布的补丁包,自行安装补丁的方法。这会造成许多问题,最严重的问题就是用户对补丁包的真伪不得而知,有时下载的补丁包实际是个大木马或者大病毒。这会给用户带来难以估量的损失。尽管有些软件已经提供自动升级能力,但基于Server补丁下载模式仍然没有变,同样会带来对Server稳定性和安全性的依赖。P2P技术使产品的分发变得十分简单,所有拥有这种产品的人会自动形成一个Workgroup,并且有严格的身份认证。产品厂商随时在这里提供升级补丁服务,而P2P技术会使你的电脑在不知不觉中完成打补丁和各种升级服务。
分布式计算 • 分布式计算是当前计算领域一个热门的研究课题,也是P2P技术的高级应用。如何将一个大任务分解为许多个小任务,并通过网络分发到所有Workgroup中的电脑上进行计算,最后将结果统一汇总到一台电脑上,是分布式计算的一个主要的应用。这种想法的初衷是因为现在的PC计算能力已经大大加强,分布于世界各地的无数台PC拥有巨大的“计算潜能(Computing Potential)”。如何开采这部分潜能,使之共同协作完成就连巨型计算机都无法在短期完成的计算任务,是许多计算机科学家孜孜以求的目标。P2P技术为完成分布式计算提供了很好的平台。当然真正实现良好的分布式计算还需要许多技术的共同配合才能完成,P2P只是核心技术中的一种,但应该看到应用P2P技术实现分布式计算的应用正在慢慢实现,许多大公司如IBM、Intel都希望在这一领域有所作为而正在加紧实验。
整合计算资源 • “网格计算(Grid Computing)”的概念许多人都应该听说过,我国中科院也在这一领域做出了许多重要的研究成果。“网格计算”的核心思想就是要最大限度地利用闲置的网络资源,达到“积跬步以成千里,积小流以成江海”的巨大计算资源汇集效应。有人曾做过比喻:“如果你出门在外,家中的暖气是被浪费的热能,如果将一个城市中这些热能集中起来,不亚于一个小型发电站”。这种应用在高能物理、核物理、气象、水文、太空研究等海量计算领域有巨大的应用前景。而这恰恰是P2P技术擅长的地方。
改良和增强现有的Internet技术 • NAT现在应用十分普遍,特别是在局域网和Internet互联上更是发挥了重要的作用。然而导致NAT技术和其他类似地址转发技术出现的根本原因是由于IPV4的地址已经即将分配完。没有足够的IP地址为所有的电脑分配全球唯一的IP标识。因此不得不采用NAT等技术进行地址的翻译和转发。虽然通过端口映射等技术手段在NAT上实现内部电脑与Internet上电脑的间接互联也是可行的,但P2P技术为我们提供了更加直接和便捷的互联方式。由于P2P技术是基于IPV6协议的,而IPV6的地址分配量是一个惊人的天文数字。在这样一个“可以为地球上的每一粒砂子分配一个IP地址”的环境里,每一台电脑甚至每一个灯泡和开关都可以拥有IP地址。难怪有人会开玩笑说,P2P技术可以使你在美国用手机控制你中国家里的厨房顶灯。在P2P技术支持下这的确不只是幻想。
8.2.5 P2P技术发展中的问题 • 世界上的一些事物都有其缺点,P2P技术也不例外。从诞生那天起,P2P就与版权问题、安全问题和盈利问题有着千丝万缕的联系。如果说版权问题可以通过法律手段加以规定和限制来解决,盈利问题可以通过构建良好的盈利模型加以克服的话,那么安全问题就是现在P2P发展过程中最亟待解决的核心问题。由于P2P允许全球的电脑互联,这其中难免会有不怀好心的人,他们利用网络和P2P系统的漏洞,有可能攻入到用户的电脑中,窃取重要的机密信息,甚至进行破坏,给用户造成难以估量的损失。在Server时代通过严密的Firewall都很难从根本上杜绝恶意攻击,那么在P2P时代通过何种技术来最大限度阻止这一切的发生,已经成为当今各个P2P研究机构头等重要的课题。
目前解决安全问题的基本思路是“Authorization(授权、认证)”。通过建立一个个基于比较完善的加密机制而形成的Workgroup,对进入该Workgroup的PC加以严格的身份检验和授权,以达到保护Workgroup自身安全的目的。当然,如果要实现比较坚实的P2P安全体系,还需要许多安全技术的配合才能得以实现,不是简单的一两种技术就可以完成的。目前解决安全问题的基本思路是“Authorization(授权、认证)”。通过建立一个个基于比较完善的加密机制而形成的Workgroup,对进入该Workgroup的PC加以严格的身份检验和授权,以达到保护Workgroup自身安全的目的。当然,如果要实现比较坚实的P2P安全体系,还需要许多安全技术的配合才能得以实现,不是简单的一两种技术就可以完成的。 • 应该看到,安全问题对于P2P技术的发展至关重要,可以说关系P2P的成败。在这样一个日益注重网络安全的时代,如何实现“可信赖计算”是摆在所有P2P研究人员面前的头等大事。我们衷心希望不远的将来,在美好的P2P时代,我们都能在P2P网络中简单、愉快、安全的进行各种计算活动,一起感受P2P给我们带来的全新的体验。
8.2.6 几款流行的即时通信软件 • 应该说,P2P代表了即时通信软件的主流和方向,下面介绍几款即时通信软件,几乎都应用了P2P技术。
1. BT • BitTorrent(简称BT)是一个多点下载的源码公开的P2P软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。其特点简单的说就是:下载的人越多,速度越快。 BitTorrent 下载工具软件可以说是一个最新概念 P2P 的下载工具、它采用了多点对多点的原理,一般简称 BT,也就是大家所说的变态下载。该软件相当的特殊,一般我们下载档案或软件,大都由 HTTP 站点或FTP 站台下载,若同时间下载人数多时,基于该服务器频宽的因素,速度会减慢许多,而该软件却不同,恰巧相反,同时间下载的人数越多你下载的速度便越快,因为它采用了多点对多点的传输原理。
1. MSN • MSN Messenger 是微软公司推出的即时消息软件,凭借该软件自身的优秀的性能,目前在国内已经拥有了大量的用户群。使用MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机。MSN Messenger 界面简洁,易于使用,是与亲人、朋友、工作伙伴保持紧密联系的绝佳选择。使用您已有一个Email地址,即可注册获得免费的MSN Messenger的登录账号。如果您拥有hotmail 或者MSN的邮件账号,那么,您就可以使用该账号直接登录MSN Messenger ,而无需再申请新的账号了。利用MSN Messenger进行个人的即时通信和群体的群发这些功能将会保留在新的版本中。另外,MSN Messenger 6.0还会加入聊天背景,并可以保存聊天记录。