保活nat设备中会话表项的方法和系统的制作方法

文档序号:7970145
专利名称:保活nat设备中会话表项的方法和系统的制作方法
技术领域
本发明涉及通讯技术领域,特别涉及一种保活NAT设备中会话表项的方法和系统。
背景技术
IMS(IP Multimedia Subsystem,IP多媒体子系统)是3G移动网络在3GPP(3rd GenerationPartnership Project,第三代移动通讯合作项目)的赞助下首先提出来的一种支持IP多媒体业务的技术,目前已经扩展到有线网络中,成为固网和移动网络的一个关键技术。它建立在SIP(Session Initiation Protocol,会话初始化协议)之上,SIP是基于IP的NGN(Next GenerationNetwork,下一代网络)的通信控制的关键技术。IMS是和服务及应用相关的,它使电信公司、移动经营者和其他服务提供商能通过下一代包交换网络来提供丰富的多媒体服务。参见图1,在实际应用中,SIP一般是由位于私网下的IP网络电话UE(User Equipment,用户终端)通过NAT(Network Address Translation,网络地址转换)、A_BGF(Access Border GatewayFunction,接入边界网关功能)等设备注册到核心网P_CSCF(Proxy-Call Session ControlFunction,代理呼叫会话功能)上,注册成功后得到一条注册路径UE-NAT-A_BGF-P_CSCF。由于NAT、A_BGF等均是基于流转发的设备,这就决定了UE的注册路径的唯一性。因为涉及到NAT的穿越,所以如何保持注册路径的畅通显得十分重要。
在NAT和A_BGF等流转发设备存有多个用于流转发的表项-session(会话)表项,转发报文时需要先根据Key(索引)值(源IP地址、目的IP地址、源端口、目的端口以及协议号)来查找session表项,找到相应的session表项即命中session表项后,根据session表项中的目的IP地址再查找相应的FIB(Forwording Information Base,快速转发表)表项得到出接口索引,查找相应的路由表得到下一跳信息,以及查找相应的ARP(Address ResolutionProtocol,地址解析协议)表项得到目的MAC地址,通过目的IP地址、出接口索引、下一跳信息和目的MAC(Media Access Control,介质访问控制)地址来转发报文。
Session表项中包含有aging_time(老化时间)和time_stamp(时间戳)。aging_time表示该session表项老化的时间;time_stamp是一个时间计数器,开始为0,以后会不断增加;当time_stamp的值大于aging_time的时候,该session表项就会被删除。
在用户通话时间内,A_BGF和NAT设备中的session表项是否老化决定了整个注册路径是否畅通。在IMS系统中,由于A_BGF中的session表项可以由P_CSCF定时下发保活命令来保证该表项不被老化,所以如何保持NAT设备中的session表项在通话时间内不被老化就成为保持整个注册路径畅通的关键。
目前有两种现有技术保持NAT设备中的session表项不被老化。
第一种是由私网IP网络电话UE向P_CSCF发送重注册报文,当报文命中NAT设备中的session表项后,刷新session表项中的time_stamp,使该表项在通话过程中不被老化,从而保持注册路径的畅通。
这种现有技术的缺点是无法改变IP网络电话UE发送重注册报文的时间,通常这个时间是由终端厂商设定的,一般在出厂时就设定好的,所以这个时间会跟据厂商配置的不同而不同,不同的产品由于性能不同而导致了其发送重注册报文的时间也不同。
第二种是增加NAT设备中session表项的aging_time,即延长session表项的老化时间,使老化时间大于用户的通话时间,从而保证注册路径的畅通。
这种现有技术的缺点是如果把NAT设备中session表项的aging_time设定得很长,势必会影响NAT设备的性能,而且也不能保证设定后的aging_time就一定比用户的通话时间长。

