CN102946352B - 一种基于IPsec的NAT转换表项管理方法和设备 - Google Patents

一种基于IPsec的NAT转换表项管理方法和设备 Download PDF

Info

Publication number
CN102946352B
CN102946352B CN201210426926.8A CN201210426926A CN102946352B CN 102946352 B CN102946352 B CN 102946352B CN 201210426926 A CN201210426926 A CN 201210426926A CN 102946352 B CN102946352 B CN 102946352B
Authority
CN
China
Prior art keywords
nat
list item
translation table
keep
message
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
Application number
CN201210426926.8A
Other languages
English (en)
Other versions
CN102946352A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210426926.8A priority Critical patent/CN102946352B/zh
Publication of CN102946352A publication Critical patent/CN102946352A/zh
Application granted granted Critical
Publication of CN102946352B publication Critical patent/CN102946352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于IPsec的NAT转换表项管理方法和设备,该方法包括:在SA协商完成后,NAT设备接收IPsec发起方发送的第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;如果所述NAT设备上有所述第一NAT表项保活报文对应的NAT转换表项,则所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间。本发明中,可以减少网络开销。

Description

一种基于IPsec的NAT转换表项管理方法和设备
技术领域
本发明涉及通信技术领域,特别是涉及了一种基于IPsec(IPSecurity,IP安全)的NAT(NetworkAddressTranslation,网络地址转换)转换表项管理方法和设备。
背景技术
IPsec是三层隧道加密协议,是实现三层VPN(VirtualPrivateNetwork,虚拟专用网络)的安全技术,并用于在IP层提供以下安全服务:(1)数据机密性:IPsec发送方在通过网络传输报文前对报文进行加密;(2)数据完整性:IPsec响应方对接收报文进行认证,以确保报文在传输过程中没有被篡改;(3)数据来源认证:IPsec响应方可以认证发送IPsec报文的IPsec发送方是否合法;(4)防重放:IPsec响应方可以检测并拒绝接收过时或者重复的报文。
为了实现上述安全服务,IPsec提供了认证和加密等两种安全机制;认证机制使IP通信的响应方能够确认报文发送方的真实身份以及报文在传输过程中是否遭篡改;加密机制通过对报文进行加密运算来保证报文的机密性,防止报文在传输过程中被窃听。其中,IPsec协议中的AH(AuthenticationHeader,验证头)协议定义了认证的应用方法,ESP(EncapsulatingSecurityPayload,封装安全载荷)协议定义了加密和可选认证的应用方法;在实际进行IP通信时,可以根据实际安全需求同时使用AH和ESP,或者选择使用其中一种。
IPsec在两个端点之间提供安全通信,且两个端点被称为IPsec对等体,分别为IPsec发起方和IPsec响应方;此外,SA(SecurityAssociation,安全联盟)是IPsec对等体之间对某些要素的约定;例如,使用哪种协议(AH、ESP)、使用哪种协议封装模式(传输模式、隧道模式)、使用哪种加密算法等;进一步的,IPsec对等体之间可以通过IKE(InternetKeyExchange,Internet密钥交换)协商建立SA信息,如图1所示,为IPsec与IKE的关系示意图。
如图2所示,NAT是将IP报文头中的IP地址转换为另一个IP地址的过程,并用于实现私有网络访问公共网络,有助于减缓可用IP地址空间的枯竭;进一步的,如图3所示,NAPT(NetworkAddressPortTranslation,网络地址端口转换)允许多个内部地址映射到同一公有地址上,且NAPT同时映射IP地址和端口号:即来自不同内部地址的IP报文的源地址可以映射到同一外部地址,但各IP报文的端口号被转换为该地址的不同端口号,因此能够共享同一地址,即私网IP地址+端口号与公网IP地址+端口号之间的转换。
在目前的组网中,IPsec以及NAT的使用都非常普遍,因此当前可以同时部署IPsec和NAT设备;如图4所示,RT2(路由器)为NAT设备,PC1(主机)和RT1在NAT内侧,PC2和RT3在NAT外侧;当PC1和PC2之间需要通信时,在RT1和RT3之间建立一条IPsec链路;在RT1向RT3发送IKE协商报文后,NAT设备需要为该IKE协商报文维护NAT转换表项,以使RT3回应的IKE协商报文能够正确发送给RT1;该NAT转换表项有一定的老化时间(该老化时间为NAT设备上配置的),在老化时间内如果没有IKE协商报文经过NAT设备,则NAT设备会删除该NAT转换表项。
现有技术中,RT1需要周期性发送NAT表项保活报文(发送周期缺省为20秒),以使NAT设备上的NAT转换表项不被删除;但周期性发送NAT表项保活报文会存在网络开销,且如果发送周期设置很短,则网络开销会很大。
发明内容
本发明提供了一种基于IPsec的NAT转换表项管理方法和设备,以减少网络开销。
为了达到上述目的,本发明实施例提供一种基于IPsec的NAT转换表项管理方法,应用于包括IPsec发起方、NAT设备和IPsec响应方的网络中,该方法包括以下步骤:
在SA协商过程中,所述NAT设备接收所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送的IKE协商报文;如果所述NAT设备上没有所述IKE协商报文对应的NAT转换表项,则为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;如果所述NAT设备上有所述IKE协商报文对应的NAT转换表项,则更新所述NAT转换表项对应的老化定时器;
在SA协商完成后,所述NAT设备接收所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送的第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;如果所述NAT设备上有所述第一NAT表项保活报文对应的NAT转换表项,则所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间。
所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间的过程,具体包括:
所述NAT设备检查所述第一NAT表项保活报文的载荷内容;如果所述载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值,则所述NAT设备从所述第一NAT表项保活报文中解析所述老化时间,并通过所述老化时间调整对应的NAT转换表项的老化时间。
所述NAT设备为所述NAT转换表项维护老化定时器,之后还包括:
所述NAT设备在所述NAT转换表项对应的老化定时器超时之后,删除所述NAT转换表项;和/或,
所述NAT设备接收所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送的第二NAT表项保活报文,如果所述NAT设备上有所述第二NAT表项保活报文对应的NAT转换表项,且所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值,则所述NAT设备删除所述第二NAT表项保活报文对应的NAT转换表项。
本发明实施例提供一种基于IPsec的NAT转换表项管理方法,应用于包括IPsec发起方、NAT设备和IPsec响应方的网络中,该方法包括以下步骤:
在SA协商过程中,所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送IKE协商报文;由所述NAT设备为所述IKE协商报文维护NAT转换表项,并为所述NAT转换表项设置老化时间;
在SA协商完成后,所述IPsec发起方确定SA的老化时间,并通过所述NAT设备向所述IPsec响应方发送第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;由所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
所述第一NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第一NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第一NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第一NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同。
所述方法进一步包括:在删除所述SA时,所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送第二NAT表项保活报文;由所述NAT设备删除所述第二NAT表项保活报文所对应的NAT转换表项;
所述第二NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第二NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第二NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第二NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同;
所述第一NAT表项保活报文的载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值;所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值。
本发明实施例提供一种NAT设备,应用于包括IPsec发起方、所述NAT设备和IPsec响应方的网络中,所述NAT设备包括:
第一接收模块,用于在SA协商过程中,接收所述IPsec发起方通过本设备向所述IPsec响应方发送的IKE协商报文;
第一表项管理模块,用于当本设备上没有所述IKE协商报文对应的NAT转换表项时,为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;当本设备上有所述IKE协商报文对应的NAT转换表项时,更新所述NAT转换表项对应的老化定时器;
第二接收模块,用于在SA协商完成后,接收所述IPsec发起方通过本设备向所述IPsec响应方发送的第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;
第二表项管理模块,用于当本设备上有所述第一NAT表项保活报文对应的NAT转换表项时,通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间。
所述第二表项管理模块,具体用于检查所述第一NAT表项保活报文的载荷内容;如果所述载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值,则从所述第一NAT表项保活报文中解析所述老化时间,并通过所述老化时间调整对应的NAT转换表项的老化时间。
还包括:第三接收模块,用于接收所述IPsec发起方通过本设备向所述IPsec响应方发送的第二NAT表项保活报文;
第三表项管理模块,用于当本设备上有所述第二NAT表项保活报文对应的NAT转换表项,且所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值时,删除所述第二NAT表项保活报文对应的NAT转换表项;和/或,在所述NAT转换表项对应的老化定时器超时之后,删除所述NAT转换表项。
本发明实施例提供一种IPsec发起方,应用于包括所述IPsec发起方、NAT设备和IPsec响应方的网络中,所述IPsec发起方包括:
第一发送模块,用于在SA协商过程中,通过所述NAT设备向所述IPsec响应方发送IKE协商报文;由所述NAT设备为所述IKE协商报文维护NAT转换表项,并为所述NAT转换表项设置老化时间;
第二发送模块,用于在SA协商完成后,确定SA的老化时间,并通过所述NAT设备向所述IPsec响应方发送第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;由所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
所述第一NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第一NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第一NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第一NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同。
还包括:第三发送模块,用于在删除所述SA时,通过所述NAT设备向所述IPsec响应方发送第二NAT表项保活报文;由所述NAT设备删除所述第二NAT表项保活报文所对应的NAT转换表项;
所述第二NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第二NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第二NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第二NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同;
所述第一NAT表项保活报文的载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值;所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,通过设置NAT转换表项的老化时间为SA的老化时间与指定时间(如20s)之和,使得IPsec发起方不用周期性发送NAT表项保活报文,减少网络开销。
附图说明
图1是现有技术中IPsec与IKE的关系示意图;
图2是现有技术中NAT的处理过程示意图;
图3是现有技术中NAPT的处理过程示意图;
图4是现有技术中同时部署IPsec和NAT设备的网络示意图;
图5是本发明实施例提供的基于IPsec的NAT转换表项管理方法流程图;
图6是本发明实施例中提出的NAT表项保活报文的格式示意图;
图7是本发明实施例提出的NAT设备的结构示意图;
图8是本发明实施例提出的IPsec发起方的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
针对现有技术中存在的问题,本发明实施例提出一种基于IPsec的NAT转换表项管理方法,应用于包括IPsec发起方、NAT设备和IPsec响应方的网络中,在IPsec穿越NAT设备的网络环境下,IPsec发起方不用周期性的发送NAT表项保活报文,从而减少网络开销。如图5所示,该方法包括以下步骤:
步骤501,在SA协商过程中,IPsec发起方通过NAT设备向IPsec响应方发送IKE协商报文(用于协商SA的相关信息)。
以图4为本发明实施例的应用场景示意图,假设RT1和RT3部署有IPsec,RT1和RT2相连的接口上配置了IPsec策略,RT3和RT2相连的接口上配置了IPsec策略,且RT2上开启NAT功能,PC1和PC2为主机,PC1在NAT内侧,PC2在NAT外侧;则:在PC1需要向PC2发送数据时,RT1为IPsec发起方,RT3为IPsec响应方,RT2为NAT设备。
RT1在接收到PC1需要向PC2发送的数据后,根据路由获知出接口为自身与RT2相连的接口,地址为17.17.17.12,且由于该接口上配置了IPsec策略,因此RT1触发IPsec的SA协商过程,以在RT1和RT3之间建立IPsec隧道。进一步的,在IPsec隧道的建立过程中,RT1需要通过NAT设备向RT3发送IKE协商报文,且RT3需要通过NAT设备向RT1返回IKE协商报文。
步骤502,NAT设备收到IKE协商报文后,如果NAT设备上没有IKE协商报文对应的NAT转换表项,则为IKE协商报文建立NAT转换表项,为NAT转换表项设置老化时间(根据实际经验进行设置),并为NAT转换表项维护老化定时器;如果NAT设备上有IKE协商报文对应的NAT转换表项,则更新NAT转换表项对应的老化定时器(即对老化定时器重新计时)。
本发明实施例中,在RT1通过RT2向RT3发送IKE协商报文之后,为了保证RT3能够通过RT2向RT1返回IKE协商报文,因此RT2上需要维护IKE协商报文对应的NAT转换表项;即:在RT2上没有IKE协商报文对应的NAT转换表项时,为IKE协商报文建立NAT转换表项,且NAT转换表项存在一定的老化时间(RT2上手工配置的),并从建立NAT转换表项开始,为该NAT转换表项维护老化定时器;如果RT2上有IKE协商报文对应的NAT转换表项,则只需要清除老化定时器当前的计时,并重新启动该老化定时器。
步骤503,在SA协商完成之后,IPsec发起方确定SA的老化时间(可以在SA协商过程中获知),并通过NAT设备向IPsec响应方发送第一NAT表项保活报文;其中,该第一NAT表项保活报文中携带了NAT转换表项的老化时间,且该NAT转换表项的老化时间为SA的老化时间与指定时间(如10秒、20秒等,可以根据实际经验设置)之和。
步骤504,NAT设备在收到第一NAT表项保活报文后,如果NAT设备上有第一NAT表项保活报文对应的NAT转换表项,则NAT设备通过第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间。
本发明实施例中,在通过第一NAT表项保活报文将SA老化时间加上一段时间的偏移(即指定时间)发送给NAT设备之后,NAT设备以该时间值作为NAT转换表项的老化时间,从而使得整个SA存在的生命周期内,IPsec发起方都不需要向NAT设备发送NAT表项保活报文,以减少网络开销。
本发明实施例中,第一NAT表项保活报文的IP头中源地址与IKE协商报文的IP头中源地址相同,第一NAT表项保活报文的IP头中目的地址与IKE协商报文的IP头中目的地址相同,第一NAT表项保活报文的UDP头中源端口与IKE协商报文的UDP头中源端口相同,第一NAT表项保活报文的UDP头中目的端口与IKE协商报文的UDP头中目的端口相同。
具体的,由于NAT转换表项是为IKE协商报文所建立的,且NAT转换表项中会记录IKE协商报文的相关信息(IP头中源地址和目的地址,UDP头中源端口和目的端口),因此NAT设备在收到第一NAT表项保活报文之后,可以利用第一NAT表项保活报文的IP头中源地址和目的地址、UDP头中源端口和目的端口匹配NAT转换表项,以确定该NAT设备上是否记录有第一NAT表项保活报文所对应的NAT转换表项。
本发明实施例中,该第一NAT表项保活报文的载荷内容为指示第一NAT表项保活报文用于调整老化时间的第一数值;基于此,NAT设备调整NAT转换表项的老化时间的过程具体包括:NAT设备在收到第一NAT表项保活报文后,如果NAT设备上有第一NAT表项保活报文对应的NAT转换表项,则检查第一NAT表项保活报文的载荷内容;如果载荷内容为指示第一NAT表项保活报文用于调整老化时间的第一数值,则从第一NAT表项保活报文中解析出老化时间,并通过该老化时间调整对应的NAT转换表项的老化时间。
在图4所示应用场景下,RT2收到第一NAT表项保活报文后,如果第一NAT表项保活报文对应有之前建立的NAT转换表项,则RT2需要通过第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;具体的,由于第一NAT表项保活报文的目的地址不是本设备的地址(是RT3的地址),因此RT2需要检查第一NAT表项保活报文的应用层协议数据长度是否为1,且为第一数值;如果是,则RT2认为第一NAT表项保活报文是NAT内侧设备发送的用于调整老化时间的报文,并从第一NAT表项保活报文中解析出老化时间,通过该老化时间调整本地建立的NAT转换表项的老化时间。
本发明实施例的上述过程中,NAT设备可以利用第一NAT表项保活报文中携带的老化时间(为SA的老化时间与指定时间之和)调整NAT转换表项的老化时间,从而使得NAT转换表项的生命周期大于SA的生命周期;进一步的,在SA老化之前,NAT转换表项不会被老化,从而使得NAT外侧设备发送的IKE协商报文可以正确穿越NAT设备到达NAT内侧设备。
本发明实施例的上述过程中,阐述了NAT转换表项的维护过程,在具体实现过程中,还可以对NAT转换表项进行删除处理,相应的删除方式包括:
方式一、NAT设备在NAT转换表项对应的老化定时器(老化时间为SA的老化时间与指定时间之和)超时之后,删除对应的NAT转换表项。
方式二、在删除SA(如所有SA被手动删除或收到IPsec响应方删除SA的消息)时,IPsec发起方通过NAT设备向IPsec响应方发送第二NAT表项保活报文;NAT设备在收到第二NAT表项保活报文后,如果NAT设备上有第二NAT表项保活报文对应的NAT转换表项,则删除对应的NAT转换表项。
本发明实施例中,第二NAT表项保活报文的IP头中源地址与IKE协商报文的IP头中源地址相同,第二NAT表项保活报文的IP头中目的地址与IKE协商报文的IP头中目的地址相同,第二NAT表项保活报文的UDP头中源端口与IKE协商报文的UDP头中源端口相同,第二NAT表项保活报文的UDP头中目的端口与IKE协商报文的UDP头中目的端口相同。
具体的,由于NAT转换表项是为IKE协商报文所建立的,且NAT转换表项中会记录IKE协商报文的相关信息(IP头中源地址和目的地址,UDP头中源端口和目的端口),因此NAT设备在收到第二NAT表项保活报文之后,可以利用第二NAT表项保活报文的IP头中源地址和目的地址、UDP头中源端口和目的端口匹配NAT转换表项,以确定该NAT设备上是否记录有第二NAT表项保活报文所对应的NAT转换表项。
本发明实施例中,该第二NAT表项保活报文的载荷内容为指示第二NAT表项保活报文用于删除NAT转换表项的第二数值;基于此,NAT设备删除NAT转换表项的过程具体包括:NAT设备在收到第二NAT表项保活报文后,如果NAT设备上有第二NAT表项保活报文对应的NAT转换表项,则检查第二NAT表项保活报文的载荷内容;如果载荷内容为指示第二NAT表项保活报文用于删除NAT转换表项的第二数值,则删除第二NAT表项保活报文对应的NAT转换表项,回收相关资源(定时器资源、NAT转换表项资源)。
在图4所示应用场景下,RT2收到第二NAT表项保活报文后,如果第二NAT表项保活报文对应有之前建立的NAT转换表项,则RT2需要删除第二NAT表项保活报文对应的NAT转换表项;具体的,由于第二NAT表项保活报文的目的地址不是本设备的地址(是RT3的地址),因此RT2需要检查第二NAT表项保活报文的应用层协议数据长度是否为1,且为第二数值;如果是,则RT2认为第二NAT表项保活报文是NAT内侧设备发送的用于删除NAT转换表项的报文,并删除第二NAT表项保活报文对应的NAT转换表项。
本发明实施例中,如果为NAT转换表项老化时间以及SA老化时间维护有时间规格,且NAT转换表项老化时间的时间规格比SA老化时间的时间规格范围大,则:如果第一NAT表项保活报文中携带的老化时间不在NAT转换表项老化时间的时间规格范围内(即老化时间太小或者太大),NAT采取缺省的老化时间(根据实际经验值进行设置)作为NAT转换表项的老化时间。
本发明实施例的优选实施方式中,结合图6所示的NAT表项保活报文的格式对上述的第一NAT表项保活报文和第二NAT表项保活报文进行说明。
在图6中,NAT表项保活报文为明文方式,且网络层协议为IP,传输层协议为UDP,即NAT表项保活报文中包括IP头、UDP头和载荷;其中,IP头的源地址与IKE协商报文的源地址相同,IP头的目的地址与IKE协商报文的目的地址相同,且UDP头的源端口与IKE协商报文的源端口相同,UDP头的目的端口与IKE协商报文的目的端口相同。
对于ucType的取值(即载荷内容)如下所示:
0xFF:当前定义的NAT表项保活报文。
0xFE(即第一数值):此时报文为第一NAT表项保活报文,0xFE可以指示第一NAT表项保活报文用于调整老化时间,且Payload-Value为两个字节,用于标识NAT转换表项的老化时间,其单位为秒。
0xFD(即第二数值):此时报文为第二NAT表项保活报文,0xFD可以指示第二NAT表项保活报文用于删除NAT转换表项。
基于与上述方法同样的发明构思,本发明实施例还提出了一种NAT设备,应用于包括IPsec发起方、所述NAT设备和IPsec响应方的网络中,如图7所示,所述NAT设备包括:
第一接收模块11,用于在SA协商过程中,接收所述IPsec发起方通过本设备向所述IPsec响应方发送的IKE协商报文;
第一表项管理模块12,用于当本设备上没有所述IKE协商报文对应的NAT转换表项时,为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;当本设备上有所述IKE协商报文对应的NAT转换表项时,更新所述NAT转换表项对应的老化定时器;
第二接收模块13,用于在SA协商完成后,接收所述IPsec发起方通过本设备向所述IPsec响应方发送的第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;
第二表项管理模块14,用于当本设备上有所述第一NAT表项保活报文对应的NAT转换表项时,通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间。
所述第二表项管理模块14,具体用于检查所述第一NAT表项保活报文的载荷内容;如果所述载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值,则从所述第一NAT表项保活报文中解析所述老化时间,并通过所述老化时间调整对应的NAT转换表项的老化时间。
该NAT设备还包括:第三接收模块15,用于接收所述IPsec发起方通过本设备向所述IPsec响应方发送的第二NAT表项保活报文;
第三表项管理模块16,用于当本设备上有所述第二NAT表项保活报文对应的NAT转换表项,且所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值时,删除所述第二NAT表项保活报文对应的NAT转换表项;和/或,在所述NAT转换表项对应的老化定时器超时之后,删除所述NAT转换表项。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的发明构思,本发明还提出了一种IPsec发起方,应用于包括所述IPsec发起方、NAT设备和IPsec响应方的网络中,如图8所示,所述IPsec发起方包括:
第一发送模块21,用于在SA协商过程中,通过所述NAT设备向所述IPsec响应方发送IKE协商报文;由所述NAT设备为所述IKE协商报文维护NAT转换表项,并为所述NAT转换表项设置老化时间;
第二发送模块22,用于在SA协商完成后,确定SA的老化时间,通过所述NAT设备向所述IPsec响应方发送第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;由所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
所述第一NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第一NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第一NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第一NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同。
该IPsec发起方还包括:第三发送模块23,用于在删除所述SA时,通过所述NAT设备向所述IPsec响应方发送第二NAT表项保活报文;由所述NAT设备删除所述第二NAT表项保活报文所对应的NAT转换表项;
所述第二NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第二NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第二NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第二NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同;
所述第一NAT表项保活报文的载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值;所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种基于IPsec的NAT转换表项管理方法,应用于包括IPsec发起方、NAT设备和IPsec响应方的网络中,其特征在于,该方法包括以下步骤:
在SA协商过程中,所述NAT设备接收所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送的IKE协商报文;如果所述NAT设备上没有所述IKE协商报文对应的NAT转换表项,则为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;如果所述NAT设备上有所述IKE协商报文对应的NAT转换表项,则更新所述NAT转换表项对应的老化定时器;
在SA协商完成后,所述NAT设备接收所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送的第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;如果所述NAT设备上有所述第一NAT表项保活报文对应的NAT转换表项,则所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
其中,所述更新所述NAT转换表项对应的老化定时器,具体包括:清除老化定时器当前的计时,并重新启动该老化定时器。
2.如权利要求1所述的方法,其特征在于,所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间的过程,具体包括:
所述NAT设备检查所述第一NAT表项保活报文的载荷内容;如果所述载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值,则所述NAT设备从所述第一NAT表项保活报文中解析所述老化时间,并通过所述老化时间调整对应的NAT转换表项的老化时间。
3.如权利要求1所述的方法,其特征在于,所述NAT设备为所述NAT转换表项维护老化定时器,之后还包括:
所述NAT设备在所述NAT转换表项对应的老化定时器超时之后,删除所述NAT转换表项;和/或,
所述NAT设备接收所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送的第二NAT表项保活报文,如果所述NAT设备上有所述第二NAT表项保活报文对应的NAT转换表项,且所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值,则所述NAT设备删除所述第二NAT表项保活报文对应的NAT转换表项。
4.一种基于IPsec的NAT转换表项管理方法,应用于包括IPsec发起方、NAT设备和IPsec响应方的网络中,其特征在于,该方法包括以下步骤:
在SA协商过程中,所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送IKE协商报文;如果所述NAT设备上没有所述IKE协商报文对应的NAT转换表项,则为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;如果所述NAT设备上有所述IKE协商报文对应的NAT转换表项,则更新所述NAT转换表项对应的老化定时器;
在SA协商完成后,所述IPsec发起方确定SA的老化时间,并通过所述NAT设备向所述IPsec响应方发送第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;由所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
所述第一NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第一NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第一NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第一NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同。
5.如权利要求4所述的方法,其特征在于,所述方法进一步包括:
在删除所述SA时,所述IPsec发起方通过所述NAT设备向所述IPsec响应方发送第二NAT表项保活报文;由所述NAT设备删除所述第二NAT表项保活报文所对应的NAT转换表项;
所述第二NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第二NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第二NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第二NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同;
所述第一NAT表项保活报文的载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值;所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值。
6.一种NAT设备,应用于包括IPsec发起方、所述NAT设备和IPsec响应方的网络中,其特征在于,所述NAT设备包括:
第一接收模块,用于在SA协商过程中,接收所述IPsec发起方通过本设备向所述IPsec响应方发送的IKE协商报文;
第一表项管理模块,用于当本设备上没有所述IKE协商报文对应的NAT转换表项时,为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;当本设备上有所述IKE协商报文对应的NAT转换表项时,更新所述NAT转换表项对应的老化定时器;
第二接收模块,用于在SA协商完成后,接收所述IPsec发起方通过本设备向所述IPsec响应方发送的第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;
第二表项管理模块,用于当本设备上有所述第一NAT表项保活报文对应的NAT转换表项时,通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
其中,所述第一表项管理模块用于更新所述NAT转换表项对应的老化定时器时,具体用于:清除老化定时器当前的计时,并重新启动该老化定时器。
7.如权利要求6所述的NAT设备,其特征在于,
所述第二表项管理模块,具体用于检查所述第一NAT表项保活报文的载荷内容;如果所述载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值,则从所述第一NAT表项保活报文中解析所述老化时间,并通过所述老化时间调整对应的NAT转换表项的老化时间。
8.如权利要求6所述的NAT设备,其特征在于,还包括:
第三接收模块,用于接收所述IPsec发起方通过本设备向所述IPsec响应方发送的第二NAT表项保活报文;
第三表项管理模块,用于当本设备上有所述第二NAT表项保活报文对应的NAT转换表项,且所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值时,删除所述第二NAT表项保活报文对应的NAT转换表项;和/或,在所述NAT转换表项对应的老化定时器超时之后,删除所述NAT转换表项。
9.一种IPsec发起方,应用于包括所述IPsec发起方、NAT设备和IPsec响应方的网络中,其特征在于,所述IPsec发起方包括:
第一发送模块,用于在SA协商过程中,通过所述NAT设备向所述IPsec响应方发送IKE协商报文;如果所述NAT设备上没有所述IKE协商报文对应的NAT转换表项,则为所述IKE协商报文建立NAT转换表项,为所述NAT转换表项设置老化时间,并为所述NAT转换表项维护老化定时器;如果所述NAT设备上有所述IKE协商报文对应的NAT转换表项,则更新所述NAT转换表项对应的老化定时器;
第二发送模块,用于在SA协商完成后,确定SA的老化时间,并通过所述NAT设备向所述IPsec响应方发送第一NAT表项保活报文,所述第一NAT表项保活报文中携带了NAT转换表项的老化时间,且所述NAT转换表项的老化时间为SA的老化时间与指定时间之和;由所述NAT设备通过所述第一NAT表项保活报文中携带的老化时间调整对应的NAT转换表项的老化时间;
所述第一NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第一NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第一NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第一NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同。
10.如权利要求9所述的IPsec发起方,其特征在于,还包括:
第三发送模块,用于在删除所述SA时,通过所述NAT设备向所述IPsec响应方发送第二NAT表项保活报文;由所述NAT设备删除所述第二NAT表项保活报文所对应的NAT转换表项;
所述第二NAT表项保活报文的IP头中源地址与所述IKE协商报文的IP头中源地址相同,所述第二NAT表项保活报文的IP头中目的地址与所述IKE协商报文的IP头中目的地址相同,所述第二NAT表项保活报文的UDP头中源端口与所述IKE协商报文的UDP头中源端口相同,所述第二NAT表项保活报文的UDP头中目的端口与所述IKE协商报文的UDP头中目的端口相同;
所述第一NAT表项保活报文的载荷内容为指示所述第一NAT表项保活报文用于调整老化时间的第一数值;所述第二NAT表项保活报文的载荷内容为指示所述第二NAT表项保活报文用于删除NAT转换表项的第二数值。
CN201210426926.8A 2012-10-31 2012-10-31 一种基于IPsec的NAT转换表项管理方法和设备 Active CN102946352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210426926.8A CN102946352B (zh) 2012-10-31 2012-10-31 一种基于IPsec的NAT转换表项管理方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210426926.8A CN102946352B (zh) 2012-10-31 2012-10-31 一种基于IPsec的NAT转换表项管理方法和设备

Publications (2)

Publication Number Publication Date
CN102946352A CN102946352A (zh) 2013-02-27
CN102946352B true CN102946352B (zh) 2016-05-04

Family

ID=47729260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210426926.8A Active CN102946352B (zh) 2012-10-31 2012-10-31 一种基于IPsec的NAT转换表项管理方法和设备

Country Status (1)

Country Link
CN (1) CN102946352B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179225B (zh) * 2013-03-18 2016-12-28 杭州华三通信技术有限公司 一种基于IPsec的NAT表项保活方法和设备
CN104980405A (zh) * 2014-04-10 2015-10-14 中兴通讯股份有限公司 一种对经过nat穿越的ipsec报文进行ah认证的方法及装置
CN104125151A (zh) * 2014-08-06 2014-10-29 汉柏科技有限公司 一种IPSec报文转发的方法及系统
CN104333611B (zh) * 2014-10-29 2017-07-04 中国联合网络通信集团有限公司 一种老化时间的调整方法及装置
CN109600277B (zh) * 2018-12-05 2020-08-04 杭州迪普科技股份有限公司 基于NAT设备的IPSec隧道保活方法和装置
CN110086702B (zh) * 2019-04-04 2021-09-21 杭州迪普科技股份有限公司 报文转发方法、装置、电子设备及机器可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488904A (zh) * 2009-02-27 2009-07-22 杭州华三通信技术有限公司 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备
JP2011182070A (ja) * 2010-02-26 2011-09-15 Nippon Telegr & Teleph Corp <Ntt> 仮想通信路接続システムおよび仮想通信路接続方法
CN102546670A (zh) * 2012-03-01 2012-07-04 神州数码网络(北京)有限公司 安全的组播侦听者发现协议窥探方法和装置
CN102572013A (zh) * 2012-02-16 2012-07-11 神州数码网络(北京)有限公司 一种基于免费arp实现代理arp的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488904A (zh) * 2009-02-27 2009-07-22 杭州华三通信技术有限公司 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备
JP2011182070A (ja) * 2010-02-26 2011-09-15 Nippon Telegr & Teleph Corp <Ntt> 仮想通信路接続システムおよび仮想通信路接続方法
CN102572013A (zh) * 2012-02-16 2012-07-11 神州数码网络(北京)有限公司 一种基于免费arp实现代理arp的方法及系统
CN102546670A (zh) * 2012-03-01 2012-07-04 神州数码网络(北京)有限公司 安全的组播侦听者发现协议窥探方法和装置

