摘要 本文介绍了一种基于P2P方式实现分布式HSS和S-CSCF的IMS架构,通过P2P技术对IMS网元进行均质化处理,提高了IMS的可扩展性和可靠性。
1、引言
IMS(IP multimedia subsystem,IP多媒体子系统)是3GPP在R5版本引入的一套系统,目的是在PS域提供的IP承载的基础上,为用户提供基于IP的丰富的多媒体业务。IMS系统具有端到端全IP化、系统架构模块化、业务与控制分离、与接入方式无关等多方面的技术优势。迅速获得了其他标准化组织的广泛认可,已经从最初3GPP针对移动用户定义的系统,扩展为适用于移动、固定宽带、Cable等多种接入方式的统一控制网络,被业界认为是未来基于IP电信网的核心控制层面。
经过业界多年的努力,IMS标准已经相对成熟,各主流电信设备厂家均能提供符合3GPP R6版本的IMS系列产品。全球已经部署了100多个IMS试点和试商用网络,其中AT&T、Vodafone、BT、Orange/FT、Telecom Italia、匈牙利电信等国外运营商已部署了正式商用网络。但IMS网络架构相对于互联网上的VoIP系统仍然比较复杂,对网络建设和维护的要求比较高,难于应对来自互联网方面的竞争。近年来,P2P(peer to peer)[1]技术获得了明显的进步,基于P2P的VoIP系统取得了显著的成功,例如,Skype在世界范围内得到了广泛的使用。本文将结合P2P技术的最新研究进展,借鉴IMS网络的优点提出了一种分布式的IMS实现方案。
2、从P2P到P2P-SIP
2.1 P2P概述
Napster[2]和Gnutella[3]的广泛应用引起了人们对P2P网络越来越多的关注,与传统的C/S计算模式不同的是,P2P系统中的节点既可以做服务器又可以做客户端,并且P2P利用空闲资源降低了资源共享的开销,提高了共享资源节点的自治性和系统的顽健性。同时,P2P可以分散资源,平衡网络负载,避免单点失效问题。
P2P自出现以来就被广泛应用于各个领域,比如文件共享、科学计算与协作、数据存储以及实时通信等。由于P2P的种类繁多,很多研究人员从不同角度对它们进行分类。按照P2P的发展历程可以将P2P分为非结构化和结构化。非结构化P2P系统又可以分为集中式和完全分布式的,代表分别是Napster和Gnutella。Napster是最早出现的P2P系统之一,并在短期内迅速成长起来。Napster采用了集中式的目录服务器机制,用于存放对等节点的地址信息和所保存数据的信息,能够对请求数据进行查找并返回最合适的目的节点。与Napster不同,Gnutella采用了完全分布式的策略,利用洪泛算法对数据进行查找。Gnutella无单点失效问题,可扩展性好,但是定位效率低。由于非结构化的不可扩展性,大量的研究集中在如何构造高度结构化的系统,因此,结构化P2P系统应运而生。结构化P2P系统将每个资源定位在确定的节点上,保证在有限步数内定位到资源,比如Chord[4]、CAN[5]、Pastry[6]等。
2.2 SIP协议
SIP(session initiation protocol)是一种信令协议,用于在互联网两个端点之间建立多媒体会话的控制信令,由IETF制定。SIP协议简单、可扩展性好,被很多互联网电话业务采用,成为VoIP的两大协议之一。通常情况下,两个端点使用SIP来协商一次“呼叫”,一旦协商成功,两个端点就会使用选中的方法相互交谈,这就与SIP无关。
同样是与传输和控制无关,但与P2P不同的是SIP电话系统仍然是基于C/S模式的。SIP服务器保存了用户和他的注册IP地址之间的映射关系。当某一用户发起呼叫时,SIP服务器会把请求直接转发给呼叫申请用户,或者SIP可以看作是处理过的P2P系统,这种系统通过SIP服务器状态设置超级节点(SuperNode),然后基于DNS域名解析发现节点,而不是像P2P一样通过标识符寻找节点。
随着用户的高速增长,现有SIP服务器也反映出一些不足,即C/S模式带来的单点失效和性能瓶颈问题。由此可见。使用一个P2P架构代替现有的SIP服务器状态设置,既可以提高系统的可靠性,又允许系统动态适应节点失效的情况,Skype使用P2P机制解决了这个问题。Skype网络把节点分为超级节点和普通节点,超级节点为普通节点提供注册服务,当超级节点失效时,它所管理的普通节点会注册到其他超级节点0从而避免了单点失效。
然而,P2P系统也有其自身的局限性,主要表现在各种应用都采用封闭的软件,接口是专用的而不是互通的。因此,需要提出二个开放的体系结构,可以支持各种多媒体业务,IETF借鉴P2P的机制提升SIP,提出了P2P-SIP。
2.3 P2P-SIP
P2P在VoIP和通信领域的最新发展是P2P-SIP技术。P2P-SIP是P2P和SIP技术的结合,它的目的是利用P2P的灵活性和负载均衡的特点改造原有基于SIP韵集中式呼叫控制实现架构。P2P和SIP的结合有两种方式:一种是基于P2P实现SIP,即把SIP的一个集中维护配置和控制设施用P2P变成分布式,达到降低SIP的成本和改善SIP可靠性的目的;另一种方法是在SIP上运行P2P,用SIP协议的消息传递方式实现P2P算法,其中,前者P2P和SIP之间具有较低的耦合度,实现起来更加灵活。因此,本文提出的分布式IMS架构基于P2P-SIP。
SIP电话系统是C/S结构的,如图1(a)所示,代理服务器A和B启动SIP终端,终端会在SIP服务器上注册各自的IP地址,DNS会保存用户域名和它的IP地址间的映射关系。当某节点通过A向另一节点发起呼叫时,DNS通过映射关系找到相应的代理服务器B,于是把请求转发给B,随后A和B之间通过SIP协议进行通信。可以发现,SIP电话是基于DNS域名解析来发现节点,因此存在单点失效问题。图1(b)给出了基于DHT(distributed hash table)架构代替现有SIP服务器来提高系统可靠性的架构。
图1 SIP系统架构和P2P-SIP架构比较
P2P-SIP使用大量以DHT形式互联的分布式服务器取代集中式的DNS,其作用类似于P2P系统中的超级节点。如图1(b)所示的P2P-SIP网络中,原来管理一个域的单台服务器变成多个超级节点,超级节点之间通过P2P机制互联,进行负荷分担。超级节点可以承担注册、代理和计费等功能。用户可以通过任一超级节点使用服务,并且部分超级节点的故障不会影响P2P-SIP网络的正常运行,增加新的超级节点就可以对服务器容量进行扩充,因为每个服务器的地位是对等的。
在P2P-SIP架构中,每个超级节点都是对等的,同时分为两层。上面是SIP层,处理标准的SIP信令;下面是P2P层对各个超级节点进行互联,本文采用的是基于DHT协议的结构化P2P。
3、分布式IMS架构
在3GPP定义的IMS网络架构中,使用SIP协议作为会话控制协议,但是采用了和SIP协议不同的网络架构,最突出的特点是引入了P-CSCF(代理呼叫会话控制功能)、S-CSCF(服务CSCF)、I-CSCF(互通CSCF)三个会话控制功能实体来完成会话,使用HSS来存储用户数据。
在3GPP定义的IMS网络架构中,CSCF是整个系统的控制核心,P-CSCF是IMS用户接入网络的入口点,P-CSCF把来自用户的业务请求转发到S-CSCF,由它完成业务的触发控制,所有的业务控制在归属网络完成;MGCF(媒体网关控制功能)和IMS-MGW(IMS移动媒体网关)提供IMS系统和UMTS(通用移动通信系统)网络CS域、PSTN之间的互通;MRFC(多媒体资源功能控制器)和MRFP(多媒体资源功能处理器)提供业务中所需的媒体资源以及相关的控制功能;BGCF是IMS域和电路交换域与外部网络之间的边界点。3GPP IMS网络中,无论用户处于归属网络还是拜访网络中,所有的会话控制都经过P-CSCF路由回归属网络的S-CSCF,在归属网络中完成所有的业务触发和控制。这种方式便于业务的部署,同时无论用户在哪里,都能获得统一的业务体验。
在§2分析了3GPP IMS网络的特点,虽然业界在IMS方面做了许多工作,电信设备厂家也开发了相应的产品。但是3GPP IMS网络仍然继承电信网络的传统思路,接口、协议定义严格,有比较好的可靠性和安全性,对设备的要求比较高。同时,网络的建设、维护成本比较高,很难和互联网上的类似业务竞争。通过§2.3对于P2P SIP和3GPP IMS网络的分析可发现,3GPP IMS主要优化了SIP的会话控制架构,使得整个网络的可管理性得到了保证,能够满足运营商电信级运营的要求。随着P2P技术的发展,业界提出的P2P-SIP技术能够结合P2P和SIP的优点,作者经过研究认为,可以结合P2P-SIP技术改造IMS网络,进而提高系统的会话控制效率,降低系统的复杂性。
IMS网络中采用P-CSCF、S-CSCF、I-CSCF等功能实体来完成会话控制功能,结合P2P-SIP技术可以简化IMS网络架构,简化后的网络架构如图2所示。
图2 分布式IMS网络架构
在分布式IMS架构中,每一个SuperNode都包含两类功能:基于DHT的HSS功能和基于SIP的会话控制功能。基于SIP的会话控制功能包括P-CSCF功能和S-CSCF功能,P-CSCF为用户代理接入到系统中的入口点,S-CSCF扮演归属地会话控制的角色。P-CSCF和S-CSCF的功能和3GPP IMS网络中的功能实体基本一致,但二者可以和基于DHT的HSS功能集成在一个物理实体,使得网络控制层的功能能够均质化,同时,由于分布式IMS系统中的用户签约信息存储在基于DHT的HSS中,可以使用DHT算法快速定位用户所在的SuperNode,进而可以优化网络的路由。
当用户签约的时候,基于DHT的HSS系统根据用户标识,可以是IMPU(用户公开身份)或者其他的用户标识,通过DHT定位用户归属的SuperNode,把用户相关的信息存储在对应的SuperNode中。用户的注册、会话过程中,SuperNode能够把会话请求消息路由到用户所归属的SuperNode,在用户所归属的SuperNode上完成注册、会话控制、业务触发等功能。
在用户发起呼叫的过程中,SIP会话的处理方式和IMS系统中类似,但是不同会话的路由不再使用I-CSCF和HSS来完成,而是采用基于DHT的HSS来完成。以用户代理A向用户代理B发起会话请求为例,在分布式IMS系统的会话流程如图3所示。
图3 会话控制过程
(1)户代理A向接入的SuperNodel请求建立会话。
(2)SuperNodel收到用户代理A的会话建立请求后,执行P-CSCF功能,根据注册过程中确定的绑定关系,把会话请求路由到主叫用户归属的SuperNode2上。
(3)在SuperNode2上,SuperNode2能够识别会话请求为自己所控制的用户的会话请求,执行S-CSCF功能,完成业务的触发和控制。在执行S-CSCF功能之后,SuperNode3向基于DHT的HSS功能请求被叫用户的S-CSCF功能所在的位置。
(4)根据(3)中HSS返回的信息,把会话请求路由到用户B所归属的SuperNode3。
(5)SuperNode3执行被叫侧的S-CSCF功能,完成业务的触发和控制后,把会话请求路由到被叫用户当前接入的超级节点SuperNode6。
(6)SuperNode6把会话请求转发到被叫用户代理BO
如果后续的会话过程中,不需要业务控制逻辑干预,那么用户代理A和用户代理B之间直接可以通信。如果在会话过程中,需要业务逻辑干预,那么会话控制流程保持和会话建立流程类似。
上文提出的分布式IMS系统能够结合P2P-SIP的优势,通过基于DHT的HSS系统来解决会话过程中的路由查询问题,能够简化系统的复杂性。同时,通过P2P-SIP能够把3GPP IMS网络中原来集中的HSS系统均匀地分散到系统中的各个SuperNode上,进而可以结合P-CSCF和S-CSCF功能,实现系统功能的均质化。
4、结束语
本文分析了SIP和P2P-SIP的架构和特点以及3GPP IMS网络架构的基本理念和特点,结合P2P-SIP,作者提出了一种分布式IMS。分布式IMS使用P2P-SIP优化IMS的网络的架构,把3GPP IMS系统中的HSS功能分散在多个SuperNode中,进而可以把基于DHT的HSS功能、P-CSCF和S-CSCF功能部署在一个实体中,实现网络功能的均质化。同时,在分布式IMS系统中,HSS的底层使用DHT技术查找和存储数据,能够简化原来网络中比较复杂的路由过程,提高系统的效率。
参考文献
1 郑纬民,胡进锋,代亚非等.对等计算研究概论,http://www.ccf.org.cn
2 Napster website,http://www.napster.com,1999
3 Clip2com.The gnutella protocol specification v0.4,http://rfc-gnutella.sourceforge.net/Development,2001
4 Stoica I,Morris R,et al.A scalable peer-to-peer lookup protocol for Internet applications.IEEE/ACM Transactions on Networking,2003,11(1)
5 Ratnasamy S,Francis P,et al.A scalable content-addressable network.In:Proceedings of the Acm Sigcomm 2001 Conference on Applications,Technologies Architectures,and Protocols for,Computer Communication,San Diego,CA,USA:ACM Press,2001
6 Rowstron A,Druschel P.Pastry:Scalable,decentralized object location and routing for largescale peer-to-peer systems.In:Proceedings of the IFTP/ACM International Conference on Distributed Systems Platforms (Middleware'01),Heidelberg,Germany:Springer-Verlag,2001
作者:王菁 薛海强 彭晋 魏冰 来源:泰尔网