首页> 中国专利> 一种区分NAT删除和NAT解绑弹性公网IP的方法

一种区分NAT删除和NAT解绑弹性公网IP的方法

摘要

本发明提供了一种区分NAT删除和NAT解绑弹性公网IP的方法,包括SNAT删除解绑方法和DNAT删除解绑方法,其特征在于,所述SNAT删除解绑方法包括以下步骤:S1、删除SNAT,首先在缓存中查询key为delete‑snat‑dnat:{snatId}是否存在;S2、获取该SNAT所属的eipId和natId;S3、移除缓存Key值为eip‑unbind‑nat:{eipId}中待删除的snatId;S4、根据获取到的eipId,查询缓存Key值为eip‑unbind‑nat:{eipId}中包含snat和dnat的数量是否大于0;S5、如果等于0,则EIP解绑成功。本发明所述的一种区分NAT删除和NAT解绑弹性公网IP的方法通过底层删除SNAT或者DNAT规则,可以精确的分辨是删除NAT的操作还是NAT解绑EIP的操作。

著录项

  • 公开/公告号CN112671939B

    专利类型发明专利

  • 公开/公告日2022-07-05

    原文格式PDF

  • 申请/专利权人 紫光云技术有限公司;

    申请/专利号CN202010826658.3

  • 发明设计人 许勇;

    申请日2020-08-17

  • 分类号H04L61/2503(2022.01);H04L61/255(2022.01);H04L67/568(2022.01);

  • 代理机构天津滨海科纬知识产权代理有限公司 12211;

  • 代理人刘莹

  • 地址 300459 天津市滨海新区高新区塘沽海洋科技园汇祥道399号6号楼

  • 入库时间 2022-08-23 13:58:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-05

    授权

    发明专利权授予

说明书

技术领域

本发明属于弹性公网IP技术领域,尤其是涉及一种区分NAT删除和NAT解绑弹性公网IP的方法。

背景技术

NAT网关(Network Address Translation Gateway,网络地址转换网关)是一款企业级的公网网关,提供NAT代理(SNAT和DNAT),将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要应用在连接两个网络的边缘设备上,用于实现允许内部网络用户访问外部公共网络以及允许外部公共网络访问部分内部网络资源(例如内部的弹性云主机、GPU等)的目的。NAT网关可以绑定多个EIP,在其下面下发SNAT和DNAT规则,NAT绑定EIP不下发配置,只有在下发SNAT或者DNAT规则时才会下发配置,下发成功后异步通知上层。在删除NAT网关或者NAT网关解绑EIP时均会删除SNAT和DNAT规则,涉及到下发配置,异步回调,但是上层通过底层异步通知的SNAT或者DNAT的删除结果无法区分是删除NAT成功了还是解绑EIP成功了,本专利提供了一种方案,能够使上层精确的区分出是删除NAT成功还是解绑EIP成功。

发明内容

有鉴于此,本发明旨在提出一种区分NAT删除和NAT解绑弹性公网IP的方法,通过缓存中的标志位来进行区分是删除NAT成功还是NAT解绑EIP成功。

为达到上述目的,本发明的技术方案是这样实现的:

一种区分NAT删除和NAT解绑弹性公网IP的方法,包括SNAT删除解绑方法和DNAT删除解绑方法,所述SNAT删除解绑方法包括以下步骤:

S1、删除SNAT,首先在缓存中查询key为delete-snat-dnat:{snatId}是否存在;

S2、获取该SNAT所属的eipId和natId;

S3、移除缓存Key值为eip-unbind-nat:{eipId}中待删除的snatId;

S4、根据获取到的eipId,查询缓存Key值为eip-unbind-nat:{eipId}中包含snat和dnat的数量是否大于0;

S5、如果等于0,则EIP解绑成功;

S6、移除缓存Key值为delete-nat:{natId}中待删除的snatId;

S7、根据获取到的natId,查询缓存Key值为delete-nat:{natId}中包含snat和dnat的数量是否大于0;

S8、如果等于0,则删除SNAT成功。

进一步的,DNAT删除解绑方法包括以下步骤:

A1、删除DNAT,首先在缓存中查询key为delete-snat-dnat:{dnatId}是否存在;

A2、获取该DNAT所属的eipId和natId;

A3、移除缓存Key值为eip-unbind-nat:{eipId}中待删除的dnatId;

