CN104320500B - 一种nat设备的保活方法及装置 - Google Patents
一种nat设备的保活方法及装置 Download PDFInfo
- Publication number
- CN104320500B CN104320500B CN201410540131.9A CN201410540131A CN104320500B CN 104320500 B CN104320500 B CN 104320500B CN 201410540131 A CN201410540131 A CN 201410540131A CN 104320500 B CN104320500 B CN 104320500B
- Authority
- CN
- China
- Prior art keywords
- retention time
- state retention
- time
- connection
- observing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000014759 maintenance of location Effects 0.000 claims abstract description 231
- 238000013519 translation Methods 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 238000004891 communication Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 7
- 230000011664 signaling Effects 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- XKQBJDHJRVDQBU-DHLVSJIASA-N 5-[(3as,5r,6r,6as)-6-[(e,3s)-7-(3-azidophenyl)-3-hydroxyhept-1-enyl]-5-hydroxy-1,3a,4,5,6,6a-hexahydropentalen-2-yl]pentanoic acid Chemical compound C([C@H](O)\C=C\[C@@H]1[C@H]2CC(CCCCC(O)=O)=C[C@H]2C[C@H]1O)CCCC1=CC=CC(N=[N+]=[N-])=C1 XKQBJDHJRVDQBU-DHLVSJIASA-N 0.000 description 4
- 230000032683 aging Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003483 aging Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种NAT设备的保活方法及装置,以至少解决现有NAT设备保活机制中,大量的无用保活数据包的生成造成的客户侧设备或服务器侧设备的额外负担以及大量的无用保活数据包的传输造成的网络侧设备的额外的信令处理负担问题。方法包括:获取第一应用对应的第一连接的第一状态保持时间;根据第一状态保持时间,结合预设策略,确定第一连接的观察时间和自动重置数,其中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间;若自动重置数不为0,循环执行;当已流失的状态保持时间达到观察时间时,复位第二状态保持时间,并将自动重置数减1,获得更新后的自动重置数。本发明适用于通信领域。
Description
技术领域
本发明涉及通信领域,尤其涉及一种NAT设备的保活方法及装置。
背景技术
随着电子技术及网络技术的发展,计算机网络逐渐进入人们的日常生活,日常生活中的很多电子设备可能都需要连入全球因特网,因此,全球因特网所采用的网际协议版本4(Internet Protocol version4,IPv4)地址面临着可用数目不足的问题。目前,网络地址转换(Network Address Translation,NAT)是减缓IPv4地址空间枯竭的主要手段之一。
NAT是将网络之间互连的协议(Internet Protocol,IP)数据包头中的IP地址转换为另一个IP地址的过程。NAT设备在使用的过程中,会出现NAT老化现象。NAT老化是指NAT设备采用具有映射状态的可配置超时时间段的超时定时器,若特定条目在超过超时时间段内未被入站或出站的通信使用,则NAT定时器期满并且该条目被清除。由于条目被清除后,NAT设备之后的节点不能再通过该连接进行通信,必须发起新的连接,因此,NAT老化可能引起业务中断等问题。为了避免NAT老化,现有技术提供了一种保活机制。该保活机制由客户侧或服务器侧生成属于同一连接(有相同的源地址、源端口号、协议)的无用保活数据包,并且以比NAT设备的超时时间段短的时间间隔定期向NAT设备发送这些无用保活数据包,由网络侧设备完成这些无用保活数据包的传输。
上述保活机制,由于需要客户侧或服务器侧定期生成无用的保活数据包,并且通过网络侧传送该保活数据包,因此可能存在如下问题:一方面,大量的无用保活数据包的生成增加了客户侧设备或服务器侧设备的额外负担;另一方面,大量的无用保活数据包的传输也增加了网络侧设备的额外的信令处理负担。
发明内容
本发明的实施例提供一种NAT设备的保活方法及装置,以至少解决现有NAT设备保活机制中,大量的无用保活数据包的生成造成的客户侧设备或服务器侧设备的额外负担以及大量的无用保活数据包的传输造成的网络侧设备的额外的信令处理负担的问题。
为解决上述问题,本发明的实施例采用如下技术方案:
第一方面,提供一种网络地址转化NAT设备的保活方法,所述方法包括:
当为第一应用建立第一连接后,获取所述第一应用对应的所述第一连接的第一状态保持时间;
根据所述第一状态保持时间,结合预设策略,确定所述第一连接的观察时间和自动重置数,其中,当所述第一状态保持时间大于统一设置的所述第一连接的第二状态保持时间时,所述观察时间小于所述第二状态保持时间;
若所述自动重置数不为0,循环执行步骤S1:
S1:当已流失的状态保持时间达到所述观察时间时,复位所述第二状态保持时间,并将所述自动重置数减1,获得更新后的自动重置数。
第二方面,提供一种网络地址转化NAT设备的保活装置,所述装置包括:获取单元、确定单元、定时器复位单元、计数器计数单元;
所述获取单元,用于当为第一应用建立第一连接后,获取所述第一应用对应的所述第一连接的第一状态保持时间;
所述确定单元,用于根据所述第一状态保持时间,结合预设策略,确定所述第一连接的观察时间和自动重置数,其中,当所述第一状态保持时间大于统一设置的所述第一连接的第二状态保持时间时,所述观察时间小于所述第二状态保持时间;
所述定时器复位单元,用于若所述自动重置数不为0,当已流失的状态保持时间达到所述观察时间时,复位所述第二状态保持时间;
所述计数器计数单元,用于当已流失的状态保持时间达到所述观察时间时,在所述定时器复位单元复位所述第二状态保持时间时,将所述自动重置数减1,获得更新后的自动重置数。
本发明实施例提供的NAT设备的保活方法及装置,通过为NAT设备中的第一应用对应的第一连接确定相应的观察时间和自动重置数,并利用该观察时间和自动重置数对第二状态保持时间进行自动重置,其中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间,实现了NAT设备的自激活,通过自动重置实现了不同连接达到不同状态保持时间的能力。不需要如现有技术一样,需要通过在客户侧或服务器侧生成大量的保活数据包,并通过网络侧向NAT设备传送该保活数据包来实现NAT设备的保活。因此,基于上述方案,一方面,由于无需客户侧或服务器侧产生保活数据包,因此减少了客户侧或服务器侧的负担;另一方面,由于不需要传输大量的保活数据包,因此减轻了网络侧设备的信令处理负担。
附图说明
图1为本发明实施例提供的一种NAT设备的保活方法流程示意图一;
图2为本发明实施例提供的一种NAT设备的保活方法流程示意图二;
图3为本发明实施例提供的一种NAT设备的保活方法流程示意图三;
图4为本发明实施例提供的一种NAT设备的保活方法应用场景示意图;
图5为本发明实施例提供的一种NAT设备的保活装置的构造示意图一;
图6为本发明实施例提供的一种NAT设备的保活装置的构造示意图二;
图7为本发明实施例提供的一种NAT设备的保活装置的构造示意图三。
具体实施方式
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
国际互联网代理成员管理局(Internet Assigned Numbers Authority,IANA)IPv4地址和亚太互联网络信息中心亚太互联网络信息中心亚太互联网络信息中心亚太互联网络信息中心(Asia Pacific Network Information Center,APNIC)IPv4地址已经分配结束,全球面临着IPv4地址不足的问题。NAT是将IP数据包头中的IP地址转换为另一个IP地址的过程。NAT技术允许在NAT设备之后的多个IP节点共享单个公共IP地址,而非为每一网络设备订购单独的IP地址。即,NAT技术提供了一种允许将一组未注册的IP地址用于内部网络通信而将另一组IP地址用于外部或公共通信的标准。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能,这种功能称为NAT44,或者实现IPv6客户访问IPv4业务的功能,这种功能称为NAT64。这种通过使用少量的公有IP地址代表较多的私有IP地址或IPv6地址的方式,可以有助于减缓可用IP地址空间的枯竭。
NAT设备包括到公共网络的外部接口和到内部网络或域的内部接口。当分组离开内部域时,NAT设备将局部源地址转换成全球唯一地址以便用于例如因特网。当分组从因特网进入内部域时,NAT设备将全球唯一地址转换成局部地址。当域内的某节点发送出站通信时,NAT设备转发该通信并且将地址和端口映射到数据库或表中,创建该节点的反向映射条目。该反向条目被用于将回到内部域的响应重定向到正确的节点。
状态保持时间是指在NAT设备为某应用成功建立连接后,属于该应用的数据包没有发送到NAT设备时,NAT设备为该连接保持状态的最长时间。目前,NAT设备可以做到为传输控制协议(Transmission Control Protocol,TCP)、用户数据报协议(User DatagramProtocol,UDP)设置不同的状态保持时间。然而基于同一种协议的所有业务只能用一个统一的状态保持时间。但是,基于同一种协议比如TCP协议的业务种类很多,所需要的状态保持时间可能并不相同,只用一种统一的状态保持时间不能满足所有的业务需求。比如移动网手机的推送业务,希望长期在线,为了减少手机电量消耗,手机难以长时间发送保活(Keep Alive)消息,需要为同属于TCP协议的移动网某项业务延长保持时间。如果统一延长TCP协议的保持时间,则属于TCP协议的短期业务已下线,却在NAT设备中仍保有反向映射条目,长期占用NAT资源。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并对不对数量和执行次序进行限定。
实施例一、
本发明实施例提供一种NAT设备的保活方法,具体如图1所示,包括:
S101、当为第一应用建立第一连接后,获取第一应用对应的第一连接的第一状态保持时间。
其中,第一状态保持时间是指第一应用对应的第一连接所需要的状态保持时间。为不同应用建立连接时,根据应用的类型,以及连接的类型,所需要的状态保持时间可能不同,本发明实施例对此不作具体限定。
具体的,本发明实施例中的第一连接可以是基于TCP协议的连接,也可以是基于UDP协议的连接等,本发明实施例对此不作具体限定。
S102、根据第一状态保持时间,结合预设策略,确定第一连接的观察时间和自动重置数,其中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间。
具体的,本发明实施例中的第二状态保持时间是指基于第一连接所使用的协议统一设置的状态保持时间。示例的,可以根据第一连接的第四层协议是TCP协议还是UDP协议来设置第二状态保持时间。比如,若第一连接的第四层协议是TCP协议,可以设置第二状态保持时间为600s;若第一连接的第四层协议是UDP协议,可以设置第二状态保持时间为60s。
需要说明的是,上述TCP协议和UDP协议的第二状态保持时间仅是示例性说明,本发明实施例对此不作具体限定。其中,基于同一协议的连接的第二状态保持时间相同。
具体的,本发明实施例中的观察时间用于判断已流失的状态保持时间是否达到了第二状态保持时间复位的触发条件。该观察时间是一系列的时间,对应每次自动重置后的观察时间可能并不相同,本发明实施例对比不作具体限定。
具体的,本发明实施例中的自动重置数用来表示在第一状态保持时间内对第二状态保持时间复位的次数。
需要说明的是,本发明实施例中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间,这样可避免出现观察时间设成第二状态保持时间,需要重置第二状态保持时间但第一连接已删除的情况,增加了NAT设备的可靠性。
S103、若自动重置数不为0,循环执行步骤S1:
S1:当已流失的状态保持时间达到观察时间时,复位第二状态保持时间,并将自动重置数减1,获得更新后的自动重置数。
具体的,本发明实施例中,可通过如下两种方式确定已流失的状态保持时间是否达到观察时间:
方式一:根据已流失的状态保持时间是否达到观察时间确定;
方式二:根据(第二状态保持时间-已流失的状态保持时间)是否达到(第二状态保持时间-观察时间)确定。
当然,上述仅是示例性的给出两种确定已流失的状态保持时间是否达到观察时间的方式,还可能通过其它方式确定已流失的状态保持时间是否达到观察时间,本发明实施例对此不作具体限定。
需要说明的是,本发明实施例中的复位第二状态保持时间是指,第一应用的第一连接的状态保持时间重设为第二状态保持时间,同时重新判断已流失的状态保持时间是否达到观察时间。
具体的,本发明实施例中可以直接调用NAT设备的定时器重置功能项来复位第二状态保持时间,不需要客户侧或服务器侧构造状态保持数据包发给NAT设备,不对其他设备产生影响。
优选的,本发明实施例还提供一种NAT设备的保活方法,如图2所示,在步骤S102之后,还包括:
S104、若自动重置数为0,则当第二状态保持时间到达后删除第一应用对应的第一连接。
通过上述优选方案,可以在自动重置数为0时,即最后一次自动重置后,当第一应用对应的第一连接的状态保持时间到达统一设置的第二状态保持时间时,删除第一连接。即在不改变现有的NAT设备为第一连接对应的协议设置统一状态保持时间的前提下,通过自动重置实现不同应用的连接达到不同状态保持时间的能力,方便部署在现有的NAT设备上。
优选的,本发明实施例还提供一种NAT设备的保活方法,如图3所示,步骤S102具体包括:
S102a、判断第一状态保持时间是否大于第二状态保持时间。
S102b、若第一状态保持时间大于第二状态保持时间,计算第一状态保持时间与第二状态保持时间的比值为N0,余数为m0,其中N0,m0均为整数。
S102c、若N0=1,确定自动重置数为1,观察时间为m0。
即,若N0=1时,第一状态保持时间=m0+第二状态保持时间。
S102d、若N0≠1,根据第一预设公式,确定第一连接的所述观察时间和所述自动重置数,第一预设公式为:
(第一状态保持时间-第二状态保持时间)/N0=a余b,n=N0+1,
其中,n表示自动重置数,a表示第一观察时间,b表示第二观察时间,TW0=b,TW1=TW2=…TW(n-1)=a,TWn=T0,TWn表示第n次重置后的观察时间,T0表示第二状态保持时间。
其中,第一观察时间为第1次重置后到第n次重置前的观察时间。
第二观察时间为第一次重置前的观察时间。
即,若N0≠1,第一状态保持时间=TW0+TW1+…+TWn=b+a*(n-1)+T0。
S102e、若第一状态保持时间不大于第二状态保持时间,确定观察时间为第二状态保持时间,自动重置数为0。
此时,第一状态保持时间=第二状态保持时间。
需要说明的是,上述实施例仅示例性的提供了一种确定第一连接的观察时间和自动重置数的方法,当然还可能存在其它确定第一连接的观察时间和自动重置数的方法,本发明实施例对此不作具体限定。只要能达到与本发明实施例相同的技术效果,都属于本发明的保护范围。
示例的,如图4所示,假设移动客户机1和移动客户机2均通过NAT设备访问外接网络,移动客户机1同时运行应用1和应用2,移动客户机2运行应用3。在业务访问中,NAT设备为移动客户机1的应用1保持着连接1映射1的反向映射条目,为移动客户机1的应用2保持着连接1映射2的反向映射条目,为移动客户机2的应用3保持着连接2映射3的反向映射条目。其中,属于应用1、2、3的数据包经过NAT设备转换后分别访问服务器1、2、3。假设应用1、2的连接是基于TCP协议的,应用3的连接是基于UDP协议的。同时假设应用1是邮件推送服务,连接希望长期在线,其连接的保持时间希望设定为86400秒(24小时),应用2希望连接保持时间为300秒,应用3希望连接保持时间为110秒,各应用可以通过数据包的目的地址(服务器的TP地址)和目的端口号来识别。
基于本实施例提供的一种NAT设备的保活方法,对应每个新建连接的基于TCP/UDP统一设置的状态保持时间,确定一个比较短的观察时间和自动重置数具体为:
对于应用1的连接,由于基于TCP协议的连接的状态保持时间统一设置为600秒,而应用1希望的连接保持时间为86400秒,即第一状态保持时间大于第二状态时间,因此观察时间和自动重置数的计算方法为:
第一状态保持时间T/第二状态保持时间T0=86400/600=144,余数为0,即N0=144,m0=0。
因为N0为不等于1的整数,因此可根据上述第一预设公式确定观察时间和自动重置数,如下:
(第一状态保持时间T-第二状态保持时间T0)/N0=595,余数为120,即a=595,b=120,n=N0+1=145。
其中,第二观察时间Tw0=b=120,第一观察时间Tw1=Tw2=…Tw144=a=595,Tw145=T0=600。
第一状态保持时间T=86400秒=TW0+TW1+…+TW144+TW145=b+a*(n-1)+T0=120秒+595*144秒+600秒,即应用1的连接状态保持时间内,一共经过145次自动重置,第一次自动重置前(第0次自动重置后)的观察时间为120秒,第1次自动重置后到第145次自动重置前的观察时间为595秒,第145次重置之后保留的时间为600秒,然后经过TCP的状态保持时间600秒后超时,NAT设备的保活装置删除该连接的保留状态。
对于应用2的连接,由于基于TCP协议的连接的状态保持时间统一设置为600秒,而应用2希望的连接保持时间为300秒,即第一状态保持时间不大于第二状态时间,因此观察时间和自动重置数确定为:观察时间Tw0=第二状态保持时间=600秒,自动重置数=0。即应用2的连接状态保持时间内,不需要自动重置,经过TCP的状态保持时间600秒后超时,NAT设备的保活装置删除该连接的保留状态。
对于应用3的连接,由于基于UDP协议的连接的状态保持时间统一设置为60秒,而应用3希望的连接保持时间为110秒,即第一状态保持时间大于第二状态时间,因此观察时间和自动重置数的确定方法为:
第一状态保持时间T/第二状态保持时间T0=110/60=1,余数为50,即N0=1,m0=0。
因为N0等于1,因此观察时间和自动重置数确定为:观察时间Tw0=m0=50秒,自动重置数=1。即应用3的连接状态保持时间内,经过1次自动重置,第一次自动重置前(第0次自动重置后)的观察时间为50秒,第1次自动重置之后保留的时间为60秒,然后经过UDP的状态保持时间60秒后超时,NAT设备的保活装置删除该连接的保留状态。
由上述示例可知,对于某一应用的连接,若自动重置数不为0,则在每次已流失的状态保持时间达到观察时间时,复位状态保持时间,并将自动重置数减1。然后根据此次状态复位后的观察时间(对应此时状态重置数n),等待下一次观察时间的来临;若自动重置数为0,则等待第二状态保持时间结束后删除该应用的连接状态。
进一步的,本发明实施例还提供一种NAT设备的保活方法,还包括:
在第一应用对应的第一连接的状态保持时间内,若存在属于第一应用的数据包通过第一连接进入NAT设备,则同时复位第二状态保持时间和自动重置数。
具体的,本发明实施例中,在第一应用对应的第一连接的状态保持时间内,若存在属于第一应用的数据包通过第一连接进入NAT设备,则同时复位第二状态保持时间和自动重置数。即,在第一应用对应的第一连接的状态保持时间内,若存在属于第一应用的数据包通过第一连接进入NAT设备,则第二状态保持时间和观察时间均从0开始计时,自动重置数设置为初始值,也等同于第一状态保持时间从0开始重新计时。当然,若在第一应用对应的第一连接的状态保持时间内,没有属于第一连接的新数据包进入NAT设备进行激活,则第一连接的第一状态保持时间等于第一连接希望达到的状态保持时间。
优选的,本发明实施例还提供一种NAT设备的保活方法,当为第一应用建立第一连接后,获取所述第一应用对应的所述第一连接的第一状态保持时间(步骤S101)具体可以包括:
当为第一应用建立第一连接后,根据NAT设备的预先设置,获取第一应用对应的第一连接的第一状态保持时间。
其中,NAT设备的预先设置,可以是指定IP地址段的TCP数据包配置指定的状态保持时间,也可以是指定端口号的TCP数据包配置指定的状态保持时间,本发明对此不做限定。
可选的,本发明实施例还提供一种NAT设备的保活方法,当为第一应用建立第一连接后,获取所述第一应用对应的所述第一连接的第一状态保持时间(步骤S101)具体还可以包括:
当为第一应用建立第一连接后,根据第一应用的应用类型,获取第一应用对应的第一连接的第一状态保持时间。
具体的,可以根据对数据包的分析,判断应用层数据的类型,得知连接属于哪种应用,从而确定连接的状态保持时间,本发明实施例对此不作具体限定。
优选的,本发明实施例中,观察时间和第二状态保持时间可以共用NAT设备的超时定时器,其中,步骤S1中的复位第二状态保持时间,具体可以包括:调用超时定时器复位第二状态保持时间。
其中,超时定时器是NAT设备采用的具有映射状态的可配置超时时间段的定时器。
通过上述优选方案,可以直接调用NAT设备的超时定时器的定时器重置功能项来复位第二状态保持时间,不需要客户侧或服务器侧额外构造保活数据包发给NAT设备,不对其他设备产生影响。并且观察时间和第二状态保持时间共用NAT设备的超时定时器可以节约资源,简化NAT设备的配置。
本发明实施例提供的NAT设备的保活方法,通过为NAT设备中的第一应用对应的第一连接确定相应的观察时间和自动重置数,并利用该观察时间和自动重置数对第二状态保持时间进行自动重置,其中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间,实现了NAT设备的自激活,通过自动重置实现了不同连接达到不同状态保持时间的能力。不需要如现有技术一样,需要通过在客户侧或服务器侧生成大量的保活数据包,并通过网络侧向NAT设备传送该保活数据包来实现NAT设备的保活。因此,基于上述方案,本发明实施例提供的NAT设备的保活方法,一方面,由于无需客户侧或服务器侧产生保活数据包,因此减少了客户侧或服务器侧的负担;另一方面,由于不需要传输大量的保活数据包,因此减轻了网络侧设备的信令处理负担。
实施例二、
本发明实施例提供一种网络地址转化NAT设备的保活装置1,如图5所示,该保活装置1包括:获取单元10、确定单元11、定时器复位单元12、计数器计数单元13。
其中,获取单元10,用于当为第一应用建立第一连接后,获取第一应用对应的第一连接的第一状态保持时间;
确定单元11,用于根据第一状态保持时间,结合预设策略,确定第一连接的观察时间和自动重置数,其中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间;
定时器复位单元12,用于若自动重置数不为0,当已流失的状态保持时间达到观察时间时,复位第二状态保持时间;
计数器计数单元13,用于当已流失的状态保持时间达到观察时间时,在定时器复位单元复位第二状态保持时间时,将自动重置数减1,获得更新后的自动重置数。
优选的,本发明实施例还提供一种网络地址转化NAT设备的保活装置1,如图6所示,该保活装置1还包括:删除单元15。
删除单元15,用于若自动重置数为0,则当第二状态保持时间到达后删除第一应用对应的第一连接。
优选的,本发明实施例还提供一种网络地址转化NAT设备的保活装置1,确定单元11具体用于:
判断第一状态保持时间是否大于第二状态保持时间;
若第一状态保持时间大于第二状态保持时间,计算第一状态保持时间与第二状态保持时间的比值为N0,余数为m0,其中N0,m0均为整数;
若N0=1,确定自动重置数为1,观察时间为m0;
若N0≠1,根据第一预设公式,计算第一连接的观察时间和自动重置数,第一预设公式为:(第一状态保持时间-第二状态保持时间)/N0=a余b,n=N0+1,
其中,n表示自动重置数,a表示第一观察时间,b表示第二观察时间,TW0=b,TW1=TW2=...TW(n-1)=a,TWn=T0,TWn表示第n次重置后的观察时间,T0表示第二状态保持时间;
若第一状态保持时间不大于第二状态保持时间,确定观察时间为第二状态保持时间,自动重置数为0。
优选的,如图7所示,本发明实施例还提供一种网络地址转化NAT设备的保活装置1,所述NAT设备的保活装置1还包括:计数器复位单元14。
计数器复位单元14,用于在第一应用对应的第一连接的状态保持时间内,若存在属于第一应用的数据包通过第一连接进入NAT设备,定时器复位单元复位第二状态保持时间的同时,复位自动重置数;
定时器复位单元12,还用于在第一应用对应的第一连接的状态保持时间内,若存在属于第一应用的数据包通过第一连接进入NAT设备,复位第二状态保持时间。
优选的,本发明实施例还提供一种网络地址转化NAT设备的保活装置1,获取单元10具体用于:
当为第一应用建立第一连接后,根据NAT设备的预先设置,获取第一应用对应的第一连接的第一状态保持时间;
或者,获取单元10具体用于:
当为第一应用建立第一连接后,根据第一应用的应用类型,获取第一应用对应的第一连接的第一状态保持时间。
优选的,本发明实施例还提供一种网络地址转化NAT设备的保活装置1,其中,观察时间和第二状态保持时间共用NAT设备的超时定时器;
定时器复位单元12具体用于:
调用超时定时器复位第二状态保持时间。
其中,通过该NAT设备的保活装置1进行NAT设备的保活方法可参考实施例一的描述,本发明实施例在此不再赘述。
本发明实施例提供的NAT设备的保活装置,获取单元10在为第一应用建立第一连接后,获取第一应用对应的第一连接的第一状态保持时间。确定单元11根据由获取单元10获取的第一状态保持时间,结合预设策略,为NAT设备中的第一应用对应的第一连接确定相应的观察时间和自动重置数。其中,当第一状态保持时间大于统一设置的第一连接的第二状态保持时间时,观察时间小于第二状态保持时间。若自动重置数不为0,当已流失的状态保持时间达到观察时间时,定时器复位单元复位第二状态保持时间,并且计数器计数单元将自动重置数减1,获得更新后的自动重置数;基于上述方案,本发明实施例提供的NAT设备的保活装置实现了NAT设备的自激活,通过自动重置实现了不同连接达到不同状态保持时间的能力。不需要如现有技术一样,需要通过在客户侧或服务器侧生成大量的保活数据包,并通过网络侧向NAT设备传送该保活数据包来实现NAT设备的保活。一方面,由于无需客户侧或服务器侧产生保活数据包,因此减少了客户侧或服务器侧的负担;另一方面,由于不需要传输大量的保活数据包,因此减轻了网络侧设备的信令处理负担。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种网络地址转化NAT设备的保活方法,其特征在于,所述方法包括:
当为第一应用建立第一连接后,获取所述第一应用对应的所述第一连接的第一状态保持时间;
根据所述第一状态保持时间,结合预设策略,确定所述第一连接的观察时间和自动重置数,其中,当所述第一状态保持时间大于统一设置的所述第一连接的第二状态保持时间时,所述观察时间小于所述第二状态保持时间;
若所述自动重置数不为0,循环执行步骤S1:
S1:当已流失的状态保持时间达到所述观察时间时,复位所述第二状态保持时间,并将所述自动重置数减1,获得更新后的自动重置数;
所述根据所述第一状态保持时间,结合预设策略,确定所述第一连接的观察时间和自动重置数,包括:
判断所述第一状态保持时间是否大于所述第二状态保持时间;
若所述第一状态保持时间大于所述第二状态保持时间,计算所述第一状态保持时间与所述第二状态保持时间的比值为N0,余数为m0,其中N0,m0均为整数;
若N0=1,确定所述自动重置数为1,所述观察时间为m0;
若N0≠1,确定所述第一连接的所述观察时间和自动重置数,使其满足所述第一状态保持时间等于TW0+TW1+…+TWn,其中,n表示所述自动重置数,n=N0+1,TWn表示第n次重置后的所述观察时间;
若所述第一状态保持时间不大于所述第二状态保持时间,确定所述观察时间为所述第二状态保持时间,所述自动重置数为0。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述第一连接的观察时间和自动重置数之后,还包括:
若所述自动重置数为0,则当所述第二状态保持时间到达后删除所述第一应用对应的所述第一连接。
3.根据权利要求1所述的方法,其特征在于,
所述若N0≠1,确定所述第一连接的所述观察时间和自动重置数,使其满足所述第一状态保持时间等于TW0+TW1+…+TWn,包括:
若N0≠1,根据第一预设公式,确定所述第一连接的所述观察时间和所述自动重置数,所述第一预设公式为:
(第一状态保持时间-第二状态保持时间)/N0=a余b,n=N0+1,
其中,n表示自动重置数,a表示第一观察时间,b表示第二观察时间,TW0=b,TW1=TW2=…TW(n-1)=a,TWn=T0,TWn表示第n次重置后的观察时间,T0表示第二状态保持时间。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在所述第一应用对应的所述第一连接的状态保持时间内,若存在属于所述第一应用的数据包通过所述第一连接进入所述NAT设备,则同时复位所述第二状态保持时间和所述自动重置数。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述观察时间和所述第二状态保持时间共用所述NAT设备的超时定时器;
所述复位所述第二状态保持时间,包括:
调用所述超时定时器复位所述第二状态保持时间。
6.一种网络地址转化NAT设备的保活装置,其特征在于,所述装置包括:获取单元、确定单元、定时器复位单元、计数器计数单元;
所述获取单元,用于当为第一应用建立第一连接后,获取所述第一应用对应的所述第一连接的第一状态保持时间;
所述确定单元,用于根据所述第一状态保持时间,结合预设策略,确定所述第一连接的观察时间和自动重置数,其中,当所述第一状态保持时间大于统一设置的所述第一连接的第二状态保持时间时,所述观察时间小于所述第二状态保持时间;
所述定时器复位单元,用于若所述自动重置数不为0,当已流失的状态保持时间达到所述观察时间时,复位所述第二状态保持时间;
所述计数器计数单元,用于当已流失的状态保持时间达到所述观察时间时,在所述定时器复位单元复位所述第二状态保持时间时,将所述自动重置数减1,获得更新后的自动重置数;
所述确定单元,具体用于:
判断所述第一状态保持时间是否大于所述第二状态保持时间;
若所述第一状态保持时间大于所述第二状态保持时间,计算所述第一状态保持时间与所述第二状态保持时间的比值为N0,余数为m0,其中N0,m0均为整数;
若N0=1,确定所述自动重置数为1,所述观察时间为m0;
若N0≠1,确定所述第一连接的所述观察时间和自动重置数,使其满足所述第一状态保持时间等于TW0+TW1+…+TWn,其中,n表示所述自动重置数,n=N0+1,TWn表示第n次重置后的所述观察时间;
若所述第一状态保持时间不大于所述第二状态保持时间,确定所述观察时间为所述第二状态保持时间,所述自动重置数为0。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:删除单元;
所述删除单元,用于若所述自动重置数为0,则当所述第二状态保持时间到达后删除所述第一应用对应的所述第一连接。
8.根据权利要求6所述的装置,其特征在于,
所述若N0≠1,确定所述第一连接的所述观察时间和自动重置数,使其满足所述第一状态保持时间等于TW0+TW1+…+TWn,包括:
若N0≠1,根据第一预设公式,计算所述第一连接的所述观察时间和所述自动重置数,所述第一预设公式为:(第一状态保持时间-第二状态保持时间)/N0=a余b,n=N0+1,
其中,n表示自动重置数,a表示第一观察时间,b表示第二观察时间,TW0=b,TW1=TW2=…TW(n-1)=a,TWn=T0,TWn表示第n次重置后的观察时间,T0表示第二状态保持时间。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述装置还包括:计数器复位单元;
所述计数器复位单元,用于在所述第一应用对应的所述第一连接的状态保持时间内,若存在属于所述第一应用的数据包通过所述第一连接进入所述NAT设备,所述定时器复位单元复位所述第二状态保持时间的同时,复位所述自动重置数;
所述定时器复位单元,还用于在所述第一应用对应的所述第一连接的状态保持时间内,若存在属于所述第一应用的数据包通过所述第一连接进入所述NAT设备,复位所述第二状态保持时间。
10.根据权利要求6-8任一项所述的装置,其特征在于,所述观察时间和所述第二状态保持时间共用所述NAT设备的超时定时器;
所述定时器复位单元具体用于:
调用所述超时定时器复位所述第二状态保持时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410540131.9A CN104320500B (zh) | 2014-10-13 | 2014-10-13 | 一种nat设备的保活方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410540131.9A CN104320500B (zh) | 2014-10-13 | 2014-10-13 | 一种nat设备的保活方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104320500A CN104320500A (zh) | 2015-01-28 |
CN104320500B true CN104320500B (zh) | 2017-11-10 |
Family
ID=52375667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410540131.9A Active CN104320500B (zh) | 2014-10-13 | 2014-10-13 | 一种nat设备的保活方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104320500B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106550058A (zh) * | 2015-09-17 | 2017-03-29 | 群晖科技股份有限公司 | 网络地址转换穿透方法以及使用该方法的*** |
CN109862111B (zh) * | 2019-03-08 | 2021-09-24 | 网易(杭州)网络有限公司 | 时域会话老化的控制方法、装置、存储介质和电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622834A (zh) * | 2007-02-28 | 2010-01-06 | 微软公司 | 用于与网络地址转换***相关联的客户机的带外保活机制 |
CN101632269A (zh) * | 2007-03-12 | 2010-01-20 | 微软公司 | Nat连接状态保活的成本降低 |
CN101631377A (zh) * | 2009-07-30 | 2010-01-20 | 中兴通讯股份有限公司 | 终端休眠方法及终端 |
CN103297416A (zh) * | 2012-02-27 | 2013-09-11 | 三星电子株式会社 | 用于双向通信的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8375134B2 (en) * | 2009-06-08 | 2013-02-12 | Microsoft Corporation | Determining an efficient keep-alive interval for a network connection |
-
2014
- 2014-10-13 CN CN201410540131.9A patent/CN104320500B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622834A (zh) * | 2007-02-28 | 2010-01-06 | 微软公司 | 用于与网络地址转换***相关联的客户机的带外保活机制 |
CN101632269A (zh) * | 2007-03-12 | 2010-01-20 | 微软公司 | Nat连接状态保活的成本降低 |
CN101631377A (zh) * | 2009-07-30 | 2010-01-20 | 中兴通讯股份有限公司 | 终端休眠方法及终端 |
CN103297416A (zh) * | 2012-02-27 | 2013-09-11 | 三星电子株式会社 | 用于双向通信的方法和设备 |
Non-Patent Citations (1)
Title |
---|
永远在线方案研究;赵文贤等;《中兴通讯技术》;20131231;第19卷(第6期);第53-56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104320500A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2645679B1 (en) | Method and apparatus for message transmission | |
US10110555B2 (en) | Method, device, and system for quickly informing CGN exception | |
US10103962B1 (en) | Return path trace | |
JP7113840B2 (ja) | 計算ノード管理プロトコルのためのシステムおよび方法 | |
WO2005109785A1 (ja) | 情報処理装置、バブルパケット送信方法およびプログラム | |
CN109937400A (zh) | 用于虚拟机的实时迁移的流状态传送 | |
CN100536438C (zh) | DHCPv6服务的测试方法和客户端 | |
CN104427010A (zh) | 应用于动态虚拟专用网络的网络地址转换方法和装置 | |
CN104969515B (zh) | 处理dns请求的方法和网关 | |
US10764243B2 (en) | Method and apparatus for keeping network address translation mapping alive | |
CN105208053A (zh) | 一种实现负载均衡的方法、装置及负载均衡服务*** | |
CN109728962A (zh) | 一种发送报文的方法和设备 | |
CN107786669B (zh) | 一种负载均衡处理的方法、服务器、装置及存储介质 | |
CN101361349A (zh) | 通信模块以及包括该通信模块的应用程序 | |
CN104320500B (zh) | 一种nat设备的保活方法及装置 | |
CN104584517A (zh) | 在数据中心中使用的用于将IPv4分组在IPv6网络上路由的方法和网络节点 | |
CN108989438A (zh) | 数据分发网络的实现方法、装置和*** | |
CN104506573B (zh) | 点对点装置与点对点联机方法 | |
CN108768878A (zh) | 一种负载均衡***、方法、装置及负载均衡设备 | |
CN102204191A (zh) | 一种报文转发方法和网间路由装置 | |
US8358648B1 (en) | Allocating socket ranges to increase address space | |
AU2023203289A1 (en) | Systems and methods for providing a ReNAT communications environment | |
US9413590B2 (en) | Method for management of a secured transfer session through an address translation device, corresponding server and computer program | |
CN104115473A (zh) | 虚拟接口应用 | |
CN104486453A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |