数据交互方法、装置、NAT网关及存储介质与流程

文档序号:36416419发布日期:2023-12-19 18:59阅读:31来源:国知局
数据交互方法与流程

本技术涉及通信,尤其涉及一种数据交互方法、装置、nat网关及存储介质。


背景技术:

1、网络地址转换(network address translation,nat)网关是一种将虚拟私有云(virtual private cloud,vpc)中的内网ip地址和公网ip地址进行转换的网关,是实现vpc内无公网ip的云资源访问互联网的一种实现方式。nat网关处于互联网和vpc的边界,适用在私有网络内部,部分资源共用公网出口,可以节约带宽与流量资源。

2、nat网关在新建网络源地址转换(source network address translation,snat)会话时,分配公网的网际互连协议(internet protocol,ip)和端口的时候会进行网卡驱动技术(receive side scaling,rss)验算,rss验算的目的是期望会话的双向流量都能进入到网卡的相同队列,从而被同一线程处理。

3、但是两个虚拟机进行交互的场景下,rss验算使用的四元组和反方向流量的四元组不同,也就不能保证虚拟机入流量进入网卡的队列的处理线程,与出流量队列的处理线程一致,导致耗费大量处理器的计算能力和内存,降低转发性能。


技术实现思路

1、本技术提供一种数据交互方法、装置、nat网关及存储介质,用以解决nat网关转发性能较差技术问题。

2、第一方面,本技术提供一种数据交互方法,包括:

3、通过接收队列接收发送端发送的报文,所述报文包括初始源ip地址、初始源端口、初始目的ip地址以及初始目的端口;

4、在所述dnat配置查询表中查询所述初始目的ip地址对应的目标目的ip地址,以及所述初始目的端口对应的目标目的端口;

5、若所述dnat配置查询表中包括所述初始目的ip地址对应的目标目的ip地址,以及初始目的端口对应的目标目的端口,则基于所述接收队列、所述目标目的ip地址、所述目标目的端口、所述初始源ip地址、初始源端口对所述报文进行rss验算和网络源地址转换得到中间报文,所述中间报文包括初始源ip地址对应的目标源ip地址、所述初始源端口对应的目标源端口、初始目的ip地址以及初始目的端口;

6、对所述中间报文进行网络目的地址转换得到目标报文,并根据所述目标目的ip地址和目标目的端口将所述目标报文发送至接收端,以使得所述nat网关能够通过所述接收队列接收所述接收端返回的报文。

7、可选的,所述基于所述接收队列、所述目标目的ip地址、所述目标目的端口、所述初始源ip地址、初始源端口对所述报文进行rss验算和网络源地址转换得到中间报文,包括:

8、在对所述报文进行网络源地址转换过程中,基于所述接收队列、所述目标目的ip地址、所述目标源ip地址、所述目标目的端口进行rss验算调整目标源端口得到所述中间报文,以使得所述nat网关能够通过所述接收队列接收所述接收端返回的报文。

9、可选地,上述方法还包括:若所述dnat配置查询表中包括初始目的ip地址对应的目标目的ip地址,不包括所述初始目的端口对应的目标目的端口,则基于所述接收队列、所述目标目的ip地址、所述初始目的端口、所述初始源ip地址、初始源端口对所述报文进行rss验算和网络源地址转换得到中间报文。

10、可选地,上述方法还包括:若所述dnat配置查询表中不包括所述初始目的ip地址对应的目标目的ip地址和初始目的端口对应的目标目的端口,则基于所述接收队列、初始源ip地址、初始源端口、初始目的ip地址以及初始目的端口对所述报文进行rss验算和网络源地址转换得到中间报文。

11、可选地,如上述方法,所述获取dnat配置查询表,并在所述dnat配置查询表中查询所述初始目ip地址以及初始目的端口对应的目标目的ip地址和目标目的端口,包括:

12、响应dnat配置查询功能的开启操作,获取dnat配置查询表,并在所述dnat配置查询表中查询所述初始目ip地址以及初始目的端口对应的目标目的ip地址和目标目的端口。

13、可选地,上述方法还包括:若所述dnat配置查询功能的处于关闭状态,则基于所述接收队列、初始源ip地址、初始源端口、初始目的ip地址以及初始目的端口对所述报文进行rss验算和网络源地址转换得到中间报文。

14、可选地,如上述方法,所述对所述中间报文进行网络目的地址转换得到目标报文,包括:

15、对所述中间报文中的初始目的ip地址以及初始目的端口进行网络目的地址转换得到目标目的ip地址和目标目的端口,所述目标报文包括目标目的ip地址、所述目标目的端口、目标源ip地址以及所述目标源端口。

16、第二方面,本技术提供一种数据交互装置,包括:

17、报文接收模块,用于通过接收队列接收发送端发送的报文,所述报文包括初始源ip地址、初始源端口、初始目的ip地址以及初始目的端口;

18、数据查询模块,用于在dnat配置查询表中查询所述初始目的ip地址对应的目标目的ip地址,以及所述初始目的端口对应的目标目的端口;

19、地址转换模块,用于响应所述dnat配置查询表中包括所述初始目的ip地址对应的目标目的ip地址,以及初始目的端口对应的目标目的端口,基于所述接收队列、所述目标目的ip地址、所述目标目的端口、所述初始源ip地址、初始源端口对所述报文进行rss验算和网络源地址转换得到中间报文,所述中间报文包括初始源ip地址对应的目标源ip地址、所述初始源端口对应的目标源端口、初始目的ip地址以及初始目的端口;

20、数据交互模块,用于对所述中间报文进行网络目的地址转换得到目标报文,并根据所述目标目的ip地址和目标目的端口将所述目标报文发送至接收端,以使得所述nat网关能够通过所述接收队列接收所述接收端返回的报文。

21、第三方面,本技术提供一种nat网关,包括:

22、处理器,以及与所述处理器通信连接的存储器、通信接口;

23、所述处理器通过所述通信接口传输报文;

24、所述存储器存储计算机执行指令;

25、所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7任一项所述的方法。

26、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。

27、本技术提供的数据交互方法,通过在dnat配置查询表中查询初始目的ip地址对应的目标目的ip地址,以及初始目的端口对应的目标目的端口,并基于接收队列、目标目的ip地址、目标目的端口、初始源ip地址、初始源端口对报文进行rss验算和网络源地址转换得到中间报文,中间报文包括初始源ip地址对应的目标源ip地址、初始源端口对应的目标源端口、初始目的ip地址以及初始目的端口,对中间报文进行网络目的地址转换得到目标报文,并根据目标目的ip地址和目标目的端口将目标报文发送至接收端,可以使得nat网关能够通过接收队列接收端返回的报文,降低处理器的计算量和内存占用,提升看nat网卡的转发性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1