CN102014176A - 基于sip的nat映射保活方法及其系统 - Google Patents

基于sip的nat映射保活方法及其系统 Download PDF

Info

Publication number
CN102014176A
CN102014176A CN2010105854344A CN201010585434A CN102014176A CN 102014176 A CN102014176 A CN 102014176A CN 2010105854344 A CN2010105854344 A CN 2010105854344A CN 201010585434 A CN201010585434 A CN 201010585434A CN 102014176 A CN102014176 A CN 102014176A
Authority
CN
China
Prior art keywords
sip
keep
sip terminal
nat
timer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105854344A
Other languages
English (en)
Other versions
CN102014176B (zh
Inventor
张华洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN 201010585434 priority Critical patent/CN102014176B/zh
Publication of CN102014176A publication Critical patent/CN102014176A/zh
Application granted granted Critical
Publication of CN102014176B publication Critical patent/CN102014176B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种较少网络消耗,并在NAT上映射被清除后能即时重新创建映射关系的NAT映射保活方法,以及实现该方法的系统。基于SIP的NAT映射保活方法,包括步骤:a、SIP终端通过NAT设备向SIP服务器发起注册;NAT设备在所述SIP终端发起注册时,保存所述SIP终端与NAT设备的映射关系;b、SIP服务器接收到所述SIP终端的注册后,周期性通过NAT设备向所述SIP终端发送UDP类型的保活报文;c、所述SIP终端收到保活报文后,启动定时器;d、所述SIP终端判断在定时器超时时间内是否接收到保活报文,如是,则重置定时器,返回本步骤;如否,则触发SIP终端重新注册,并清除定时器,返回步骤a。

Description

基于SIP的NAT映射保活方法及其系统
技术领域
本技术方案涉及SIP(Session Initiation Protocol,会话初始协议)技术以及NAT(NetworkAddress Translator,网络地址转换)映射保活技术。
背景技术
虽然IPv6取代IPv4是必然趋势,但是IPv4仍然会长期存在,而IPv4的存在必然伴随着大量的NAT,随着VOIP(Voice over IP,IP语音)业务的日益普及,NAT对P2P媒体业务的影响日益显著。
在存在NAT设备的网络环境中,如果SIP终端在私网,SIP服务器在公网,那么当SIP终端向服务器发起注册时,会在NAT上产生私网地址和公网地址的映射关系,此映射关系可以保证SIP服务器发送SIP呼叫请求的时候能够送达SIP终端。但是通常情况下NAT设备上产生的映射关系都是临时的,这个映射存在的时间可能很短,只有几秒钟。如果一段时间没有使用这个地址映射,那么就会超时删除映射,导致服务器无法再呼叫终端用户。那么为了保证SIP服务器能够在任何时候都能呼叫到SIP终端,那么SIP服务器需要保活这个映射,现有实现方法通常是SIP服务器定时发送SIP消息如notify、option等到NAT设备的公网端口来保活此映射,但是SIP消息比较大,并且终端需要复杂的解码,如果再加上映射的存在时间很短,那么需要频繁的发送保活报文,此时,对终端、网络、服务器的压力都是很大的。
另外,当NAT设备重启、NAT地址映射被人为清除或异常删除后,服务器同样不能呼叫SIP终端了,现有实现见中国专利申请《200610119375.5一种SIP网络系统中维持NAT地址绑定的方法及其装置》,通常是终端同样发送保活消息,如option消息,但是option消息只能保活已存在的NAT映射,是不能使得服务器更新其保存的终端映射关系,除非终端重新发起注册,但是终端并不能感知到NAT设备异常,所以只有注册超时才会发起注册,而这个时间可能会很长(RFC3261建议的是一个小时),那么可能一个小时内该终端用户都收不到服务器的呼叫请求,对VOIP业务影响很大。
发明内容
本发明所要解决的技术问题是,提供一种较少网络消耗,并在NAT上映射被清除后能即时重新创建映射关系的NAT映射保活方法,以及实现该方法的系统。
本发明为解决上述技术问题所采用的技术方案是,基于SIP的NAT映射保活方法,包括以下步骤:
a、SIP终端通过NAT设备向SIP服务器发起注册;NAT设备在所述SIP终端发起注册时,保存所述SIP终端与NAT设备的映射关系;
b、SIP服务器接收到所述SIP终端的注册后,周期性通过NAT设备向所述SIP终端发送UDP类型的保活报文;
c、所述SIP终端收到保活报文后,启动定时器;
d、所述SIP终端判断在定时器超时时间内是否接收到保活报文,如是,则重置定时器,返回本步骤;如否,则触发SIP终端重新注册,并清除定时器,返回步骤a。
首先,本发明采用UDP类型的保活报文,相比SIP报文,UDP报文数据量小,就算SIP服务器同时向多个SIP终端发送此报文,也不会对SIP服务器的性能产生太大影响。并且,通过定时器超时来触发SIP终端注册,能最大限度减少故障时间,使得NAT设备的映射关系能在短时间内重新建立。如果SIP终端注册后从来没有收到过保活报文,则说明不需要保活,该终端也不会启动定时器。
进一步的,所述保活报文中仅携带保活周期信息;所述步骤c中,SIP终端收到保活报文后取得保活周期信息,并根据此保活周期信息设置定时器的超时时间。
进一步的,定时器的超时时间设置为:保活周期×N+偏移量,其中N为正整数,N的取值根据网络状态可动态调整。加偏移量是为了防止保活周期太小或趋于0,定时器的超时时间被设置得过小,导致网络抖动。
具体的,所述保活报文为KEEPALIVE报文。所述映射关系为SIP终端的私网地址和私网端口对应NAT设备的公网地址和公网端口的映射关系。
另外,实现上述方法的NAT映射保活系统包括SIP终端、NAT设备、SIP服务器,所述SIP终端,用于通过NAT设备向SIP服务器发起注册;未设置定时器的SIP终端收到保活报文后,启动定时器,并监控接收到的报文;已设置了定时器的SIP终端收到保活报文后,重置定时器,并监控接收到的报文;SIP终端判断在定时器超时时间内是否接收到保活报文,如是,则重置定时器;如否,则触发SIP终端重新注册,并清除定时器;
所述NAT设备,用于在SIP终端向SIP服务器发起注册时,保存所述SIP终端与NAT设备的映射关系;
所述SIP服务器,用于SIP服务器接收到所述SIP终端的注册后,周期性通过NAT设备向所述SIP终端发送UDP类型的保活报文。
本发明的有益效果是,以小报文保活NAT私网和公网的地址映射,减少终端、网络和服务器的负担。终端通过保活报文感知NAT地址映射意外失效,终端注册触发机制保证了当NAT地址映射意外失效后能够在最短的时间内恢复,从而保证对VOIP业务影响最小。
附图说明
图1为本发明系统示意图;
图2为实施例应用环境图;
图3为实施例消息流图。
具体实施方式
如图1所示,系统包括SIP终端、NAT设备、SIP服务器,SIP终端与SIP服务器通过NAT设备进行通信。如图2所示,位于私网的SIP终端和位于公网中的SIP服务器之间需要通信,会在NAT设备上产生一个临时的【私网地址:私网端口】至【公网地址:公网端口】的映射,SIP服务器要呼叫SIP终端的话,必须访问NAT设备的【公网地址:公网端口】,NAT设备自动通过对应【私网地址:私网端口】将呼叫转发到SIP终端。
本实施例的NAT映射保活方法如图3所示:
首先SIP终端向SIP服务器发起REGISTER报文进行注册,SIP服务器收到REGISTER报文后不仅需要登记SIP终端信息,还需要记录NAT映射中公网地址和公网端口,然后返回200OK消息。这样,在SIP终端和SIP服务器之间就建立了一个固定通道,此时为了保活NAT映射,SIP服务器发送KEEPALIVE报文。
KEEPALIVE报文内容的格式建议:
“KEEPALIVE t=10”
其中KEEPALIVE用于标识报文用途,t=10为保活周期,单位默认为秒。
KEEPALIVE报文除了必要的UDP头以外只包含上述内容。由于这里KEEPALIVE报文很小,并且不需要SIP终端应答,所以SIP服务器可以高频率的发送,比如1秒发送一个,即t=1,这样就可以保证NAT映射不会超时。就算服务器同时向多个SIP终端同时快速的发送此报文,也不会对SIP服务器性能有太大影响,同样,对于网络影响也不大,对于SIP终端来说,不需要像SIP报文一样进行复杂的报文解析,只需要从此报文中读出保活周期t即可。就算SIP终端收到大量的此报文也不会存在太多的性能负担。
当SIP终端收到了SIP服务器发送到的KEEPALIVE报文,SIP终端启动定时器,关于定时器的超时时间的设置为:(t×N+偏移量);这里需要N倍保活周期t是为了防止网络掉包等使得发生频繁注册,N的取值根据网络状况设置;加偏移量是防止t时间太小或趋于0,使得定时器超时过快。例如,SIP终端在收到第一个KEEPALIVE报文后,读出其中的保活时间t(t=1),假设N设置为2,偏移量设置成10秒,那么,启动一个12秒的定时器,每收到一个KEEPALIVE报文,则重置该定时器。
如果NAT设备因异常、重启导致NAT映射信息丢失、或被人为清除了映射时,SIP服务器就不能再联系到SIP终端了,KEEPALIVE报文也发不到SIP终端上了。SIP终端定时器在12秒后超时,然后启动注册流程,重新发送REGISTER消息到SIP服务器,此时很可能会在NAT上产生一个新的映射,服务器刷新SIP终端用户信息,并且记录新的NAT映射信息,此时SIP服务器又可以呼叫SIP终端了,也就是说,本实施例在12秒内恢复了故障。SIP服务器继续发送KEEPALIVE消息,SIP终端在收到KEEPALIVE后又启动定时器进行监控。这里SIP终端之所以在收到第一个KEEPALIVE后才启动定时器,是为了兼容不支持KEEPALIVE报文的服务器。只有收到过KEEPALIVE报文才启动该功能。同样,在故障触发注册后,暂时关闭监控功能,直到再收到KEEPALIVE才又启动监控。

Claims (10)

1.基于SIP的NAT映射保活方法,其特征在于,包括以下步骤:
a、SIP终端通过NAT设备向SIP服务器发起注册;NAT设备在所述SIP终端发起注册时,保存所述SIP终端与NAT设备的映射关系;
b、SIP服务器接收到所述SIP终端的注册后,周期性通过NAT设备向所述SIP终端发送UDP类型的保活报文;
c、所述SIP终端收到保活报文后,启动定时器;
d、所述SIP终端监控接收到的报文,判断在定时器超时时间内是否接收到保活报文,如是,则重置定时器,返回本步骤;如否,则触发SIP终端重新注册,并清除定时器,返回步骤a。
2.如权利要求1所述基于SIP的NAT映射保活方法,其特征在于,所述保活报文中仅携带保活周期信息;
所述步骤c中,SIP终端收到保活报文后取得保活周期信息,并根据此保活周期信息设置定时器的超时时间。
3.如权利要求2所述基于SIP的NAT映射保活方法,其特征在于,定时器的超时时间设置为:保活周期×N+偏移量,其中N为正整数,N的取值根据网络状态可动态调整。
4.如上述任意一项权利要求所述基于SIP的NAT映射保活方法,其特征在于,所述保活报文为KEEPALIVE报文。
5.如上述任意一项权利要求所述基于SIP的NAT映射保活方法,其特征在于,所述映射关系为SIP终端的私网地址和私网端口对应NAT设备的公网地址和公网端口的映射关系。
6.基于SIP的NAT映射保活系统,包括SIP终端、NAT设备、SIP服务器,其特征在于,所述SIP终端,用于通过NAT设备向SIP服务器发起注册;未设置定时器的SIP终端收到保活报文后,启动定时器,并监控接收到的报文;已设置了定时器的SIP终端收到保活报文后,重置定时器,并监控接收到的报文;SIP终端判断在定时器超时时间内是否接收到保活报文,如是,则重置定时器;如否,则触发SIP终端重新注册,并清除定时器;
所述NAT设备,用于在SIP终端向SIP服务器发起注册时,保存所述SIP终端与NAT设备的映射关系;
所述SIP服务器,用于SIP服务器接收到所述SIP终端的注册后,周期性通过NAT设备向所述SIP终端发送UDP类型的保活报文。
7.如权利要求6所述基于SIP的NAT映射保活系统,其特征在于,所述保活报文中仅携带保活周期信息;
所述SIP终端,还用于收到保活报文后取得保活周期信息,并根据此保活周期信息设置定时器的超时时间。
8.如权利要求7所述基于SIP的NAT映射保活系统,其特征在于,所述SIP终端将定时器的超时时间设置为:保活周期×N+偏移量,其中N为正整数,N的取值根据网络状态动态调整。
9.如权利要求6、7或8所述基于SIP的NAT映射保活系统,其特征在于,所述保活报文为KEEPALIVE报文。
10.如权利要求6、7或8所述所述基于SIP的NAT映射保活系统,其特征在于,所述映射关系为SIP终端的私网地址和私网端口对应NAT设备的公网地址和公网端口的映射关系。
CN 201010585434 2010-12-13 2010-12-13 基于sip的nat映射保活方法及其系统 Active CN102014176B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010585434 CN102014176B (zh) 2010-12-13 2010-12-13 基于sip的nat映射保活方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010585434 CN102014176B (zh) 2010-12-13 2010-12-13 基于sip的nat映射保活方法及其系统

Publications (2)

Publication Number Publication Date
CN102014176A true CN102014176A (zh) 2011-04-13
CN102014176B CN102014176B (zh) 2013-09-04

Family

ID=43844183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010585434 Active CN102014176B (zh) 2010-12-13 2010-12-13 基于sip的nat映射保活方法及其系统

Country Status (1)

Country Link
CN (1) CN102014176B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109865A1 (zh) * 2011-07-30 2012-08-23 华为技术有限公司 私网与网外客户端之间呼叫的nat处理方法、设备和系统
CN102917082A (zh) * 2012-10-10 2013-02-06 青岛海信传媒网络技术有限公司 穿透网络地址转换的消息推送方法及系统
WO2013181942A1 (zh) * 2012-06-06 2013-12-12 华为技术有限公司 一种终端注册的方法、设备和系统
CN103546389A (zh) * 2012-07-09 2014-01-29 中国电信股份有限公司 降低stun服务器负载的方法、装置和系统
CN104735753A (zh) * 2013-12-20 2015-06-24 华为技术有限公司 通信方法、用户设备和网络侧设备
CN109802970A (zh) * 2019-02-28 2019-05-24 迈普通信技术股份有限公司 一种报文传输方法、装置、电子设备及计算机介质
WO2019129201A1 (en) * 2017-12-29 2019-07-04 Huawei Technologies Co., Ltd. Session management for communications between a device and a dtls server
CN115499409A (zh) * 2022-09-29 2022-12-20 阿里巴巴(中国)有限公司 Nat网关、服务器和网络系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002103981A2 (en) * 2001-06-14 2002-12-27 Nortel Networks Limited Providing telephony services to terminals behind a firewall and/or network address translator
CN1946062A (zh) * 2006-10-10 2007-04-11 华为数字技术有限公司 保活nat设备中会话表项的方法和系统
CN101026567A (zh) * 2007-01-29 2007-08-29 华为技术有限公司 地址转发表项的保活方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002103981A2 (en) * 2001-06-14 2002-12-27 Nortel Networks Limited Providing telephony services to terminals behind a firewall and/or network address translator
CN1946062A (zh) * 2006-10-10 2007-04-11 华为数字技术有限公司 保活nat设备中会话表项的方法和系统
CN101026567A (zh) * 2007-01-29 2007-08-29 华为技术有限公司 地址转发表项的保活方法及系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109865A1 (zh) * 2011-07-30 2012-08-23 华为技术有限公司 私网与网外客户端之间呼叫的nat处理方法、设备和系统
CN103476106B (zh) * 2012-06-06 2017-05-10 华为技术有限公司 一种终端注册的方法、设备和系统
WO2013181942A1 (zh) * 2012-06-06 2013-12-12 华为技术有限公司 一种终端注册的方法、设备和系统
CN103476106A (zh) * 2012-06-06 2013-12-25 华为技术有限公司 一种终端注册的方法、设备和系统
US9622205B2 (en) 2012-06-06 2017-04-11 Huawei Technologies Co., Ltd. Terminal registration method, device, and system
CN103546389A (zh) * 2012-07-09 2014-01-29 中国电信股份有限公司 降低stun服务器负载的方法、装置和系统
CN103546389B (zh) * 2012-07-09 2017-02-15 中国电信股份有限公司 降低stun服务器负载的方法、装置和系统
CN102917082B (zh) * 2012-10-10 2016-03-23 青岛海信传媒网络技术有限公司 穿透网络地址转换的消息推送方法及系统
CN102917082A (zh) * 2012-10-10 2013-02-06 青岛海信传媒网络技术有限公司 穿透网络地址转换的消息推送方法及系统
CN104735753A (zh) * 2013-12-20 2015-06-24 华为技术有限公司 通信方法、用户设备和网络侧设备
WO2019129201A1 (en) * 2017-12-29 2019-07-04 Huawei Technologies Co., Ltd. Session management for communications between a device and a dtls server
CN109802970A (zh) * 2019-02-28 2019-05-24 迈普通信技术股份有限公司 一种报文传输方法、装置、电子设备及计算机介质
CN109802970B (zh) * 2019-02-28 2021-05-18 迈普通信技术股份有限公司 一种报文传输方法、装置、电子设备及计算机介质
CN115499409A (zh) * 2022-09-29 2022-12-20 阿里巴巴(中国)有限公司 Nat网关、服务器和网络系统

Also Published As

Publication number Publication date
CN102014176B (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
CN102014176B (zh) 基于sip的nat映射保活方法及其系统
Cheshire et al. Nat port mapping protocol (nat-pmp)
JP5842290B2 (ja) セッション開始プロトコルアダプタ
US7333492B2 (en) Firewall proxy system and method
US9054922B2 (en) Discovering security devices located on a call path and extending bindings at those discovered security devices
CN100558081C (zh) 地址转发表项的保活方法及系统
US20110153834A1 (en) Transparent Recovery of Transport Connections Using Packet Translation Techniques
CA2435699A1 (en) Methods for discovering network address and port translators
EP2051477A1 (fr) Procédé de traversée d'équipement de traduction d'adresses pour messages de signalisation SIP par utilisation temporaire du protocole de transport TCP
JP4695457B2 (ja) 関係者識別データの収集及び分配システム及び方法
CN103580880A (zh) 一种快速通知cgn异常的方法、设备及系统
US7907514B2 (en) MGCP fallback mechanism enhancement
CN103825868A (zh) 一种本地语音逃生的方法、本地网关及系统
CN102821172B (zh) Sip注册服务器地址的获得方法、设备及系统
CN107707689B (zh) 一种dhcp报文处理方法、dhcp服务器及网关设备
EP2081347A1 (en) A method, system and network entity for negotiating the session description protocol version and obtaining the session description protocol version information
CN101166142A (zh) 一种使提交报告消息正确路由的方法及网关
CN1822599B (zh) 会议发起协议服务器对终端在线状态的检测方法
CN102316435B (zh) 一种接入网络系统中用于更新用户设备p-cscf配置的方法及其装置
US7899040B2 (en) Synchronization of event processing at a media gateway
CN114449051B (zh) 一种数据包的传输方法以及通信设备
WO2015058648A1 (zh) 基于ip电话的留言业务处理方法及装置
Cheshire et al. RFC 6886: Nat port mapping protocol (NAT-PMP)
KR100652984B1 (ko) 계층적 sip 기반의 이동성 관리 시스템 및 방법
CN108337331B (zh) 网络穿透方法、装置、系统及网络连通性检查方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant