System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现云电脑NAT网关TCP连接状态同步的方法技术_技高网

一种实现云电脑NAT网关TCP连接状态同步的方法技术

技术编号:40903436 阅读:2 留言:0更新日期:2024-04-18 14:35
本发明专利技术公开了一种实现云电脑NAT网关TCP连接状态同步的方法,包括:NAT网关、VPC、TCP连接状态会话表,所述VPC内包含路由器和多组虚拟机,所述NAT网关可分为主用NAT网关和备用NAT网关。本发明专利技术获取TCP连接状态的机制高效快捷:直接从系统拿到TCP连接状态然后进行同步,而不是使用上网流量牵引的办法将同一条分别经过主节点、备节点来获取到同一条流的TCP连接状态;NAT网关节点故障的自动检测和自动切换:NAT网关节点出现故障时能够及时自动检测和自动切换;同步时机灵活高效实时:NAT网关主节点的TCP连接状态变更的条目才会同步到备节点,整个同步流程清晰简单,无需借助其他额外设备如交换机,也不需要LACP聚合,总体上实现容易,部署简单,维护调试方便。

【技术实现步骤摘要】

本专利技术涉及nat网关tcp连接状态同步的方法,尤其涉及一种实现云电脑nat网关tcp连接状态同步的方法。


技术介绍

1、在openstack云管理平台中,网络虚拟化组件neutron原生的nat网关默认是能够支持主备模式的,这样的高可用确实能实现网络级的高可用,主备切换不会造成长时间的断网,但还是不够精细,不足之处在于它不支持tcp连接会话状态同步。

2、openstack neutron原生的nat网关默认是能够支持主备模式的,但是不支持会话状态同步,如果主节点出现故障了,数据报文将经过备节点,但是对tcp这种有会话连接状态的协议来说,因为nat网关备节点并没有之前的会话状态,会导致有些连接需要重连的情况出现,影响用户的使用体验。


技术实现思路

1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。

2、鉴于上述现有一种实现云电脑nat网关tcp连接状态同步的方法存在的问题,提出了本专利技术。

3、因此,本专利技术目的是提供一种实现云电脑nat网关tcp连接状态同步的方法,其适用于解决openstack neutron原生的nat网关默认是能够支持主备模式的,但是不支持会话状态同步,如果主节点出现故障了,数据报文将经过备节点,但是对tcp这种有会话连接状态的协议来说,因为nat网关备节点并没有之前的会话状态,会导致有些连接需要重连的情况出现,影响用户的使用体验的问题。

4、为解决上述技术问题,本专利技术提供如下技术方案:一种实现云电脑nat网关tcp连接状态同步的方法,包括:nat网关、vpc、tcp连接状态会话表,

5、所述vpc内包含路由器和多组虚拟机,所述nat网关可分为主用nat网关和备用nat网关,所述虚拟机通过路由器向主用nat网关获取互联网内部信息,所述主用nat网关出现故障时切换至备用nat网关,

6、所述nat网关切换时需同步tcp连接状态会话表内部信息,所述tcp连接状态会话表内包含部分tcp连接状态字段。

7、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述tcp连接状态字段内包含时间戳、消息类型、源ip、源端口、协议、目的ip、目的端口、nat转换后的源ip、nat转换后的源port和会话超时时间,且会话超时时间计量单位为秒。

8、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述主用nat网关切换至备用nat网关时可被keepalived检测,且keepalived检测到主备nat网关切换时调用脚本程序同步nat网关tcp连接状态。

9、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述nat网关主备发生切换的时候将主节点的tcp连接会话状态同步到备节点,所述nat网关节点出现故障时能够及时自动检测和自动切换。

10、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述nat网关获取tcp连接状态流程:

11、s1.注册一个socket用于用户态内核态通信;

12、s2.获取系统当前的nat会话表;

13、s3.注册回调函数data_cb用于接收、处理收到的nat会话状态表。

14、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述nat会话状态表内包含协议类型、源ip端口、做了nat转换后的源ip端口、目的ip端口。

15、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:更新系统tcp连接状态会话表接口:

16、s1.通过socket接收到主节点发的消息;

17、s2.解释socket消息;

18、s3.建立新的socket用于和内核通信,设置属性;

19、s4.构造消息;

20、s5.发送消息给内核、更新tcp连接状态会话表。

21、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述nat网关维护有一张tcp连接状态会话状态表,里面是一条一条的tcp连接状态会话记录,并且linux系统提供了这样的接口,可在用户态编写程序调用接口获取、修改nat会话表项。

22、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法的一种优选方案,其中:所述nat网关在创建时,会开两个nat网关互为主备,并且在正常情况下,流量都走主节点,当主节点出现故障时,切换至备节点。

