Sip服务器过载保护系统及方法

文档序号:7869203阅读:555来源:国知局
专利名称:Sip服务器过载保护系统及方法
技术领域
本发明涉及IP语音(VOIP)通信技术领域,尤其涉及VOIP通信中对SIP (会话初始协议)服务器的过载保护技术。
背景技术
随着统一通信技术的发展,VOIP应用的需求日益增多,其提供的服务也丰富多样,包括了语音、视频、即时消息、群组会话和个人呈现状态等等;这些应用带来了沟通上的方便,然而也面临一个潜在的问题,目前VOIP应用中最常用的实现技术是采用SIP协议。在VOIP应用中,一般包括SIP终端和SIP服务器,一般一个SIP服务器可连接多的SIP终端,当某一 SIP终端发起关于某一应用业务的SIP请求后,SIP服务器进行处理并响应。当SIP终端并发访问量较大时,SIP服务器由于处理繁忙,响应会变得缓慢;同时若SIP终端再发出重传响应的请求,则又进一步加重SIP服务器的负担,响应变得更慢,此时整个系统虽然仍然处于繁忙工作,然而对外可能已经呈现出无响应状态,从而对用户的使用和用户体验造成严重影响。

发明内容
本发明所要解决的技术问题是提出一种SIP服务器过载保护系统及方法,通过分析SIP服务器可能出现的过载情况,通过采取相应的保护措施,避免SIP服务器出现不可用的情况。本发明解决上述技术问题所采用的方案是SIP服务器过载保护系统,包括过载保护装置,所述过载保护装置用于分别与至少一个SIP终端和至少一个SIP服务器相连,用于配置与各类SIP业务的SIP请求消息进行匹配的保护策略,当接收到SIP请求消息时,将该SIP请求消息与配置的 保护策略进行匹配,根据匹配结果再对SIP服务器的过载情况进行判断后,根据判断结果决定是否执行相应处理机制。进一步,所述过载保护装置包括策略管理模块,用于提供策略配置界面,供用户配置对各类SIP请求消息进行匹配的保护策略,生成包含多项保护策略的策略表;连接跟踪模块,用于创建对接收到的SIP请求消息进行跟踪的跟踪表将该SIP请求消息与策略表中的保护策略进行匹配,建立SIP请求消息和SIP响应消息的对应关系;过载保护模块,用于根据SIP请求匹配的保护策略,对SIP服务器当前是否过载进行判断,根据判断结果决定是否对本次SIP请求执行相应处理机制。进一步,所述过载保护装置还包括缓存加速模块,用于对SIP服务器返回的SIP响应消息进行缓存,在判断出当前SIP请求消息为与该SIP响应消息对应的SIP重传请求时,直接向SIP终端返回该SIP响应消息。进一步,所述保护策略的内容包括
业务匹配项,用于根据设定的业务匹配参数与不同SIP业务的SIP请求消息进行匹配;业务优先级项,用于标识与本项保护策略匹配的SIP业务的优先级;业务过载检测项,用于为过载保护模块提供识别SIP服务器当前是否过载的检测参数。具体的,所述业务匹配参数包括SIP请求源IP地址和/或SIP请求目的IP地址和/或SIP请求目的端口和/或SIP请求消息中的请求方和/或接收方和/或业务类型。所述用于为过载保护模块提供识别SIP服务器当前是否过载的检测参数包括额定最大处理时间Tmax和检测延时时间Twin,额定最大处理时间Tmax和检测延时时间Twin, Tmax表示与本项保护策略相匹配的所有SIP请求消息在正常情况下,经过SIP服务器处理到返回响应信息需要花费的最大处理时间;Twin表示与本项保护策略相匹配的所有SIP请求消息对应的SIP响应时间持续超过Tmax的最长允许时间。进一步,所述过载保护模块还用于,为每一项保护策略相匹配的所有SIP请求消息建立一个接收时间表,并在所述接收时间表中记录对应的SIP响应消息的接收时间,当判断一项保护策略所匹配的所有SIP消息在持续的Twin内超过Tmax未收到对应的SIP响应消息,则为该项保护策略设置过载标志,将低于设置过载标志的保护策略的业务优先级的SIP请求消息丢弃。此外,本发明的另一目的还在于提出一种SIP服务器过载保护方法,应用于包括过载保护装置的SIP服务器过载保护系统中,该方法包括以下步骤a、利用过载保护装置中的策略管理模块配置用于对各类SIP业务的SIP请求消息进行匹配的保护策略,形成 包含多项保护策略的策略表;b、当过载保护装置接收到SIP消息时,连接跟踪模块利用跟踪表项对该SIP消息进行跟踪;C、连接跟踪模块判断该SIP消息是否为SIP请求,如果是,则进入步骤d,否则进入步骤e ;d、连接跟踪模块触发缓存加速模块判断是否已经缓存与该SIP请求相应的响应信息,如果已经缓存,则直接向SIP终端返回响应信息,结束流程,如果未缓存,则进入步骤e ;e、连接跟踪模块查找策略表,判断策略表中是否有与该SIP请求消息匹配的策略,如果有与该SIP请求消息匹配的策略,则触发过载保护模块对SIP服务器当前是否过载进行判断,根据判断结果决定是否执行相应处理机制;如果没有与该SIP请求消息匹配的策略,则直接放行或丢弃该SIP请求消息。进一步,步骤e中,所述触发过载保护模块对SIP服务器当前是否过载进行判断,根据判断结果决定是否执行相应处理机制的具体方法是所述过载保护模块利用策略表,为每一项保护策略相匹配的所有SIP请求消息建立一个接收时间表,并在所述接收时间表中记录对应的SIP响应消息的接收时间,当判断一项保护策略所匹配的所有SIP消息在持续的检测延时时间Twin内超过额定最大处理时间Tmax未收到对应的SIP响应消息,则为该项保护策略设置过载标志,将低于设置过载标志的保护策略的业务优先级的SIP请求消息丢弃,直至检测延时时间Twin内的所有SIP请求的响应时间都未超出额定最大处理时间Tmax,则取消该保护策略的过载标志,恢复低优先级的SIP请求消息的放行。进一步,所述步骤b中,连接跟踪模块利用跟踪表项对该SIP请求消息进行跟踪的具体方法是,连接跟踪模块接收SIP终端某一 SIP事务的SIP请求消息后,为该SIP请求消息创建跟踪表,通过分析SIP事务层的ID,在跟踪表中建立SIP请求消息和SIP响应消息的对应关系。本发明的有益效果是通过在SIP终端与SIP服务器之间增设过载保护装置,配置与各类SIP请求消息对应的保护策略,当接收到SIP请求消息时,对该SIP请求消息进行跟踪并匹配到相应的保护策略,再对SIP服务器的过载情况进行判断,从而根据判断结果决定是否执行相应处理机制,避免SIP服务器处理不了大量的请求导致无法提供服务的情况出现。


图1为本发明的SIP服务器过载保护装置在实际应用中的网络拓扑图;图2为本发明实施例的SIP服务器过载保护装置的实施例的结构示意图;图3为本发明实施例的SIP服务器过载保护方法的实施例流程图。
具体实施例方式本发明公开一种SIP服务器过载保护系统及方法,通过分析SIP服务器可能出现的过载情况,通过采取相应的保护措施,避免SIP服务器出现不可用的情况。该SIP服务器过载保护系统在实际应用中如图1所述,其与至少一个SIP终端和至少一个SIP服务器相连,可以对I个或多个SIP服务器提供过载保护,避免SIP服务器处理不了大量的请求导致无法提供服务的情况。 该SIP服务器过载保护系统,包括过载保护装置,所述过载保护装置与至少一个SIP终端和至少一个SIP服务器相连,用于配置与各类SIP业务的SIP请求消息进行匹配的保护策略,当接收到SIP终端发送的SIP请求消息时,将该SIP请求消息与配置的保护策略进行匹配,根据匹配结果再对SIP服务器的过载情况进行判断,根据判断结果决定是否执行相应处理机制。图2给出了本发明实施例的过载保护装置的一种实施例,其包括策略管理模块201、连接跟踪模块202、缓存加速模块203和过载保护模块204 ;其中策略管理模块201 :用于完成保护策略的配置功能。提供用户配置界面,将用户配置的保护策略设置到系统的策略表中。所述保护策略的内容包括业务匹配项,用于根据设定的业务匹配参数与不同SIP业务的SIP请求消息进行匹配;业务优先级项,用于标识与本项保护策略匹配的SIP业务的优先级;业务过载检测项,用于为过载保护模块提供识别SIP服务器当前是否过载的检测参数。(I)业务匹配项用于用于根据设定的业务匹配参数与不同SIP业务的SIP请求消息进行匹配,匹配的条件可以有多种,常用的业务匹配参数包括SIP请求源IP地址和/或SIP请求目的IP地址和/或SIP请求目的端口,如果需要进行更加细致的匹配,可以对SIP请求的发起方和/或SIP请求的接收方和/或SIP业务类型(即Method)等进行匹配。业务匹配参数灵活组合使用,以满足不同的场景需求。(2)业务优先级项用于标识与本项保护策略匹配的SIP业务的优先级,当检测到SIP服务器业务处理繁忙即过载时,系统总是丢弃优先级低的业务,保障高优先级业务的服
务质量。(3)业务过载检测项用于识别SIP服务器业务是否过载,通常由2个配置来设定。额定最大处理时间Tmax (毫秒)和检测延时时间Twin (毫秒)。Tmax表示当前策略所匹配的SIP业务,在正常情况下,经过SIP服务器处理直到返回响应消息,需要花费的最大处理时间(通常该值应该小于SIP业务的第一次重传间隔时间)。如果在实际环境中,检测到处理时间大于Tmax时,即认为此次业务请求出现了过载的情况额定最大处理时间Tmax表示本项策略所关联的SIP请求消息在正常情况下,经过SIP服务器处理到返回响应信息需要花费的最大处理时间;当某个SIP业务报文的处理响应时间超过了 Tmax时,则认为这个SIP业务报文发生了过载,然而仅仅发生了一次过载并不能断定服务器出现了真正的过载,需要结合Twin参数进行检测;Twin表示检测延时时间,当检测到该检测延时时间内的SIP请求都出现过载时候,则判断为当前SIP服务器过载了,相关过载保护机制就会被启动。策略表是一个顺序列表结构,按照SIP业务优先级的优先级从高到低的顺序排列。一个策略列表构成一个保护单元,系统中可以存在多个策略列表,以实现对多个SIP服务器的保护,其中,策略的优先级只在当前策略表中有效,不同策略列表之间的优先级一般没有可比性。连接跟踪模块202 :用于创建对接收到的SIP请求消息进行跟踪的跟踪表将该SIP请求消息与策略表中的保护策略进行匹配,建立SIP请求消息和SIP响应消息的对应关系。其工作在IP层,用于跟踪每一个SIP事务,一个SIP事务由SIP请求消息和SIP响应消息组成。连接跟踪模块为每一个SIP请求消息在跟踪表中建立一个表项进行跟踪,用于后继的处理。同时连接跟踪模块也维护这个表项,删除已经过期的表项,释放内存,提升处理效率。连接跟踪模块根 据预先配置的SIP保护策略,建立SIP请求消息与保护策略的对应关系;同时通过分析SIP事务层的ID,建立其SIP请求消息和SIP响应消息的对应关系。对于无法匹配任何策略的报文,连接跟踪模块根据缺省策略管理直接放行或则丢弃,对于匹配策略的报文,将交给缓存加速模块进行后继的处理。连接跟踪模块在具体实现上可以利用linux netfiIter框架来实现,在FORWARD链上进行报文的截获、分析、处理。为了加快SIP请求消息(请求/响应)与连接跟踪表项的匹配,实现中需要采用hash表的结构加快查找速度。缓存加速模块203 :用于对SIP服务器返回的SIP响应消息进行缓存,在判断出当前SIP请求消息为与该SIP响应消息对应的SIP重传请求时,直接向SIP终端返回该SIP响应消息。借助连接跟踪模块,将SIP请求的响应消息缓存下来,并记录在连接跟踪表项的cache成员中,用于处理后继的重传请求。对于有对应的响应消息的SIP请求,则直接向SIP终端返回响应信息,结束流程,如果未缓存,则将SIP请求消息交给过载保护模块。过载保护模块204 :用于根据SIP请求匹配的保护策略,对SIP服务器当前的是否过载进行判断,根据判断结果决定是否对本次SIP请求执行相应处理机制。过载保护模块为每一条保护策略,建立一张以“SIP请求”接收时间顺序排列的链表,并在所述接收时间表中记录对应的SIP响应消息的接收时间,通过分析最近检测延时时间“Twin”内的所有SIP请求,如果该时间延时内的所有SIP请求响应时间都超过了额定响应时间“Tmax”,那么认为该SIP服务器过载了,则为该项保护策略设置过载标志,将低于设置过载标志的保护策略的业务优先级的SIP请求消息丢弃。则取消该保护策略的过载标志,恢复低优先级的SIP 请求消息的放行。
如图3所示,本发明实施例中的SIP服务器过载保护方法,应用于上述图2中所示的过载保护装置中,采用以下步骤实现
步骤301,利用过载保护装置中的策略管理模块配置用于对各类SIP业务的SIP请求消息进行匹配的保护策略,形成包含多项保护策略的策略表。
步骤302、当过载保护装置接收到SIP消息时,连接跟踪模块利用跟踪表项对该 SIP消息进行跟踪。本步骤中,连接跟踪模块利用跟踪表项对该SIP请求消息进行跟踪的具体方法是,连接跟踪模块接收SIP终端某一 SIP事务的SIP请求消息后,为该SIP请求消息创建跟踪表,通过分析SIP事务层的ID,在跟踪表中建立SIP请求消息和SIP响应消息的对应关系。
步骤303,连接跟踪模块判断该SIP消息是否为SIP请求,如果是,则进入步骤 304,否则进入步骤305。
步骤304,连接跟踪模块触发缓存加速模块判断是否已经缓存与该SIP请求对应的响应信息,如果已经缓存,则直接向SIP终端返回响应信息,结束流程,如果未缓存,则进入步骤305。
步骤305、连接跟踪模块查找策略表,判断策略表中是否有与该SIP请求消息匹配的策略,如果有与该SIP请求消息匹配的策略,则触发过载保护模块对SIP服务器当前是否过载进行判断,根据判断结果决定是否执行相应处理机制;如果没有与该SIP请求消息匹配的策略,则直接放行或丢弃该SIP请求消息。本步骤中,所述触发过载保护模块对SIP服务器当前是否过载进行判断,根据判断结果决定是否执行相应处理机制的具体方法是所述过载保护模块利用策略表,为每一项保护策略相匹配的所有SIP请求消息建立一个接收时间表,并在所述接收时间表中记录对应的SIP响应消息的接收时间,当判断一项保护策略所匹配的所有SIP消息在持续的检测延时时间Twin内超过额定最大处理时间Tmax未收到对应的SIP响应消息,则为该项保护策略设置过载标志,将低于设置过载标志的保护策略的业务优先级的SIP请求消息丢弃,直至检测延时时间Twin内的所有SIP请求的响应时间都未超出额定最大处理时间Tmax,则取消该保护策略的过载标志,恢复低优先级的SIP 请求消息的放行。
权利要求
1.SIP服务器过载保护系统,其特征在于,包括过载保护装置,所述过载保护装置与至少一个SIP终端和至少一个SIP服务器相连,用于配置与各类SIP业务的SIP请求消息进行匹配的保护策略,当接收到SIP终端发送的SIP请求消息时,将该SIP请求消息与配置的保护策略进行匹配,根据匹配结果再对SIP服务器的过载情况进行判断,根据判断结果决定是否执行相应处理机制。
2.如权利要求1所述的SIP服务器过载保护系统,其特征在于,所述过载保护装置包括策略管理模块,用于提供策略配置界面,供用户配置对各类SIP请求消息进行匹配的保护策略,生成包含多项保护策略的策略表;连接跟踪模块,用于创建对接收到的SIP请求消息进行跟踪的跟踪表将该SIP请求消息与策略表中的保护策略进行匹配,建立SIP请求消息和SIP响应消息的对应关系;过载保护模块,用于根据SIP请求匹配的保护策略,对SIP服务器当前的是否过载进行判断,根据判断结果决定是否对本次SIP请求执行相应处理机制。
3.如权利要求2所述的SIP服务器过载保护系统,其特征在于,所述过载保护装置还包括缓存加速模块,用于对SIP服务器返回的SIP响应消息进行缓存,在判断出当前SIP请求消息为与该SIP响应消息对应的SIP重传请求时,直接向SIP终端返回该SIP响应消息。
4.如权利要求1-3任一项所述的SIP服务器过载保护系统,其特征在于,所述保护策略的内容包括业务匹配项,用于根据设定的业务匹配参数与不同SIP业务的SIP请求消息进行匹配;业务优先级项,用于标识与本项保护策略匹配的SIP业务的优先级;业务过载检测项,用于为过载保护模块提供识别SIP服务器当前是否过载的检测参数。
5.如权利要求4所述的SIP服务器过载保护系统,其特征在于,所述业务匹配参数包括SIP请求源IP地址和/或SIP请求目的IP地址和/或SIP请求目的端口和/或SIP请求消息中的请求方和/或接收方和/或业务类型。
6.如权利要求5所述的SIP服务器过载保护系统,其特征在于,所述用于为过载保护模块提供识别SIP服务器当前是否过载的检测参数包括额定最大处理时间Tmax和检测延时时间Twin,Tmax表示与本项保护策略相匹配的所有SIP请求消息在正常情况下,经过 SIP服务器处理到返回响应信息需要花费的最大处理时间;Twin表示与本项保护策略相匹配的所有SIP请求消息对应的SIP响应时间持续超过Tmax的最长允许时间。
7.如权利要求6所述的SIP服务器过载保护系统,其特征在于,所述过载保护模块还用于,为每一项保护策略相匹配的所有SIP请求消息建立一个接收时间表,并在所述接收时间表中记录对应的SIP响应消息的接收时间,当判断一项保护策略所匹配的所有SIP消息在持续的Twin内超过Tmax未收到对应的SIP响应消息,则为该项保护策略设置过载标志, 将低于设置过载标志的保护策略的业务优先级的SIP请求消息丢弃。
8.SIP服务器过载保护方法,应用于包括过载保护装置的SIP服务器过载保护系统中, 其特征在于,该方法包括以下步骤a、利用过载保护装置中的策略管理模块配置用于对各类SIP业务的SIP请求消息进行匹配的保护策略,形成包含多项保护策略的策略表;b、当过载保护装置接收到SIP消息时,连接跟踪模块利用跟踪表项对该SIP消息进行跟踪;C、连接跟踪模块判断该SIP消息是否为SIP请求,如果是,则进入步骤d,否则进入步骤e ;d、连接跟踪模块触发缓存加速模块判断是否已经缓存与该SIP请求对应的响应信息, 如果已经缓存,则直接向SIP终端返回响应信息,结束流程,如果未缓存,则进入步骤e ;e、连接跟踪模块查找策略表,判断策略表中是否有与该SIP请求消息匹配的策略,如果有与该SIP请求消息匹配的策略,则触发过载保护模块对SIP服务器当前是否过载进行判断,根据判断结果决定是否执行相应处理机制;如果没有与该SIP请求消息匹配的策略, 则直接放行或丢弃该SIP请求消息。
9.如权利要求8所述的SIP服务器过载保护方法,其特征在于,步骤e中,所述触发过载保护模块对SIP服务器当前是否过载进行判断,根据判断结果决定是否执行相应处理机制的具体方法是所述过载保护模块利用策略表,为每一项保护策略相匹配的所有SIP请求消息建立一个接收时间表,并在所述接收时间表中记录对应的SIP响应消息的接收时间,当判断一项保护策略所匹配的所有SIP消息在持续的检测延时时间Twin内超过额定最大处理时间 Tmax未收到对应的SIP响应消息,则为该项保护策略设置过载标志,将低于设置过载标志的保护策略的业务优先级的SIP请求消息丢弃,直至检测延时时间Twin内的所有SIP请求的响应时间都未超出额定最大处理时间Tmax,则取消该保护策略的过载标志,恢复低优先级的SIP请求消息的放行。
10.如权利要求8或9所述的SIP服务器过载保护方法,其特征在于,所述步骤b中, 连接跟踪模块利用跟踪表项对该SIP请求消息进行跟踪的具体方法是,连接跟踪模块接收 SIP终端某一 SIP事务的SIP请求消息后,为该SIP请求消息创建跟踪表,通过分析SIP事务层的ID,在跟踪表中建立SIP请求消息和SIP响应消息的对应关系。
全文摘要
本发明涉及网络通信领域中的对SIP服务器的过载保护技术,其公开了一种SIP服务器过载保护系统,该系统,包括过载保护装置,过载保护装置,所述过载保护装置用于分别与至少一个SIP终端和至少一个SIP服务器相连,用于配置与各类SIP业务的SIP请求消息进行匹配的保护策略,当接收到SIP请求消息时,将该SIP请求消息与配置的保护策略进行匹配,根据匹配结果再对SIP服务器的过载情况进行判断后,根据判断结果决定是否执行相应处理机制。此外,本发明还公开了相应的SIP服务器过载保护方法,适用于对SIP服务器的过载保护。
文档编号H04L29/08GK103036885SQ20121055174
公开日2013年4月10日 申请日期2012年12月18日 优先权日2012年12月18日
发明者权吉欢 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1