IMS(IP Multimedia Subsystem)是IP多媒体子系统的简称,是第三代合作伙伴计划(The 3rd Generation Partnership Project,3GPP)在通用移动通信系统(Universal Mobile Telecommunication System,UMTS)R5标准版本中正式提出的,其目的是将核心网络统一到全IP的网络结构上,并实现固定网络和移动通信网络的融合,是下一代网络(Next Generation Network,NGN)的发展方向士2]IMS被看作是更“软”的软交换系统,软交换实现了承载和控制的有效分离,技术进一步分解了控制层功能,网络架构因此变得更加灵活、开放,是独立于接人技术的提供IP多媒体业务的体系架构,被公认为是固定与移动网络融合的基础。JMS具有如下技术特点:基于会话初始协议(Session Initiation Protocol,SIP)的会话控制,水平体系架构,与接人无关,业务与控制分离,提供丰富而动态的组合业务。一4]。
在NGN的框架中,终端和接人网络是各种各样的,而其核心网络只有一个,即IMS,它的核心特点是采用SIP协议和与接人的无关性。为顺应网络(l)化的趋势,IMS系统采用SIP协议作为唯一的会话控制协议。IP技术是互联网的主导技术,在互联网上的应用已经非常成熟,其优点是可以快捷灵活地提供各种信息类服务,并且有较好的业务开放性和可开发性。
但是IP技术固有的缺点则不能忽视,其在数据传输的安全跬和计费控制方面无法适应ms业务的要求。
传统的电信网络采用独立的信令网来完成呼叫的建立、路由和控制等过程,信令网的安全能够保证网络的安全。而且传输采用时分复用(Time Division Multiplexing,TDM)的专线,用户之间采用面向连接的通道进行通信,避免了来自其他终端用户的各种窃听和攻击。而IMS网络与互联网相连接,基于IP协议和开放的网络架构可以将语音、数据、多媒体等多种不同业务,通过采用多种不同的接人方式来共享业务平台,增加了网络的灵活性和终端之间的互通性。正是由于IMS是建立在IP基础之上,也使得WIS的安全性要求比传统运营商在独立网络上运营要高得多,不管是由移动接人还是固定接人,IMS的安全问题都不容忽视。因此,IWIS用户终端(User Equipment,(E)接人到IMS核心网需经一系列认证和密钥协商过程,这个过程即用户注册业务国。IMS的注册业务主要由呼叫会话控制器(CAII Session Control Function,CSCF)、应用服务器(Application Server,(S)、接人网控制器(Access Gateway Control Function,AGCF)和归属用户服务器(HomeSubscriber Server,HSS)等网元完成〔6一7」
1IMS用户注册
IMS用户注册过程包括初始注册、刷新注册和注销,根据用户类型又分为支持3GPP的SIP用户终端发起的注册和AGCF代理注册。AGCF需要代理接人的公共电话交换网(Public Switched Telephone Network,PSTN)等固网用户和不支持3GPP的SIP用户等向IMS注册[8],IMS用户注册网络结构图如图1所示。
SIP用户终端发起的注册和AGCF代理注册流程基本相同,区别在于SIP用户经过代理CSCF(Proxy—CSCF,P一CSCF)注册,而AGCF代理注册直接向查询CSCF(Interrogating一CSCF,I一CSCF)发起注册
1.1 AGCF代理初始注册ms中的位置管理通过用户的注册来完成。注册的目的是让服务CSCF(Serving一CSCF,S一CSCF)能准确地知道用户当前的位置和状态。传统终端接人网关(Access GateWay,AGW)等设备通过PI接口向AGCF注册后,AGCF需要代理这些设备向IMS注册。AGCF代理初始注册过程如图2所示。
AGCF代理初始注册流程简述如下:
(1)AGCF代理传统终端设备向I一CSCF发起注册(REGISTER)消息。
(2)一(3)I-CSCF向HSS查询提供用户服务的S—CSCFO
(4)I一CSCF将REGISTER消息转发给S一CSCFO
(5)一(7)S-CSCF向H请求鉴权向量集,并(18)一(19)S-CSCF向I一CSCF发回注册成功选择1个鉴权向量。200 OK响应,并转给AGCFO
(8)一(9)S-CSCF向I-SCCF返回401未鉴权1·2 AGCF代理刷新注册消息(携带鉴权挑战字),并转给AGCFO用户注册后,当其需要更新当前的注册或是改
(10)一(11)AGCF根据鉴权挑战字计算挑战结变当前的注册状态时,用户可以发起应用层的刷新果,并发起带鉴权挑战结果的REGISTERO注册请求,目的为保持用户当前的注册状态,也需要
(12)一(13)I-CSCF向HSS查询提供用户服在当前注册的注册时长(EXPIRE)过期之前进行刷务的S一CSCFO新注册。刷新注册时用户在初始注册时已经获取了
(14)I-CSF将REGISTER消息转发给S-CSCFO鉴权挑战字并计算出了挑战结果,故刷新注册携带
(15)对挑战响应进行鉴权。鉴权挑战结果,S一CSCF直接对刷新注册进行鉴
(16)一(17)通知HSS用户已注册,并从HSS获权,然后由s一CSCF更新用户注册时长即可。
AGCF代理刷新注册流程简述如下:
(1)AGCF代理传统终端设备向I一CSCF发起注册(REGISTER)消息。
(2)一(3)l-CSCF向H查询提供用户服务的S-CSCF0
(4)l-将消息转发给S-
(5)s一SCCF判断用户已经注册,根据s一CSCF上的用户注册信息直接进行注册鉴权并更新用户注册时长。
(6)一(7)S-CSCF向I-CSCF发回注册成功
200 OK响应,并转给AGCFO
1·3 AGCF代理注销
IWIS用户注销为刷新注册的特例,即注册请求中EXPIRE值为0的刷新注册。AGCF代理注销流程与1.2代理刷新注册相同。
2存在问题
AGCF在固网设备融合到IMS的过程中具有重要作用。它具有接人网关控制功能,接人传统窄带用户到IWIS网络中。AGCF以Mw接口与IMS CSCF设备交互,同时充当MGC功能以PI等接口与住户网关(Residential GateWay,AGW/RGW)等传统固定终端交互。
传统固定终端用户通过AGCF接人MS网络的流程如下:传统终端AGW等设备通过PI接口向AGCF注册,AGW在AGCF上注册成功后,AGCF代理AGW终端下的用户向MS网络的C F设备发送SIP注册请求,注册成功后,CXF返回200 OK应答,200 OK里携带了注册有效期EXPIREO AGCF根据EXPIRE值定时代理AGW用户向CSCF发送刷新注册请求,以保持用户在网络中的注册状态。刷新注册时间在3GPP里有建议,3GPP建议的算法如下:如果E IRE>1200,刷新时间为当前时间+EXPIRE—600;如果EXPIRE<一1200,刷新时间为当前时间+EXPIRE/2。
当IWIS网络中大量终端同时发送注册请求时,就会形成注册消息流量集中发送,由于IMS核心网无法及时处理这些报文,导致报文反复重传使得整个网络的压力像滚雪球一样越来越大,从而对IMS核心网造成雪崩风暴,业界称其为注册风暴[“。而AGCF代理注册由于是瞬间集中大批量注册,比普通IMS用户的注册时间更加集中,往往会造成非常严重的注册风暴,给CSCF、AS和HSS等网络设备造成巨大的压力。在实际应用中,由于运营商需要AGCF代理的用户短时间内就在CSCF上注册成功,故AGCF代理初始注册风暴是不可避免的,且初始注册风暴在一段时间内一般只出现1次;而刷新注册风暴则是持续的,这会大大加大IMS核心网的系统负荷。刷新注册风暴的产生主要有以下2个原因:
(1)AGCF重启:初始注册200 OK里的EXPIRE值往往都是相同的,就会导致用户的刷新注册时间也集中在短时间段内。在1个EXPIRE时间周期内,AGCF和CSCF用户刷新注册的工作负荷严重不均衡。
(2)AGCF接人的多个AGW网关不在同一时间注册,这些AGW网关注册的时间恰好间隔1个或多个EXPIRE周期,AGCF代理用户发起初始注册时间是受AGW网关注册时间决定的。因此这种情况也会导致AGCF用户刷新注册集中在EXPIRE周期的某一短时间段内,从而导致工作负荷不均衡。
3技术解决方案
3·1刷新注册负荷均衡算法
根据3GPP建议的刷新注册时间算法,AGCF代理刷新注册的注册风暴是客观存在的,但这是运营商和设备制造商不能忍受的,鉴于以上问题,本文提出一种在IMS网络中,AGCF代理用户刷新注册负荷均衡的方法。AGCF代理用户初始注册成功后,第1次刷新时间不采用3GPP的算法计算,而是利用随机分布算法把刷新时间散列在EXPIRE周期内,从而达到负荷均衡的目的。
AGCF上电时,初始化一个EXPIRE大小的统计数组。数组下标从0到EXPIRE一1,每个数组元素都是1个计数器,记录有多少用户刷新注册时间落在EXPIRE周期内每一秒上。AGCF刷新注册统计数组示意图如图4所示。
数组下标0 1 2注册时长一1图4 AGCF刷新注册统计数组示意图
AGCF代理用户发起初始注册,初始注册请求中携带相同的EXPIRE协商值,CSCF接受AGCF建议的EXPIRE,并在初始注册2佣OK中返回,AGCF收到初始注册的200 OK后,在EXPIRE时间段内取1个随机值,判断((当前时间十随机值)MOD EXPIRE)对应的下标数组元素的统计值是否超过了平均值,如果没有超过,就把当前时间+随机值作为此用户的第1次刷新注册时间。如果对应下标数组元素的统计值超过了平均值,则在EXPIRE时间段重新获取1个随机值,并判断对应数组元素的统计值。每个用户最多可以尝试获取5次随机值,如果5次尝试之后还没有找到低于平均值的随机时间点,就用最后1个随机值+当前时间作为第1次刷新时间,同时对应数组下标元素统计值加1。
AGCF只针对第1次刷新注册时间做随机散列,每个用户后续的刷新注册时间按3GPP的建议算法计算。
(1)从图中初始注册时间点开始,AGCF把图中的Tr时间段作为此用户的第1次刷新散列区间。Tr=EXPIRE—Th—Tt0 Th和Tt二个时间段长度可配置,用来防止散列后的刷新时间太早或太迟。
(2)AGCF在Tr时间段随机获取一个时间点Tf,然后以()f Mod EXPIRE)为数组下标,判断ArrayC()f Mod EXPIRE)]的统计值是否超过平均值Avo Av=初始注册总数/EXPIRE+5。
(3)如果Array((Tf Mod EXPIRE)]小于Av,则用Tf作为此用户的第1次刷新时间,并把Array C()f Mod EXPIRE))统计值加1,初始注册总数加1。
(4)如果ArrayC()f Mod EXPIRE))大等于Avo AGCF返回(2)步重新在Tr时间段内获取一个随机的时间点Tfo如果5次随机时间点都不能满足(3)的条件,则用第5次的随机时间点Tf5作为此用户的第1次刷新时间,并把ArrayC(Tf5 Mod EXPIRE))统计值加1,初始注册总数加1。
(5)通过刷新负荷均衡算法计算刷新时间结束。
3·2改进后的AGCF代理注册流程
图6为根据刷新注册负荷均衡算法设计的AGCF代理注册流程图,具体说明如下:
(1)AGCF上电时初始化刷新注册统计数组。
(2)AGW网关在AGCF上注册成功。
(3)AGCF代理AGW网关下的用户向CSCF发送初始注册请求,请求中携带3GPP协议建议的注册时长,即每个用户的注册消息中携带的EXPIRE都相同
(4)CSCF返回200 OK注册应答,应答中返回相同的EXPIRE值。
(5)AGCF收到CSCF的200 OK后,不采用3GPP协议建议的刷新注册时间,根据3·1节中刷新注册负荷均衡算法计算出用户第一次刷新注册时间。
(6)用户第一次刷新注册时间到达后,AGCF向CSCF发送代理刷新注册请求,请求中携带正常的EXPIRE值
(7)CSCF返回200 OK注册应答,应答中返回相同的EXPIRE值。
(8)AGCF收到CSCF的200 OK后,采用3GPP协议建议的刷新注册时间。
(9)AGCF根据3GPP协议建议的刷新注册时间进行后续代理刷新注册。
(10)CSCF返回200 OK注册应答。
4结束语
文章介绍了IMS固网设备融合组网中AGCF代理注册业务流程及其存在的问题,针对AGCF代理注册引发的刷新注册风暴进行分析,提出了一种代理注册业务负荷均衡算法,根据这种算法可以使AGCF代理注册的刷新注册时间均衡分布,从而避免了AGCF代理注册对IMS核心设备的频繁、持续的网络冲击。文章针对AGCF代理注册业务提出的负荷均衡算法不仅适用于其他代理注册场景,也同样适用于代理订阅业务,为解决IWIS系统中代理注册订阅、业务订阅和呼叫转移通知订阅等业务的刷新订阅风暴提供了一种重要技术参考。
大客户
微信
置顶