NAT64报文转发方法及装置与流程
- 国知局
- 2024-08-02 13:53:59
本发明涉及通信领域,尤其涉及一种nat64报文转发方法。
背景技术:
1、nat64是一种将ipv6网络地址转换成ipv4网络地址的nat(net addresstranslation,网络地址转换)技术,其适用于ipv6过渡的后期阶段,在ipv6占主流的网络中,便于网络中ipv6单栈接入的终端用户可以穿越ipv6网络访问残存的ipv4业务。
2、相关技术中,常用的nat64方案多数是基于tayga的方案,例如,从物理口接收的ipv6报文转入虚拟网卡后送入用户态程序(tayga),并根据配置策略完成ipv6前缀信息的匹配,对匹配成功的报文执行ip层的信息转换;转换后的流量重新送到内核协议栈,走对应的ipv4路由流程发送报文;对于ipv4端回复的报文,从物理口接收ipv4报文转入虚拟网卡后再送入用户态程序(tayga),根据报文的目的ip和配置中的源ip映射关系确定转换后的ipv6目的地址,进而完成ip层地址转换;转换后的流量重新送到内核,走对应的ipv6协议栈发送出去,即当前报文在转发过程中需要在转换前后走两遍不同的协议栈,效率比较低。
技术实现思路
1、本发明提供一种报文转发,用以解决现有技术转发报文需要在转换前后走两遍不同的协议栈,报文转发效率比较低的缺陷,提高了报文转发效率。
2、本发明提供一种nat64报文转发方法,包括:
3、接收第一报文,所述第一报文为ipv6报文或ipv4报文;
4、根据第一报文的五元组信息查询会话列表中,在确定所述会话列表中存在第二报文对应的查询信息的情况下,根据所述查询信息将所述第一报文转换为所述第二报文,并对所述第二报文进行封装和转发;
5、其中,所述查询信息包括多个报文的地址信息和出接口信息,所述第二报文属于所述多个报文;所述第二报文为ipv4报文或ipv6报文;所述会话列表包括ipv4会话和ipv6会话中的一项;所述ipv4会话和所述ipv6会话分别基于不同的协议栈搭建。
6、根据本发明提供的一种nat64报文转发方法,所述第一报文为nat64设备接收到的第一个报文;所述方法还包括:
7、在ipv6协议栈入口处根据第一报文的五元组信息进行会话查询,得到查询结果;
8、根据查询结果确定不存在所述第一报文对应的会话,且通过ipv6报文的前缀匹配确定存在ipv6报文特征的情况下,创建ipv6会话,并记录ipv6报文转换信息;在ipv4路由流程阶段,根据预设配置策略创建ipv4会话,并记录ipv4报文转换信息;
9、其中,所述ipv6会话包括ipv6正向会话和ipv6反向会话,所述ipv4会话包括ipv4正向会话和ipv4反向会话。
10、根据本发明提供的一种nat64报文转发方法,所述第一报文为ipv4报文,所述会话列表包括ipv4会话,所述第二报文为ipv6报文;
11、所述在确定所述会话列表中存在第二报文对应的查询信息的情况下,根据所述查询信息将所述第一报文转换为所述第二报文,并对所述第二报文进行封装和转发还包括:
12、在ipv4会话列表中查询到ipv6报文的地址信息和出接口信息的情况下,根据所述ipv6报文的地址信息将ipv4报文转换为ipv6报文,根据所述ipv6报文的出接口信息封装所述ipv6报文的mac层信息,并将封装后的ipv6报文转发至ipv6报文接收端。
13、根据本发明提供的一种nat64报文转发方法,所述第一报文为ipv6报文,所述会话列表包括ipv6会话,所述第二报文为ipv4报文;
14、所述在确定所述会话列表中存在第二报文对应的查询信息的情况下,根据所述查询信息将所述第一报文转换为所述第二报文,并对所述第二报文进行封装和转发包括:
15、在ipv6会话列表中查询到ipv4报文的地址信息和出接口信息的情况下,根据所述ipv4报文的地址信息将ipv6报文转换为ipv4报文,根据所述ipv4报文的出接口信息封装所述ipv4报文的mac层信息,并将封装后的ipv4报文转发至ipv4报文接收端。
16、根据本发明提供的一种nat64报文转发方法,所述ipv4会话包括ipv6会话指针,所述ipv6会话包括ipv4会话指针。
17、根据本发明提供的一种nat64报文转发方法,所述ipv6报文转换信息包括ipv6五元组信息、第一出接口信息和第一链表头结构;所述ipv4报文转换信息包括ipv4五元组信息、第二出接口信息和第二链表头结构。
18、本发明还提供一种nat64报文转发装置,包括:
19、报文接收模块,用于接收第一报文,所述第一报文为ipv6报文或ipv4报文;
20、报文转发模块,用于根据第一报文的五元组信息查询会话列表中,在确定所述会话列表中存在第二报文对应的查询信息的情况下,根据所述查询信息将所述第一报文转换为所述第二报文,并对所述第二报文进行封装和转发;
21、其中,所述查询信息包括多个报文的地址信息和出接口信息,所述第二报文属于所述多个报文;所述第二报文为ipv4报文或ipv6报文;所述会话列表包括ipv4会话和ipv6会话中的一项;所述ipv4会话和所述ipv6会话分别基于不同的协议栈搭建。
22、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述nat64报文转发方法。
23、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述nat64报文转发方法。
24、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述nat64报文转发方法。
25、本发明提供的nat64报文转发方法及装置,通过第一报文的五元组信息查询会话列表中,在确定会话列表中存在第二报文对应的查询信息的情况下,根据查询信息将第一报文转换为第二报文,并对第二报文进行封装和转发,通过会话机制,大幅减少了nat64走协议栈的流程,提高了报文转发效率。
技术特征:1.一种nat64报文转发方法,其特征在于,包括:
2.根据权利要求1所述的nat64报文转发方法,其特征在于,所述第一报文为nat64设备接收到的第一个报文;所述方法还包括:
3.根据权利要求1所述的nat64报文转发方法,其特征在于,所述第一报文为ipv4报文,所述会话列表包括ipv4会话,所述第二报文为ipv6报文;
4.根据权利要求1所述的nat64报文转发方法,其特征在于,所述第一报文为ipv6报文,所述会话列表包括ipv6会话,所述第二报文为ipv4报文;
5.根据权利要求1所述的nat64报文转发方法,其特征在于,所述ipv4会话包括ipv6会话指针,所述ipv6会话包括ipv4会话指针。
6.根据权利要求2所述的nat64报文转发方法,其特征在于,所述ipv6报文转换信息包括ipv6五元组信息、第一出接口信息和第一链表头结构;所述ipv4报文转换信息包括ipv4五元组信息、第二出接口信息和第二链表头结构。
7.一种nat64报文转发装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述nat64报文转发方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述nat64报文转发方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述nat64报文转发方法。
技术总结本发明提供一种NAT64报文转发方法及装置,该方法包括:接收第一报文,第一报文为IPv6报文或IPv4报文;根据第一报文的五元组信息查询会话列表中,在确定会话列表中存在第二报文对应的查询信息的情况下,根据查询信息将第一报文转换为第二报文,并对第二报文进行封装和转发;其中,查询信息包括多个报文的地址信息和出接口信息,第二报文属于多个报文;第二报文为IPv4报文或IPv6报文;会话列表包括IPv4会话和IPv6会话中的一项;IPv4会话和IPv6会话分别基于不同的协议栈搭建。本发明所述方法通过会话机制,大幅减少了NAT64走协议栈的流程,提高了报文转发效率。技术研发人员:李旭明受保护的技术使用者:北京中科网威信息技术有限公司技术研发日:技术公布日:2024/7/18本文地址:https://www.jishuxx.com/zhuanli/20240801/241014.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。