技术新讯 > 电子通信装置的制造及其应用技术 > 一种网络地址转换方法以及计算设备与流程  >  正文

一种网络地址转换方法以及计算设备与流程

  • 国知局
  • 2024-09-11 14:14:59

本技术涉及服务器,尤其涉及一种网络地址转换方法以及计算设备。背景技术:::1、在网络通信中,通常存在私有网络与公共网络之间的通信,在这种情况下,通过需要利用到网络地址转换(network address translation,简称nat)技术,以将私有的地址信息转换为公共的地址信息,从而在私有网络和公共网络之间进行通信。目前,网络地址转换技术所采用的方式是通过iptables实现或者ipvs+iptables实现,在这些方式下,报文需要经过内核协议栈的netfilter框架中所有转发流程,在这些转发流程中通常会涉及大量的匹配流程,从而导致网络地址转换消耗较长的时间,进而使得报文的转发效率较低。因此,如何提高报文的转发效率成为当前研究热点。技术实现思路1、本技术实施例提供了一种网络地址转换方法以及计算设备,可以提高报文的转发效率。2、第一方面,本技术实施例提供了一种网络地址转换方法,可包括:3、基于ebpf xdp从第一网络接口中获取待发送的第一报文,并解析所述第一报文得到第一网络通信参数;4、基于预设的网络地址转换关系,将所述第一网络通信参数转换为第二网络通信参数;其中,所述预设的网络地址转换映射关系基于ebpf map生成;5、将第二报文通过xdp重定向的第二网络接口发送;其中,所述第二报文为将所述第一报文中的第一网络通信参数替换为所述第二网络通信参数后的报文。6、在此实现方式中,可以直接利用ebpf map类型的网络地址转换关系来对报文进行网络地址转换,以实现跨网络访问中网络地址的转换,相比于传统方案中使用链表方式进行网络地址转换,本技术实施例可以在网络地址转换操作中提供更高的匹配效率以及地址转换效率,进而也可以有效提升报文的转发效率。7、在一种可行的实现方式中,所述网络地址转换关系包括:第一预设网络通信参数以及与每个第一预设网络通信参数对应的第二预设网络通信参数;所述基于预设的网络地址转换关系,将所述第一网络通信参数转换为第二网络通信参数,可包括:8、将所述第一网络通信参数与所述网络地址转换关系中的所述第一预设网络通信参数进行匹配;9、若存在与所述第一网络通信参数匹配的第一预设网络通信参数,则将与所述第一网络通信参数匹配的第一预设网络通信参数对应的所述第二预设网络通信参数作为第二网络通信参数。10、在此实现方式中,可以直接利用预设的网络地址转换关系来对报文进行网络地址转换,跳过了传统方案中需匹配iptables转发规则表等复杂流程,降低了网络地址转换的复杂度,从而也可以提高网络地址转换的转换效率,进而提升报文的转发效率。11、在一种可行的实现方式中,所述第一网络通信参数包括所述第一报文的源ip地址、目标ip地址、源端口号和目标端口号;12、所述第一预设网络通信参数包括第一源ip地址、第一目标ip地址、第一源端口号和第一目标端口号;13、所述第二预设网络通信参数包括第二源ip地址、第二目标ip地址、第二源端口号和第二目标端口号。14、在此实现方式中,可以在网络地址转换关系中设置地址与端口之间的映射关系,以便于后续在进行网络地址转换时,可以直接基于该映射关系实现网络地址转换,以有效缩短地址和端口的匹配时间以及转换时间。15、在一种可行的实现方式中,所述第一网络通信参数包括所述第一报文的源ip地址、目标ip地址、源端口号、目标端口号和传输协议;16、所述第一预设网络通信参数包括第一源ip地址、第一目标ip地址、第一源端口号、第一目标端口号和第一传输协议;17、所述第二预设网络通信参数包括第二源ip地址、第二目标ip地址、第二源端口号和第二目标端口号和第二传输协议;其中,所述第一传输协议和所述第二传输协议相同。18、在此实现方式中,还可以在网络地址转换关系中设置需进行网络地址转换的报文的传输协议,以便于在报文的跨网络访问中,避免出现不必要的网络地址转换操作,从而提高报文的转发效率。19、在一种可行的实现方式中,还可包括:20、若不存在与所述第一网络通信参数匹配的第一预设网络通信参数,基于操作系统内核中的转发协议栈将所述第一网络通信参数转换为所述第二网络通信参数;21、通过所述第二网络接口发送第二报文。22、在此实现方式中,在不能利用本技术实施例所提出的方式进行网络地址转换的情况下,还可以继续使用传统的方式就进行网络地址转换并进行后续的报文转发操作,以保证报文可以实现正常的跨网络访问。23、在一种可行的实现方式中,所述网络地址转换关系还包括:网络入接口与网络出接口之间的接口映射关系;所述将第二报文通过xdp重定向的第二网络接口发送之前,还可包括:24、将所述第一网络接口与所述接口映射关系中的网络入接口进行匹配;25、若存在与所述第一网络接口匹配的网络入接口,则将与所述第一网络接口匹配的网络入接口对应的网络出接口作为第二网络接口。26、在此实现方式中,可以基于网络地址转换关系中的接口映射关系确定出第二报文对应的网络出接口,以便于可以直接将第二报文通过xdp重定向该网络出接口,进行跨网络访问。27、在一种可行的实现方式中,在基于预设的网络地址转换关系,将所述第一网络通信参数转换为第二网络通信参数之前,还可包括:28、获取在用户态预先配置的网络地址转换关系;29、基于所述网络地址转换关系更新操作系统内核中已存在的网络地址转换关系。30、在此实现方式中,在用户态完成网络地址转换关系的设置之后,可以及时对操作系统内核中的网络地址转换关系进行更新,以保证操作系统内核中的网络地址转换关系为最新的数据,也可以保证在当前存在网络地址转换需求时,可以从网络地址转换关系中查询到所需的信息,从而提高网络地址转换的可靠性以及准确性。31、在一种可行的实现方式中,在基于ebpf xdp从第一网络接口中获取待发送的第一报文之前,还可包括:32、确定操作系统内核是否存在ebpf xdp对应的程序;33、若操作系统内核存在ebpf xdp对应的程序,则启动ebpf xdp对应的程序;34、确定所述ebpf xdp对应的程序是否正常加载;35、若所述ebpf xdp对应的程序正常加载,则触发执行基于ebpf xdp从第一网络接口中获取待发送的第一报文的步骤。36、在此实现方式中,可以在进行网络地址转换之前,检测操作系统内核中网络地址转换所需的ebpf xdp对应的程序是否存在以及是否可以正常加载,以保证在后续的网络地址转换操作中可以正常调用该ebpf xdp对应的程序,进而保证网络地址转换的可靠性。37、在一种可行的实现方式中,所述网络地址转换关系是通过命令行或配置文件的形式确定。38、在此实现方式中,可以通过命令行或配置文件的形式直接在用户态完成网络地址转换相关的映射,提高配置的灵活性。39、第二方面,本技术实施例提供了一种网络地址转换装置,可包括:40、获取单元,用于基于ebpf xdp从第一网络接口中获取待发送的第一报文,并解析所述第一报文得到第一网络通信参数;41、转换单元,用于基于预设的网络地址转换关系,将所述第一网络通信参数转换为第二网络通信参数;其中,所述预设的网络地址转换映射关系基于ebpf map生成;42、发送单元,用于将第二报文通过xdp重定向的第二网络接口发送;其中,所述第二报文为将所述第一报文中的第一网络通信参数替换为所述第二网络通信参数后的报文。43、第三方面,本技术实施例提供一种计算设备,所述计算设备中包括处理器,处理器被配置为支持该计算设备实现上述第一方面中所涉及的功能。该计算设备还可以包括存储器,存储器用于与处理器耦合,其保存该计算设备必要的程序指令和数据。该计算设备还可以包括网络接口,用于该计算设备与其他设备或通信网络通信。44、第四方面,本技术实施例提供一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时,用于实现上述第一方面中所涉及的功能。45、第五方面,本技术实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,当该计算机程序产品被计算设备执行时,使得计算设备可以实现上述第一方面中所涉及的功能。46、第六方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持计算设备实现上述第一方面中所涉及的功能。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。47、本技术实施例可以基于ebpf xdp从第一网络接口中获取待发送的第一报文,并解析第一报文得到第一网络通信参数;还可以基于预设的网络地址转换关系,将第一网络通信参数转换为第二网络通信参数;其中,预设的网络地址转换映射关系基于ebpf map生成;进一步可以将第二报文通过xdp重定向的第二网络接口发送;其中,第二报文为将第一报文中的第一网络通信参数替换为第二网络通信参数后的报文。在这种方式下,可以直接利用ebpf map类型的网络地址转换关系来对报文进行网络地址转换,以实现跨网络访问中网络地址的转换,相比于传统方案中使用链表方式进行网络地址转换,本技术实施例可以在网络地址转换操作中提供更高的匹配效率以及地址转换效率;并且,本技术实施例中的报文在跨网络访问的转发流程中跳过了传统方案中需匹配iptables转发规则表等复杂流程,直接通过网络地址转换关系实现网络地址转换,进而实现报文的转发,降低了网络地址转换的复杂度,从而也可以提高转换效率,进而也可以有效提升报文的转发效率。当前第1页12当前第1页12

本文地址:https://www.jishuxx.com/zhuanli/20240911/289786.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。