23、作为本专利技术所述一种实现云电脑nat网关tcp连接状态同步的方法,其中:s1.主备nat网关节点之间通过keepalived进行主备竞选,当主设备tcp连接状态会话表发生变化时,调用相应脚本程序进行tcp连接状态会话表的同步;

24、s2.在nat网关-1节点上面建立socket1,调用程序从内核tcp/ip网络协议栈获取tcp连接状态会话表的状态;

25、s3.在nat网关-1节点上面建立socket2,用于和备节点通信,目的是给nat网关-2节点发送tcp连接状态会话表消息;

26、s4.在nat网关-2节点上建立socket3,用于和主节点通信,目的是用于接收nat网关-1节点发送过来的tcp连接状态会话表消息;

27、s5.nat网关-1节点获取到tcp连接状态会话表以后,发送相应消息到nat网关-2备节点的socket3;

28、s6.在nat网关-2节点上建立socket4,nat网关-2节点收到消息后,进行相应的处理,通过socket4将tcp连接状态会话表状态同步到本节点内核tcp/ip网络协议中。

29、本专利技术的有益效果:

30、获取tcp连接状态的机制高效快捷:直接从系统拿到tcp连接状态然后进行同步,而不是使用上网流量牵引的办法将同一条分别经过主节点、备节点来获取到同一条流的tcp连接状态;

31、nat网关节点故障的自动检测和自动切换:nat网关节点出现故障时能够及时自动检测和自动切换;

32、同步时机灵活高效实时:nat网关主节点的tcp连接状态变更的条目才会同步到备节点,提高了处理效率。达到了主备节点tcp连接状态近乎实时的同步;

33、流量路径简单:流量只会也只需经过主节点,避免使用上网流量牵引的办法将同一条分别经过主节点、备节点,这样的流量路径很冗长、繁杂,影响设备性能;

34、方案简单可靠:整个同步流程清晰简单,无需借助其他额外设备如交换机,也不需要lacp聚合,总本文档来自技高网...

【技术保护点】

1.一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于,包括:NAT网关、VPC、TCP连接状态会话表,

2.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:所述TCP连接状态字段内包含时间戳、消息类型、源ip、源端口、协议、目的ip、目的端口、nat转换后的源ip、nat转换后的源port和会话超时时间,且会话超时时间计量单位为秒。

3.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:所述主用NAT网关切换至备用NAT网关时可被Keepalived检测,且Keepalived检测到主备NAT网关切换时调用脚本程序同步NAT网关TCP连接状态。

4.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:所述NAT网关主备发生切换的时候将主节点的TCP连接会话状态同步到备节点,所述NAT网关节点出现故障时能够及时自动检测和自动切换。

5.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于,所述NAT网关获取TCP连接状态流程:

6.根据权利要求5所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:所述nat会话状态表内包含协议类型、源ip端口、做了nat转换后的源ip端口、目的ip端口。

7.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于,更新系统TCP连接状态会话表接口:

8.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:所述NAT网关维护有一张TCP连接状态会话状态表,里面是一条一条的TCP连接状态会话记录,并且Linux系统提供了这样的接口,可在用户态编写程序调用接口获取、修改NAT会话表项。

9.根据权利要求1所述的一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:所述NAT网关在创建时,会开两个NAT网关互为主备,并且在正常情况下,流量都走主节点,当主节点出现故障时,切换至备节点。

10.一种实现云电脑NAT网关TCP连接状态同步的方法,其特征在于:

...

【技术特征摘要】

1.一种实现云电脑nat网关tcp连接状态同步的方法,其特征在于,包括:nat网关、vpc、tcp连接状态会话表,

2.根据权利要求1所述的一种实现云电脑nat网关tcp连接状态同步的方法,其特征在于:所述tcp连接状态字段内包含时间戳、消息类型、源ip、源端口、协议、目的ip、目的端口、nat转换后的源ip、nat转换后的源port和会话超时时间,且会话超时时间计量单位为秒。

3.根据权利要求1所述的一种实现云电脑nat网关tcp连接状态同步的方法,其特征在于:所述主用nat网关切换至备用nat网关时可被keepalived检测,且keepalived检测到主备nat网关切换时调用脚本程序同步nat网关tcp连接状态。

4.根据权利要求1所述的一种实现云电脑nat网关tcp连接状态同步的方法,其特征在于:所述nat网关主备发生切换的时候将主节点的tcp连接会话状态同步到备节点,所述nat网关节点出现故障时能够及时自动检测和自动切换。

5.根据权利要求1所述的一种实现云电脑nat网关tcp连接状态同步的...

【专利技术属性】
技术研发人员:莫琛罗印威户才来谢金壮刘应亮温泉郑岩龚文强季昊天
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1