Also Published As

Publication number Publication date
CN102946352A (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
CN102946352B (zh) 一种基于IPsec的NAT转换表项管理方法和设备
CN107980216B (zh) 通信方法、装置、系统、电子设备及计算机可读存储介质
US11777718B2 (en) Unification of data flows over network links with different internet protocol (IP) addresses
US20070005963A1 (en) Secured one time access code
US20140181842A1 (en) Secure mobile app connection bus
CN102946333B (zh) 一种基于IPsec的DPD探测方法和设备
CN106211152A (zh) 一种无线接入认证方法及装置
KR20160122992A (ko) 정책 기반으로 네트워크 간에 연결성을 제공하기 위한 네트워크 통합 관리 방법 및 장치
US20150074769A1 (en) Method of accessing a network securely from a personal device, a personal device, a network server and an access point
CN104247486A (zh) 在设备的企业安全周界与企业之间建立连接
CN102255920A (zh) 一种vpn配置信息的发送方法和设备
CN106169952B (zh) 一种英特网密钥管理协议重协商的认证方法及装置
CN1863048B (zh) 用户与接入设备间因特网密钥交换协商方法
CN105656875A (zh) 基于mptcp的主流连接建立方法及装置
Kaur The vital role of VPN in making secure connection over internet world
KR102030047B1 (ko) 경량화된 보안 방식을 지원하는 출입 통제 시스템 및 방법
CN103179225B (zh) 一种基于IPsec的NAT表项保活方法和设备
CN103731410A (zh) 虚拟网络构建系统、方法、小型终端及认证服务器
CN104519055A (zh) Vpn业务实现方法、装置和vpn服务器
CN102752752B (zh) 基站维护方法和设备
CN110474922A (zh) 一种通信方法、pc系统及接入控制路由器
CN101572645A (zh) 隧道建立的方法及装置
CN106899542B (zh) 安全接入方法、装置及系统
CN103188356A (zh) 一种外网映射IPsec报文实现NAT穿越的方法
CN105099849A (zh) 一种IPsec隧道的建立方法和设备

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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address