A4、根据获取到的eipId,查询缓存Key值为eip-unbind-nat:{eipId}中包含snat和dnat的数量是否大于0;

A5、如果等于0,则EIP解绑成功;

A6、移除缓存Key值为delete-nat:{natId}中待删除的dnatId;

A7、根据获取到的natId,查询缓存Key值为delete-nat:{natId}中包含snat和dnat的数量是否大于0;

A8、如果等于0,则删除DNAT成功。

相对于现有技术,本发明所述的一种区分NAT删除和NAT解绑弹性公网IP的方法具有以下优势:

本发明所述的一种区分NAT删除和NAT解绑弹性公网IP的方法通过底层删除SNAT或者DNAT规则,可以精确的分辨是删除NAT的操作还是NAT解绑EIP的操作。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例所述的一种区分NAT删除和NAT解绑弹性公网IP的方法方法步骤流程图示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。

下面将参考附图并结合实施例来详细说明本发明。

如图1所示,一种区分NAT删除和NAT解绑弹性公网IP的方法,包括SNAT删除解绑方法和DNAT删除解绑方法,所述SNAT删除解绑方法包括以下步骤:

S1、删除SNAT,首先在缓存中查询key为delete-snat-dnat:{snatId}是否存在;

S2、获取该SNAT所属的eipId和natId;

S3、移除缓存Key值为eip-unbind-nat:{eipId}中待删除的snatId;

S4、根据获取到的eipId,查询缓存Key值为eip-unbind-nat:{eipId}中包含snat和dnat的数量是否大于0;

S5、如果等于0,则EIP解绑成功;

S6、移除缓存Key值为delete-nat:{natId}中待删除的snatId;

S7、根据获取到的natId,查询缓存Key值为delete-nat:{natId}中包含snat和dnat的数量是否大于0;

S8、如果等于0,则删除SNAT成功。

DNAT删除解绑方法包括以下步骤:

A1、删除DNAT,首先在缓存中查询key为delete-snat-dnat:{dnatId}是否存在;

A2、获取该DNAT所属的eipId和natId;

A3、移除缓存Key值为eip-unbind-nat:{eipId}中待删除的dnatId;

A4、根据获取到的eipId,查询缓存Key值为eip-unbind-nat:{eipId}中包含snat和dnat的数量是否大于0;

A5、如果等于0,则EIP解绑成功;

A6、移除缓存Key值为delete-nat:{natId}中待删除的dnatId;

A7、根据获取到的natId,查询缓存Key值为delete-nat:{natId}中包含snat和dnat的数量是否大于0;

A8、如果等于0,则删除DNAT成功。

在具体实施过程中,本发明提供了一种公有云平台下能够通过底层异步通知的SNAT或者DNAT的删除结果来精确地区分出是删除NAT成功还是解绑EIP成功,为了实现上述目的,本申请提供了以下技术方案:

1、删除NAT时,会删除NAT下面所有的SNAT和DNAT规则,在缓存中key值为delete-nat:{natId}存入NAT下待删除的SNAT和DNAT的实例Id;

2、EIP解绑NAT时,会删除该NAT下与EIP相关的SNAT和DNAT规则,在缓存中Key值为eip-unbind-nat:{eipId}存入待删除的SNAT和DNAT的实例Id,Key值为delete-snat-dnat:{snatId}存入待删除的SNAT所属的eipId和natId,Key值为delete-snat-dnat:{dnatId}存入待删除的DNAT所属的eipId和natId;

3、通过以上缓存中的标志位来进行区分;

具体操作步骤如下:

删除SNAT和DNAT规则的流程相同,以删除SNAT为例:

1、删除SNAT,首先在缓存中查询key为delete-snat-dnat:{snatId}是否存在;

2、获取该SNAT所属的eipId和natId;

3、移除缓存Key值为eip-unbind-nat:{eipId}中待删除的snatId;

4、根据获取到的eipId,查询缓存Key值为eip-unbind-nat:{eipId}中包含snat和dnat的数量是否大于0;

5、如果等于0,则EIP解绑成功;

6、移除缓存Key值为delete-nat:{natId}中待删除的snatId;

7、根据获取到的natId,查询缓存Key值为delete-nat:{natId}中包含snat和dnat的数量是否大于0;

8、如果等于0,则删除NAT成功;

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号