发明内容
为了解决现有技术中由于NAT设备中的session表项老化导致UE注册路径不畅通的问题,本发明提供了一种保活NAT设备中会话表项的方法,具体包括以下步骤步骤AA_BGF设备根据原有的会话表项创建保活会话表项;步骤B所述A_BGF设备根据所述保活会话表项创建保活报文,并通过NAT设备向用户终端发送所述保活报文;步骤C所述NAT设备接收到所述保活报文后,根据所述保活报文刷新所述NAT设备中的会话表项。
所述步骤A具体包括步骤A1A_BGF设备读取原有会话表项的索引值,并修改其中的源端口号得到新的索引值;步骤A2所述A_BGF设备根据所述新的索引值创建保活会话表项,并将所述保活会话表项中的目的IP地址设为与原有会话表项中的目的IP地址相同的IP地址。
所述步骤A具体包括
步骤A1A_BGF设备从P_CSCF发来的保活命令中获取索引值,并修改其中的源端口号得到新的索引值;步骤A2所述A_BGF设备根据所述新的索引值创建保活会话表项,并将所述保活会话表项中的目的IP地址设为与原有会话表项中的目的IP地址相同的IP地址。
所述步骤B中的所述A_BGF设备根据所述保活会话表项创建保活报文的步骤具体为所述A_BGF设备根据所述保活会话表项中的目的IP地址查找相应的FIB表项得到出接口索引,查找相应的路由表得到下一跳信息,查找相应的ARP表项得到目的MAC地址,然后根据所述目的IP地址、出接口索引、下一跳信息以及目的MAC地址创建保活报文。
所述步骤B中通过NAT设备向用户终端发送所述保活报文的步骤具体为定时通过NAT设备向用户终端发送所述保活报文。
所述步骤C具体为所述NAT设备接收到所述保活报文后,根据所述保活报文查找到相应的会话表项,将所述会话表项中的时间戳置为0。
所述方法还包括所述A_BGF设备定时刷新所述保活会话表项的步骤。
本发明还提供了一种保活NAT设备中会话表项的系统,具体包括A_BGF设备和NAT设备,所述A_BGF设备包括(1)表项创建模块,用于根据所述A_BGF设备中原有的会话表项创建保活会话表项;(2)报文创建模块,用于根据所述表项创建模块创建的保活会话表项创建保活报文;(3)发送模块,用于通过所述NAT设备向用户终端发送所述报文创建模块创建的保活报文;所述NAT设备包括(1)接收模块,用于接收所述发送模块发来的保活报文;(2)刷新模块,用于根据所述接收模块收到的保活报文刷新所述NAT设备中的相应会话表项。
所述表项创建模块具体包括(1)索引值获取单元,用于读取所述A_BGF设备中原有会话表项的索引值,还用于修改其中的源端口号得到新的索引值;(2)表项创建单元,用于根据所述索引值获取单元生成的新索引值创建保活会话表项;(3)IP地址设置单元,用于将所述表项创建单元创建的保活会话表项中的目的IP地址设为与所述A_BGF设备原有会话表项中的目的IP地址相同的IP地址。
所述表项创建模块具体包括(1)索引值获取单元,用于从P_CSCF发来的保活命令中获取索引值,还用于修改其中的源端口号得到新的索引值;(2)表项创建单元,用于根据所述索引值获取单元生成的新索引值创建保活会话表项;(3)IP地址设置单元,用于将所述表项创建单元创建的保活会话表项中的目的IP地址设为与所述A_BGF设备原有会话表项中的目的IP地址相同的IP地址。
所述发送模块具体为定时发送模块,用于定时通过所述NAT设备向用户终端发送所述报文创建模块创建的保活报文。
所述A_BGF设备还包括刷新模块,用于定时刷新所述表项创建模块创建的保活会话表项。
本发明的有益效果是1、通过A_BGF向私网IP网络电话UE发送hello(保活)报文,很好地解决了IMS系统中NAT设备session表项老化的问题,从而保证了私网IP网络电话UE、NAT、A_BGF以及P_CSCF之间注册路径的畅通;2、在NAT设备的session表项老化之前,由A_BGF通过NAT设备向私网IP网络电话UE发送Hello报文,避免了因为NAT设备session表项的老化而导致用户通话中断的情况发生。


图1是现有技术中IMS组网的一种示意图;图2是本发明保活NAT设备中会话表项的方法一实施例的流程图;图3是本发明保活NAT设备中会话表项的系统一实施例的结构图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
在本发明中A_BGF设备首先根据原有的会话表项创建hello session(保活会话)表项,并根据hello session表项创建hello(保活)报文,然后通过NAT设备向私网IP网络电话UE发送hello报文;NAT设备接收到hello报文后,根据该报文刷新NAT设备中相应的session表项,从而使NAT设备中的session表项不会老化。
参见图2,本发明提供了一种保活NAT设备中会话表项的方法,具体包括以下步骤
步骤101A_BGF设备根据原有session表项来创建hello session表项,具体如下首先读取原有session表项的key值,将源端口设置为0,其它的值(源IP地址、目的IP地址、目的端口和协议号)保留,从而形成新的key值,根据新的key值创建hello session表项;由于原有session表项的key值中源端口肯定不会为0,这样新生成的hello session表项就能够区别于A_BGF设备中原有的session表项;另外还将hello session表项中的目的IP地址设为与原有session表项中的目的IP地址相同的IP地址,此IP地址即私网UE的IP地址;上述A_BGF设备读取原有session表项的key值的步骤可以由A_BGF设备从P_CSCF发来的保活命令中获取索引值的步骤来替换;步骤102根据新生成的hello session表项来创建hello报文,具体如下首先根据hello session表项中的目的IP地址来查找相应的FIB表项得到出接口索引,查找相应的路由表项得到下一跳信息,再查找相应的ARP表项得到目的MAC地址,然后根据上述得到的出接口索引、下一跳以及目的MAC地址等信息构造出hello报文,并将hello报文中的目的IP地址设成hello session表项中的目的IP地址;步骤103A_BGF设备通过NAT设备为每个hello session表项发送一个hello报文给相应的私网IP网络电话UE,即A_BGF设备会扫描所有session表项,当扫描到key值中源端口为0的session表项即hello session表项后,向该hello session表项中目的IP地址所对应的私网IP网络电话UE发送一个hello报文;上述过程中还可以增加定时机制,即A_BGF设备会定时扫描所有session表项,具体可以由在A_BGF设备中设置一个计时器来实现,定时发送hello报文的时间为根据实际需要事先在A_BGF设备中指定;步骤104NAT设备收到hello报文后,根据该报文查找NAT中的session表项,命中相应的session表项后,修改该session表项中的time_stamp,将其置为0,从而防止NAT设备的session表项被老化。
在A_BGF设备中对新创建的hello session表项有一个刷新维护的过程,即每隔一定的时间就会对hello session表项进行扫描,扫描到某个hello session表项时,就会对该hello session表项进行刷新,即判断该hello session表项中的当前time_stamp是否大于aging_time,如果大于,表明该hello session表项已经老化,则删除该hello session表项;否则就将该hello session表项的time_stamp置为0,防止该hello session表项被老化。
参见图3,本发明还提供了一种保活NAT设备中会话表项的系统,具体包括A_BGF设备和NAT设备,A_BGF设备包括
(1)表项创建模块,用于根据A_BGF设备中原有的会话表项创建保活会话表项;(2)报文创建模块,用于根据表项创建模块创建的保活会话表项创建保活报文;(3)发送模块,用于通过NAT设备向用户终端发送报文创建模块创建的保活报文;NAT设备包括(1)接收模块,用于接收发送模块发来的保活报文;(2)刷新模块,用于根据接收模块收到的保活报文刷新NAT设备中的相应会话表项。
当A_BGF设备从原有会话表项读取索引值时,表项创建模块具体包括(1)索引值获取单元,用于读取A_BGF设备中原有会话表项的索引值,还用于修改其中的源端口号得到新的索引值;(2)表项创建单元,用于根据索引值获取单元生成的新索引值创建保活会话表项;(3)IP地址设置单元,用于将表项创建单元创建的保活会话表项中的目的IP地址设为与A_BGF设备原有会话表项中的目的IP地址相同的IP地址。
当A_BGF设备从P_CSCF发来的保活命令中获取索引值时,表项创建模块具体包括(1)索引值获取单元,用于从P_CSCF发来的保活命令中获取索引值,还用于修改其中的源端口号得到新的索引值;(2)表项创建单元,用于根据索引值获取单元生成的新索引值创建保活会话表项;(3)IP地址设置单元,用于将表项创建单元创建的保活会话表项中的目的IP地址设为与A_BGF设备原有会话表项中的目的IP地址相同的IP地址。
当A_BGF设备定时发送保活报文时,发送模块具体为定时发送模块,用于定时通过所述NAT设备向用户终端发送所述报文创建模块创建的保活报文。
为了使创建的hello session表项自身能够保活,A_BGF设备还包括刷新模块,用于定时刷新表项创建模块创建的保活会话表项。
以上所述的实施例,只是本发明较优选的具体实施方式
的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种保活NAT设备中会话表项的方法,其特征在于,所述方法具体包括以下步骤步骤AA_BGF设备根据原有的会话表项创建保活会话表项;步骤B所述A_BGF设备根据所述保活会话表项创建保活报文,并通过NAT设备向用户终端发送所述保活报文;步骤C所述NAT设备接收到所述保活报文后,根据所述保活报文刷新所述NAT设备中的会话表项。
2.根据权利要求1所述的保活NAT设备中会话表项的方法,其特征在于,所述步骤A具体包括步骤A1A_BGF设备读取原有会话表项的索引值,并修改其中的源端口号得到新的索引值;步骤A2所述A_BGF设备根据所述新的索引值创建保活会话表项,并将所述保活会话表项中的目的IP地址设为与原有会话表项中的目的IP地址相同的IP地址。
3.根据权利要求1所述的保活NAT设备中会话表项的方法,其特征在于,所述步骤A具体包括步骤A1A_BGF设备从P_CSCF发来的保活命令中获取索引值,并修改其中的源端口号得到新的索引值;步骤A2所述A_BGF设备根据所述新的索引值创建保活会话表项,并将所述保活会话表项中的目的IP地址设为与原有会话表项中的目的IP地址相同的IP地址。
4.根据权利要求1所述的保活NAT设备中会话表项的方法,其特征在于,所述步骤B中的所述A_BGF设备根据所述保活会话表项创建保活报文的步骤具体为所述A_BGF设备根据所述保活会话表项中的目的IP地址查找相应的FIB表项得到出接口索引,查找相应的路由表得到下一跳信息,查找相应的ARP表项得到目的MAC地址,然后根据所述目的IP地址、出接口索引、下一跳信息以及目的MAC地址创建保活报文。
5.根据权利要求1所述的保活NAT设备中会话表项的方法,其特征在于,所述步骤B中通过NAT设备向用户终端发送所述保活报文的步骤具体为定时通过NAT设备向用户终端发送所述保活报文。
6.根据权利要求1所述的保活NAT设备中会话表项的方法,其特征在于,所述步骤C具体为所述NAT设备接收到所述保活报文后,根据所述保活报文查找到相应的会话表项,将所述会话表项中的时间戳置为0。
7.根据权利要求1至6中任一权利要求所述的保活NAT设备中会话表项的方法,其特征在于,所述方法还包括所述A_BGF设备定时刷新所述保活会话表项的步骤。
8.一种保活NAT设备中会话表项的系统,其特征在于,所述系统具体包括A_BGF设备和NAT设备,所述A_BGF设备包括(1)表项创建模块,用于根据所述A_BGF设备中原有的会话表项创建保活会话表项;(2)报文创建模块,用于根据所述表项创建模块创建的保活会话表项创建保活报文;(3)发送模块,用于通过所述NAT设备向用户终端发送所述报文创建模块创建的保活报文;所述NAT设备包括(1)接收模块,用于接收所述发送模块发来的保活报文;(2)刷新模块,用于根据所述接收模块收到的保活报文刷新所述NAT设备中的相应会话表项。
9.根据权利要求8所述的保活NAT设备中会话表项的系统,其特征在于,所述表项创建模块具体包括(1)索引值获取单元,用于读取所述A_BGF设备中原有会话表项的索引值,还用于修改其中的源端口号得到新的索引值;(2)表项创建单元,用于根据所述索引值获取单元生成的新索引值创建保活会话表项;(3)IP地址设置单元,用于将所述表项创建单元创建的保活会话表项中的目的IP地址设为与所述A_BGF设备原有会话表项中的目的IP地址相同的IP地址。
10.根据权利要求8所述的保活NAT设备中会话表项的系统,其特征在于,所述表项创建模块具体包括(1)索引值获取单元,用于从P_CSCF发来的保活命令中获取索引值,还用于修改其中的源端口号得到新的索引值;(2)表项创建单元,用于根据所述索引值获取单元生成的新索引值创建保活会话表项;(3)IP地址设置单元,用于将所述表项创建单元创建的保活会话表项中的目的IP地址设为与所述A_BGF设备原有会话表项中的目的IP地址相同的IP地址。
11.根据权利要求8所述的保活NAT设备中会话表项的系统,其特征在于,所述发送模块具体为定时发送模块,用于定时通过所述NAT设备向用户终端发送所述报文创建模块创建的保活报文。
12.根据权利要求8至11中任一权利要求所述的保活NAT设备中会话表项的系统,其特征在于,所述A_BGF设备还包括刷新模块,用于定时刷新所述表项创建模块创建的保活会话表项。
全文摘要
本发明提供一种保活NAT设备中会话表项的方法和系统,属于通讯技术领域。为了解决现有技术IMS系统中因NAT设备中的会话表项老化导致UE注册路径不畅通的问题,本发明提供了一种保活NAT设备中会话表项的方法,包括A BGF设备创建保活会话表项和保活报文,并发送给UE的步骤,以及NAT设备刷新会话表项的步骤;本发明还提供了一种保活NAT设备中会话表项的系统,包括A BGF设备和NAT设备。采用本发明的技术方案不仅解决了IMS系统中NAT设备会话表项老化的问题,还保证了UE、NAT、A BGF和P CSCF之间注册路径的畅通,而且避免了因NAT设备会话表项老化而导致用户通话中断的情况发生。
文档编号H04L29/06GK1946062SQ20061014077
公开日2007年4月11日 申请日期2006年10月10日 优先权日2006年10月10日
发明者李巍 申请人:华为数字技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1