CN116760795B - 网络地址转换nat网关设备、报文处理方法和装置 - Google Patents
网络地址转换nat网关设备、报文处理方法和装置 Download PDFInfo
- Publication number
- CN116760795B CN116760795B CN202311021921.1A CN202311021921A CN116760795B CN 116760795 B CN116760795 B CN 116760795B CN 202311021921 A CN202311021921 A CN 202311021921A CN 116760795 B CN116760795 B CN 116760795B
- Authority
- CN
- China
- Prior art keywords
- network
- message
- address
- local area
- forwarding table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013519 translation Methods 0.000 title claims abstract description 35
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000032683 aging Effects 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000012423 maintenance Methods 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 16
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 claims description 8
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 20
- 239000003795 chemical substances by application Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及通信技术领域,尤其涉及一种网络地址转换NAT网关设备、报文处理方法和装置。其中,该网络地址转换NAT网关设备,包括现场可编程门阵列FPGA智能网卡、代理AGENT模块、外网口、虚拟扩展局域网隧道端点VTEP网口以及管控网口,其中,所述FPGA智能网卡分别与所述代理AGENT模块、所述外网口、所述虚拟扩展局域网隧道端点VTEP网口连接,所述代理AGENT模块与所述管控网口连接。采用本公开可以简化NAT网关设备结构的同时提高数据转发能力。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种网络地址转换(Network AddressTranslation,NAT)网关设备、报文处理方法和装置。
背景技术
随着科学技术的发展,互联网已经成为人们日常生活中必不可少的一部分。在互联网平台中的NAT业务场景下,转发性能和转发面可编程能力成为越来越注重的特性。例如可以在NFV***引入外部硬件加速器来实现NAT功能,但是会出现云网络架构复杂,维护和更新不便的情况,使得转发性能降低。
发明内容
本公开提供一种NAT网关设备、报文处理方法和装置,以简化NAT网关设备结构的同时提高数据转发能力。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种网络地址转换NAT网关设备,包括现场可编程门阵列(Field Programmable Gate Array,FPGA)智能网卡、代理(AGENT)模块、外网口、虚拟扩展局域网隧道端点(Virtual eXtensible Local Area Network TunnelEndpoint,VTEP)网口以及管控网口,其中,所述FPGA智能网卡分别与所述代理AGENT模块、所述外网口、所述虚拟扩展局域网隧道端点VTEP网口连接,所述代理AGENT模块与所述管控网口连接。
根据一些实施例,所述网络地址转换NAT网关设备还包括:运维监控***和管控网络模块,其中,所述管控网口分别与所述运维监控***和所述管控网络模块连接。
根据本公开实施例的第二方面,提供一种报文处理方法,由如第一方面所述的网络地址转换NAT网关设备执行,应用于源地址转换(Source Network AddressTranslation,SNAT)业务,包括:
通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文,其中,所述第一虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;
获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。
根据一些实施例,所述方法还包括:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到所述第一转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述第一虚拟扩展局域网vxlan报文的第二报文信息匹配的第一NAT规则表项;
在查找到所述第一NAT规则表项的情况下,将所述第一虚拟扩展局域网vxlan报文和所述第一NAT规则表项中的第一公网IP地址传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块;
控制所述转换处理模块根据所述第二报文信息和所述第一公网IP地址生成第二转发表项,并初始化所述第二转发表项的统计计数和初始化所述第二转发表项对应的老化时间;
使用所述第二转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第四虚拟扩展局域网vxlan报文;
获取所述第四虚拟扩展局域网vxlan报文对应的第三校验和,并使用第三校验和替换所述第一虚拟扩展局域网vxlan报文中的第一校验和,得到第五虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第五虚拟扩展局域网vxlan报文。
根据一些实施例,所述方法还包括:
通过所述代理AGENT模块接收软件定义网络SDN控制器发送的NAT配置数据,其中,不同的业务对应不同的NAT配置数据;
控制所述代理AGENT模块基于所述NAT配置数据生成NAT规则表项;
通过所述现场可编程门阵列FPGA智能网卡的寄存器接口将所述NAT规则表项传输至所述现场可编程门阵列FPGA智能网卡的NAT规则表。
根据一些实施例,所述方法还包括:
通过所述外网口接收第一网络数据报文,其中,所述第一网络数据报文的目的IP地址为所述SNAT业务的第一公网IP地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第三转发表项的情况下,使用所述第三转发表项中的overlay层目的IP地址替换所述第一网络数据报文中的目的IP地址,并使用所述第三转发表项中的underlay源目的IP地址、VNI对所述第一网络数据报文进行封装,得到第二网络数据报文;
获取所述第二网络数据报文对应的第四校验和,并使用所述第四校验和替换所述第二网络数据报文的第五校验和,得到第三网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第三网络数据报文。
根据一些实施例,所述方法还包括:
每隔预设时长获取一次所述转发表中任一转发表项的超时老化时长;
在所述超时老化时长大于时长阈值的情况下,将所述任一转发表项对应的统计计数累加至与所述任一转发表项对应的NAT规则表项中,并删除所述转发表中的所述任一转发表项。
根据本公开实施例的第三方面,提供一种报文处理方法,由如第一方面所述的网络地址转换NAT网关设备执行,应用于源地址转换DNAT业务,包括:
通过所述外网口接收第四网络数据报文,其中,所述第四网络数据报文的目的IP地址为所述DNAT业务的第二公网IP;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;
获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。
根据一些实施例,所述方法还包括:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到与所述目的IP地址匹配的第四转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述目的IP地址匹配的第二NAT规则表项;
在查找到所述第二NAT规则表项的情况下,将所述第二NAT规则表项中的第三报文信息和所述第四网络数据报文传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块,并更新所述第二NAT规则表项对应的统计计数;
控制所述转换处理模块根据所述第三报文信息和所述第四网络数据报文的目的IP地址生成第五转发表项,并初始化所述第五转发表项的统计计数和初始化所述第五转发表项对应的老化时间;
使用所述第五转发表项中的overlay的目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第五转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第七网络数据报文;
获取所述第七网络数据报文对应的第八校验和,并使用第八校验和替换所述第四网络数据报文中的第九校验和,得到第八网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第八网络数据报文。
根据一些实施例,所述方法还包括:
通过所述虚拟扩展局域网隧道端点VTEP网口接收第六虚拟扩展局域网vxlan报文,其中,所述第六虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口的地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第六虚拟扩展局域网vxlan报文的第四报文信息匹配的第六转发表项的情况下,使用所述第六转发表项中的目的IP地址替换所述第六虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第七虚拟扩展局域网vxlan报文;
获取所述第七虚拟扩展局域网vxlan报文对应的第十校验和,并使用所述第十校验和替换所述第七虚拟扩展局域网vxlan报文的第十一校验和,得到第八虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第八虚拟扩展局域网vxlan报文,并更新所述第六转发表项的统计计数和所述第六转发表项的老化时间。
根据本公开实施例的第四方面,提供一种报文处理装置,包括:
报文获取单元,用于通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文,其中,所述第一虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口地址;
地址替换单元,用于在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;
校验和替换单元,用于获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;
报文发出单元,用于通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。
根据本公开实施例的第五方面,提供一种报文处理装置,包括:
数据报文获取单元,用于通过所述外网口接收第四网络数据报文,其中,所述第四网络数据报文的目的IP地址为所述DNAT业务的第二公网IP;
IP地址替换单元,用于在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;
校验和获取单元,用于获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;
数据报文发出单元,用于通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。
根据本公开实施例的第六方面,提供一种网络侧设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现前述一方面中任一项所述的报文处理方法。
根据本申请的第七方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述一方面中任一项所述的报文处理方法。
根据本申请的第八方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述一方面中任一项所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在一些或者相关实施例中,网络地址转换NAT网关设备,包括现场可编程门阵列FPGA智能网卡、代理AGENT模块、外网口、虚拟扩展局域网隧道端点VTEP网口以及管控网口,其中,所述FPGA智能网卡分别与所述代理AGENT模块、所述外网口、所述虚拟扩展局域网隧道端点VTEP网口连接,所述代理AGENT模块与所述管控网口连接。因此,无需增加硬件加速器,可以简化NAT网关设备的结构,简化云网络架构设计,简化运维复杂度,且基于FPGA智能网卡,可以提供云内资源和云外资源互访能力的通水,提高转发性能和可编程能力,可以提高数据转发能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种网络地址转换NAT网关设备的架构示意图;
图2是根据一示例性实施例示出的一种网络地址转换NAT网关设备的架构示意图;
图3是根据一示例性实施例示出的一种报文处理方法的流程图;
图4是根据一示例性实施例示出的一种报文处理方法的流程图;
图5是根据一示例性实施例示出的一种报文处理方法的流程图;
图6是根据一示例性实施例示出的一种报文处理方法的流程图;
图7是根据一示例性实施例示出的一种报文处理方法的流程图;
图8是根据一示例性实施例示出的一种报文处理方法的流程图;
图9是根据一示例性实施例示出的一种报文处理装置的框图;
图10是根据一示例性实施例示出的一种报文处理装置的框图;
图11是根据一示例性实施例示出的一种网络侧设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本公开实施例提出了NAT网关设备、报文处理方法和装置。在一些实施例中,报文处理方法与信息处理方法、通信方法等术语可以相互替换,报文处理装置与信息处理装置、通信装置等术语可以相互替换,信息处理***、通信***等术语可以相互替换。
本公开实施例并非穷举,仅为部分实施例的示意,不作为对本公开保护范围的具体限制。在不矛盾的情况下,某一实施例中的每个步骤均可以作为独立实施例来实施,且各步骤之间可以任意组合,例如,在某一实施例中去除部分步骤后的方案也可以作为独立实施例来实施,且在某一实施例中各步骤的顺序可以任意交换,另外,某一实施例中的可选实现方式可以任意组合;此外,各实施例之间可以任意组合,例如,不同实施例的部分或全部步骤可以任意组合,某一实施例可以与其他实施例的可选实现方式任意组合。
在各本公开实施例中,如果没有特殊说明以及逻辑冲突,各实施例之间的术语和/或描述具有一致性,且可以互相引用,不同实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本公开实施例中所使用的术语只是为了描述特定实施例的目的,而并非作为对本公开的限制。
在本公开实施例中,除非另有说明,以单数形式表示的元素,如“一个”、“一种”、“该”、“上述”、“所述”、“前述”、“这一”等,可以表示“一个且只有一个”,也可以表示“一个或多个”、“至少一个”等。例如,在翻译中使用如英语中的“a”、“an”、“the”等冠词(article)的情况下,冠词之后的名词可以理解为单数表达形式,也可以理解为复数表达形式。
在本公开实施例中,“多个”是指两个或两个以上。
在一些实施例中,“至少一者(至少一项、至少一个)(at least one of)”、“一个或多个(one or more)”、“多个(a plurality of)”、“多个(multiple)等术语可以相互替换。
在一些实施例中,“A、B中的至少一者”、“A和/或B”、“在一情况下A,在另一情况下B”、“响应于一情况A,响应于另一情况B”等记载方式,根据情况可以包括以下技术方案:在一些实施例中A(与B无关地执行A);在一些实施例中B(与A无关地执行B);在一些实施例中从A和B中选择执行(A和B被选择性执行);在一些实施例中A和B(A和B都被执行)。当有A、B、C等更多分支时也类似上述。
在一些实施例中,“A或B”等记载方式,根据情况可以包括以下技术方案:在一些实施例中A(与B无关地执行A);在一些实施例中B(与A无关地执行B);在一些实施例中从A和B中选择执行(A和B被选择性执行)。当有A、B、C等更多分支时也类似上述。
本公开实施例中的“第一”、“第二”等前缀词,仅仅为了区分不同的描述对象,不对描述对象的位置、顺序、优先级、数量或内容等构成限制,对描述对象的陈述参见权利要求或实施例中上下文的描述,不应因为使用前缀词而构成多余的限制。例如,描述对象为“字段”,则“第一字段”和“第二字段”中“字段”之前的序数词并不限制“字段”之间的位置或顺序,“第一”和“第二”并不限制其修饰的“字段”是否在同一个消息中,也不限制“第一字段”和“第二字段”的先后顺序。再如,描述对象为“等级”,则“第一等级”和“第二等级”中“等级”之前的序数词并不限制“等级”之间的优先级。再如,描述对象的数量并不受序数词的限制,可以是一个或者多个,以“第一装置”为例,其中“装置”的数量可以是一个或者多个。此外,不同前缀词修饰的对象可以相同或不同,例如,描述对象为“装置”,则“第一装置”和“第二装置”可以是相同的装置或者不同的装置,其类型可以相同或不同;再如,描述对象为“信息”,则“第一信息”和“第二信息”可以是相同的信息或者不同的信息,其内容可以相同或不同。
在一些实施例中,“包括A”、“包含A”、“用于指示A”、“携带A”,可以解释为直接携带A,也可以解释为间接指示A。
在一些实施例中,“响应于……”、“响应于确定……”、“在……的情况下”、“在……时”、“当……时”、“若……”、“如果……”等术语可以相互替换。
在一些实施例中,“大于”、“大于或等于”、“不小于”、“多于”、“多于或等于”、“不少于”、“高于”、“高于或等于”、“不低于”、“以上”等术语可以相互替换,“小于”、“小于或等于”、“不大于”、“少于”、“少于或等于”、“不多于”、“低于”、“低于或等于”、“不高于”、“以下”等术语可以相互替换。
在一些实施例中,装置和设备可以解释为实体的、也可以解释为虚拟的,其名称不限定于实施例中所记载的名称,在一些情况下也可以被理解为 “设备(equipment)”、“设备(device)”、“电路”、“网元”、“节点”、“功能”、“单元”、“部件(section)”、“***”、“网络”、“芯片”、“芯片***”、“实体”、“主体”等。
在一些实施例中,“网络”可以解释为网络中包含的装置,例如,接入网设备、核心网设备等。
在一些实施例中,“终端(terminal)”或“终端设备(terminal device)”可以被称为“用户设备(user equipment,UE)”、“用户终端(user terminal)”、“移动台(mobilestation,MS)”、“移动终端(mobile terminal,MT)”、订户站(subscriber station)、移动单元(mobile unit)、订户单元(subscriber unit)、无线单元(wireless unit)、远程单元(remote unit)、移动设备(mobile device)、无线设备(wireless device)、无线通信设备(wireless communication device)、远程设备(remote device)、移动订户站(mobilesubscriber station)、接入终端(access terminal)、移动终端(mobile terminal)、无线终端(wireless terminal)、远程终端(remote terminal)、手持设备(handset)、用户代理(user agent)、移动客户端(mobile client)、客户端(client)等。
在一些实施例中,获取数据、信息等可以遵照所在地国家的法律法规。
在一些实施例中,可以在得到用户同意后获取数据、信息等。
此外,本公开实施例的表格中的每一元素、每一行、或每一列均可以作为独立实施例来实施,任意元素、任意行、任意列的组合也可以作为独立实施例来实施。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在一些实施例之中,云计算(Cloud Computing),是一种按使用量付费的模式,这种模式提供可用的,边界的,按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
其中,公有云(英语:Public Cloud),是一种面向公众提供的开放的云基础设施。
其中,NAT网关,是一种网络地址转换的网关设备。
其中,智能网卡,也称智能网络适配器,除了能完成标准网卡所具有的网络传输功能之外,还提供内置的可编程、可配置的硬件加速引擎,提升应用的性能和大幅降低CPU在通信中的消耗,为应用提供更多的CPU资源。
其中,FPGA是一种硬件可重构的体系结构,中文名是现场可编程门阵列。
其中,VPC是一种云计算服务,其中公有云提供商将其公有云基础架构的特定部分隔离,以供私人使用。
其中,NFV就是将传统的CT(Communications Technology)业务部署到云平台上(云平台是指将物理硬件虚拟化所形成的虚拟机平台,能够承载CT和IT(InformationTechnology)应用),从而实现软硬件解耦合。
其中,公有云VPC内部的虚拟机与外部互联网通信通常采用NAT技术,即将一个公网IP与云内部的一个私网IP或子网绑定,在云资源池入口处做地址转换及流量转发。根据业务特性不同,常见的可用于做地址转换的设备有NAT网关、LB网关等。
在NAT云计算发展阶段,对于NAT业务场景,除了SDN能力、NAT业务转发特性之外,还比较注重转发性能、转发面可编程能力。
根据一些实施例,图1是根据一示例性实施例示出的一种网络地址转换NAT网关设备的架构示意图。如图1所示,本公开提供一种网络地址转换NAT网关设备10,包括现场可编程门阵列FPGA智能网卡101、代理AGENT模块102、外网口103、虚拟扩展局域网隧道端点VTEP网口104以及管控网口105,其中,所述FPGA智能网卡101分别与所述代理AGENT模块102、所述外网口103、所述虚拟扩展局域网隧道端点VTEP网口104连接,所述代理AGENT模块102与所述管控网口105连接。因此可以基于现场可编程门阵列FPGA智能网卡实现公有云网络地址转换NAT网关,提供云内资源与云外互联网互访的能力,可以提高云网络的扩展更新能力,可以简化云网络架构,简化运维复杂度。
在一些或者相关实施例中,网络地址转换NAT网关设备,包括现场可编程门阵列FPGA智能网卡、代理AGENT模块、外网口、虚拟扩展局域网隧道端点VTEP网口以及管控网口,其中,所述FPGA智能网卡分别与所述代理AGENT模块、所述外网口、所述虚拟扩展局域网隧道端点VTEP网口连接,所述代理AGENT模块与所述管控网口连接。因此,无需增加硬件加速器,可以简化NAT网关设备的结构,简化云网络架构设计,简化运维复杂度,且基于FPGA智能网卡,可以提供云内资源和云外资源互访能力的通水,提高转发性能和可编程能力,可以提高数据转发能力。
另外,AGENT模块仅用于管控及运维监控,不处理数据报文,可更稳定地提供管控与运维监控能力。
在一些实施例之中,图2是根据一示例性实施例示出的一种网络地址转换NAT网关设备的架构示意图。如图2所示,所述的网络地址转换NAT网关设备100,还包括:运维监控***106和管控网络模块107,其中,所述管控网口105分别与所述运维监控***106和所述管控网络模块107连接。
根据一些实施例,本公开实施例可以应用于公有云场景中,如图1所示,本公开由NAT网关设备上的现场可编程门阵列FPGA智能网卡101、代理AGENT模块102、外网口103、虚拟扩展局域网隧道端点VTEP网口104以及管控网口105组成。外网口103与出公网的路由器连接,用于与互联网互通;VTEP网口104与云内资源池连接,用于与云内资源连接,其中隧道采用VXLAN技术;管控网口105与管控网络、运维监控网络连接,用于接收管控数据及发送运维监控数据。
根据一些实施例,AGENT模块102为用户态程序,运行于FPGA智能网卡的操作***上,采用mmap技术映射FPGA智能网卡的寄存器地址空间至内存,通过寄存器地址空间操作控制FPGA智能网卡。操作控制包括但不限于初始化FPGA智能网卡、增删NAT规则表项、读取NAT规则表项和转发表项统计数据和状态、读取FPGA智能网卡的运行时状态等。
根据一些实施例,AGENT模块102与公有云中软件定义网络SDN控制器109建立长连接,接收处理SDN控制器下发的NAT配置数据。对于SNAT业务,NAT配置数据包括但不限于云内underlay网络目的IP、VXLAN VNI、overlay网络源IP、公网IP;对于DNAT业务,NAT配置数据包括云内underlay网络源目的IP、VXLAN VNI、overlay网络源目的IP、公网IP。AGENT模块102接收到NAT配置数据后,可将NAT配置数据组装成NAT规则表项,通过FPGA智能网卡寄存器接口下发至FPGA智能网卡的NAT规则表中。
根据一些实施例,AGENT模块102与公有云中的运维监控***106建立长连接,周期性地或根据需求,通过FPGA智能网卡寄存器接口读取NAT规则表项、转发表项的统计数据和运行时状态,并向运维监控***发送统计数据、运维监控数据。
根据一些实施例,FPGA智能网卡内部除具备基本的转发引擎外,还包括两张表和两个处理单元,分别为NAT规则表、转发表和转换处理单元、老化处理单元。
其中,NAT规则表用于存储AGENT下发的NAT规则表项及每条表项的超时老化时间和统计计数。对于SNAT业务,其NAT规则表项是包含云内underlay网络目的IP、VNI、overlay网络源IP(或子网网段)、公网IP;对于DNAT业务,其NAT规则表项包含云内underlay网络源目的IP、VNI、overlay网络源目的IP、公网IP。
其中,转发表用于存储经转发处理单元处理后的转发表项及每条表项的超时老化时间和统计计数。该表内的转发表项包含有云内underlay网络源目的IP、VNI、overlay网络源目的IP、公网IP。
其中,转换处理单元用于将NAT规则表项转换为转发表项,并存入转发表中。转换过程为,将命中一条NAT规则表项的网络数据报文转换为正反向两条转发表项。
其中,老化处理单元用于老化清理转发表中的转发表项。该处理单元周期性地检查转发表中所有转发表项的超时老化时间,对于已超时的转发表项将其统计计数累加到与其对应的NAT规则表项中,然后从转发表中删除该转发表项。
图3是根据一示例性实施例示出的一种报文处理方法的流程图,如图3所示,包括以下步骤:
在步骤S11中,通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文;
根据一些实施例,该报文处理方法例如可以由如图1所示的网络地址转换NAT网关设备执行,本公开实施例的技术方案例如可以应用于源地址转换SNAT业务。
其中,所述第一虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口地址。第一虚拟扩展局域网vxlan报文并不特指某一固定报文。例如,当第一虚拟扩展局域网vxlan报文的报文接收时间点发生变化时,该第一虚拟扩展局域网vxlan报文也可以相应变化。
根据一些实施例,可以通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文。
在一些实施例之中,例如可以是VTEP网口收到underlay目的地址为本VTEP地址的vxlan报文。
在步骤S12中,在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;
在一些实施例之中,第一报文信息例如可以包括underlay源目的IP地址、VNI、overlay的源目的IP地址。其中,源目的IP地址例如可以包括源IP地址和目的IP地址。
在一些实施例之中,IP地址(Internet Protocol Address)是指互联网协议地址,又可以称为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
根据一些实施例,在通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文时,可以根据该第一虚拟扩展局域网vxlan报文中的第一报文信息,查找转发表中有无匹配的转发表项。在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文。
其中,第二虚拟扩展局域网vxlan报文是指对第一虚拟扩展局域网vxlan报文进行IP地址替换之后得到的虚拟扩展局域网vxlan报文。
在步骤S13中,获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;
根据一些实施例,第一校验和是指第二虚拟扩展局域网vxlan报文对应的校验和。其中,检验和用于唯一标识报文。
根据一些实施例,在获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和时可以并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文。
其中,第三虚拟扩展局域网vxlan报文例如可以是overlay网络层网络数据报文。
在步骤S14中,通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。
根据一些实施例,在获取到第三虚拟扩展局域网vxlan报文时,可以通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。
其中,在通过所述外网口发出所述第三虚拟扩展局域网vxlan报文时,可以更新转发表项的统计计数和老化时间。
根据一些实施例,图4是根据一示例性实施例示出的一种报文处理方法的流程图,如图4所示,包括以下步骤:在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到所述第一转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述第一虚拟扩展局域网vxlan报文的第二报文信息匹配的第一NAT规则表项;在查找到所述第一NAT规则表项的情况下,将所述第一虚拟扩展局域网vxlan报文和所述第一NAT规则表项中的第一公网IP地址传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块;控制所述转换处理模块根据所述第二报文信息和所述第一公网IP地址生成第二转发表项,并初始化所述第二转发表项的统计计数和初始化所述第二转发表项对应的老化时间;使用所述第二转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第四虚拟扩展局域网vxlan报文;获取所述第四虚拟扩展局域网vxlan报文对应的第三校验和,并使用第三校验和替换所述第一虚拟扩展局域网vxlan报文中的第一校验和,得到第五虚拟扩展局域网vxlan报文;通过所述外网口发出所述第五虚拟扩展局域网vxlan报文。因此,在转发表中查找不到第一转发表项的情况下,可以通过NAT规则表发出虚拟扩展局域网vxlan报文,可以减少转发规则下发时长较长使得业务稳定性较差和服务质量较低的情况,可以提高报文处理效率。
在一些实施例之中,第二报文信息例如可以包括underlay目的ip地址、VNI、overlay的源IP地址。
根据一些实施例,在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到所述第一转发表项的情况下,根据该第一vxlan报文的underlay目的ip地址、VNI、overlay的源IP地址,查找NAT规则表中有无匹配的NAT规则表项。如有,则将第一报文及NAT规则表项中的公网IP送至转换处理单元,控制转换处理单元更新NAT规则表项统计计数;否则丢弃该第一报文,报文处理结束。
根据一些实施例,可以控制转换处理单元根据报文的underlay源目的IP地址、VNI、overlay的源目的IP地址及从NAT规则表传入的公网IP地址生成正反两个方向的转发表项存储至转发表,并初始化转发表项统计计数和老化时间。然后可以用公网IP替换overlay网络的源IP地址,并计算相关校验和并替换第一报文中的校验和,将overlay层网络数据报文直接从公网口发出,报文处理结束。
根据一些实施例,所述方法还包括:
通过所述代理AGENT模块接收软件定义网络SDN控制器发送的NAT配置数据,其中,不同的业务对应不同的NAT配置数据;
控制所述代理AGENT模块基于所述NAT配置数据生成NAT规则表项;
通过所述现场可编程门阵列FPGA智能网卡的寄存器接口将所述NAT规则表项传输至所述现场可编程门阵列FPGA智能网卡的NAT规则表。因此,代理AGENT模块可以现场可编程门阵列FPGA智能网卡直接进行NAT规则表交互,可以提高NAT规则表交互的便利性。
根据一些实施例,图5是根据一示例性实施例示出的一种报文处理方法的流程图,如图5所示,所述方法还包括:
在步骤S15中,通过所述外网口接收第一网络数据报文,其中,所述第一网络数据报文的目的IP地址为所述SNAT业务的第一公网IP地址;
在步骤S16中,在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第三转发表项的情况下,使用所述第三转发表项中的overlay层目的IP地址替换所述第一网络数据报文中的目的IP地址,并使用所述第三转发表项中的underlay源目的IP地址、VNI对所述第一网络数据报文进行封装,得到第二网络数据报文;
在步骤S17中,获取所述第二网络数据报文对应的第四校验和,并使用所述第四校验和替换所述第二网络数据报文的第五校验和,得到第三网络数据报文;
在步骤S18中,通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第三网络数据报文。
根据一些实施例,可以通过外网口收到目的IP为SNAT业务公网IP的网络数据报文。可以根据该目的公网IP查找转发表有无匹配转发表项。如有,则使用表项中的overlay层目的IP地址替换原始报文的目的IP地址,再使用表项中的underlay源目的IP地址、VNI对原始数据报文进行封装,然后进行各协议层校验和的计算并替换或填充数据报文中的校验和,最后把封装后的数据报文通过VTEP口发出,更新转发表项统计计数和老化时间,报文处理结束。否则,进入下述DNAT业务的在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到与所述目的IP地址匹配的第四转发表项的情况下的步骤,最终丢弃该报文。
根据一些实施例,所述方法还包括:
每隔预设时长获取一次所述转发表中任一转发表项的超时老化时长;
在所述超时老化时长大于时长阈值的情况下,将所述任一转发表项对应的统计计数累加至与所述任一转发表项对应的NAT规则表项中,并删除所述转发表中的所述任一转发表项。因此,可以对转发表想进行更新,减少智能网卡内部的转发表项和外部的虚拟交换机中的转发表项不一致,出现流量转发错误或丢包的情况,可以提高数据转发准确性和数据转发效率。
根据一些实施例,所述方法还包括:在所述转发表中任一转发表项的超时老化时长达到时长阈值的情况下,将所述任一转发表项对应的统计计数累加至与所述任一转发表项对应的NAT规则表项中,并删除所述转发表中的所述任一转发表项。
在一些或者相关的实施例之中,通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文;在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。因此,无需增加硬件加速器,可以简化NAT网关设备的结构,简化云网络架构设计,简化运维复杂度,且基于FPGA智能网卡,可以提供云内资源和云外资源互访能力的通水,提高转发性能和可编程能力,可以提高数据转发能力。另外,无需将网络数据报文首包上送虚拟交换机慢路径处理,减少连接会话的首包延迟情况,可以直接根据转发表项进行数据处理,可以减少网络延迟情况,提高数据转发效率。
图6是根据一示例性实施例示出的一种报文处理方法的流程图,如图6所示,包括以下步骤:
在步骤S21中,通过所述外网口接收第四网络数据报文;
根据一些实施例,根据一些实施例,该报文处理方法例如可以由如图1所示的网络地址转换NAT网关设备执行,本公开实施例的技术方案例如可以应用于目的地址转换DNAT业务。
其中,所述第四网络数据报文的目的IP地址为所述DNAT业务的第二公网IP。
在一些实施例之中,执行报文处理方法时,可以通过所述外网口接收第四网络数据报文。
根据一些实施例,图7是根据一示例性实施例示出的一种报文处理方法的流程图,如图7所示,可以通过外网口收到目的IP为DNAT业务公网IP的网络数据报文。
在步骤S22中,在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;
根据一些实施例,第五网络数据报文是指对第四网络数据报文进行封装之后得到的网络数据报文。该第五网络数据报文并不特指某一固定网络数据报文。例如,第四转发表项发生变化时,该第五网络数据报文也可以相应变化。
根据一些实施例,所述方法还包括:
每隔预设时长获取一次所述转发表中任一转发表项的超时老化时长;
在所述超时老化时长大于时长阈值的情况下,将所述任一转发表项对应的统计计数累加至与所述任一转发表项对应的NAT规则表项中,并删除所述转发表中的所述任一转发表项。
在一些实施例之中,在一些实施例之中,执行报文处理方法时,可以通过所述外网口接收第四网络数据报文。在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文。
在步骤S23中,获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;
根据一些实施例,当网络数据报文中任一数据发生变化时,该网络数据报文对应的校验和也可以相应变化。也就是说,检验和用于唯一标识网络数据报文。
在一些实施例之中,在获取到第五网路报文数据时,可以获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文。
在步骤S24中,通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。
根据一些实施例,在获取到第六网络数据报文时,可以通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。
根据一些实施例,可以通过外网口收到目的IP为DNAT业务公网IP的网络数据报文。根据该目的公网IP查找转发表有无匹配转发表项。如有,则使用表项中的overlay的目的IP地址替换原始报文的目的IP地址,再使用表项中的underlay源目的IP地址、VNI对原始数据报文进行封装,然后进行各协议层校验和的计算并替换或填充地址替换后的数据报文中的校验和,最后把封装后的数据报文通过VTEP口发出,更新转发表项统计计数和老化时间,报文处理结束。
根据一些实施例,所述方法还包括:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到与所述目的IP地址匹配的第四转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述目的IP地址匹配的第二NAT规则表项;
在查找到所述第二NAT规则表项的情况下,将所述第二NAT规则表项中的第三报文信息和所述第四网络数据报文传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块,并更新所述第二NAT规则表项对应的统计计数;
控制所述转换处理模块根据所述第三报文信息和所述第四网络数据报文的目的IP地址生成第五转发表项,并初始化所述第五转发表项的统计计数和初始化所述第五转发表项对应的老化时间;
使用所述第五转发表项中的overlay的目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第五转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第七网络数据报文;
获取所述第七网络数据报文对应的第八校验和,并使用第八校验和替换所述第四网络数据报文中的第九校验和,得到第八网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第八网络数据报文。
根据一些实施例,在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到与所述目的IP地址匹配的第四转发表项的情况下,根据该目的公网IP地址查找NAT规则表有无匹配的NAT规则表项。如有,则将报文及NAT规则表项中的underlay源目的ip地址、VNI、overlay的源目的IP地址送至转换处理单元,更新NAT规则表项统计计数;否则丢弃该报文,报文处理结束。
在一些实施例之中,可以控制转换处理单元根据报文的目的公网IP及从NAT规则表传入的underlay源目的ip地址、VNI、overlay的源目的IP地址生成正反两个方向的转发表项存储至转发表,并初始化转发表项统计计数和老化时间,更新NAT规则表项统计计数。然后使用overlay的目的IP地址替换原始报文的目的IP地址,再使用underlay源目的IP地址、VNI对原始数据报文进行封装,然后进行各协议层校验和的计算并替换或填充数据报文中的校验和,最后把封装后的数据报文通过VTEP口发出,报文处理结束。
根据一些实施例,图8是根据一示例性实施例示出的一种报文处理方法的流程图,如图8所示,包括以下步骤:
在步骤S25中,通过所述虚拟扩展局域网隧道端点VTEP网口接收第六虚拟扩展局域网vxlan报文;
其中,所述第六虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口的地址。
在步骤S26中,在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第六虚拟扩展局域网vxlan报文的第四报文信息匹配的第六转发表项的情况下,使用所述第六转发表项中的目的IP地址替换所述第六虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第七虚拟扩展局域网vxlan报文;
在步骤S27中,获取所述第七虚拟扩展局域网vxlan报文对应的第十校验和,并使用所述第十校验和替换所述第七虚拟扩展局域网vxlan报文的第十一校验和,得到第八虚拟扩展局域网vxlan报文;
在步骤S28中,通过所述外网口发出所述第八虚拟扩展局域网vxlan报文,并更新所述第六转发表项的统计计数和所述第六转发表项的老化时间。
根据一些实施例,可以通过VTEP网口收到underlay目的地址为本VTEP地址的vxlan报文。根据该vxlan报文的underlay源目的IP地址、VNI、overlay的源目的IP地址,查找转发表有无匹配的转发表项。如有,则使用表项中的公网IP替换overlay网络的源IP,然后计算相关校验和并替换数据报文中的校验和,将overlay层网络数据报文直接从公网口发出,更新转发表项统计计数和老化时间,报文处理结束;否则,继续处理,进入上述SNAT业务的在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到所述第一转发表项的情况下的步骤,最终丢弃该报文。
根据一些实施例,所述方法还包括:
通过所述代理AGENT模块接收软件定义网络SDN控制器发送的NAT配置数据,其中,不同的业务对应不同的NAT配置数据;
控制所述代理AGENT模块基于所述NAT配置数据生成NAT规则表项;
通过所述现场可编程门阵列FPGA智能网卡的寄存器接口将所述NAT规则表项传输至所述现场可编程门阵列FPGA智能网卡的NAT规则表。
在一些或者相关的实施例之中,通过通过所述外网口接收第四网络数据报文;在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。因此,无需增加硬件加速器,可以简化NAT网关设备的结构,简化云网络架构设计,简化运维复杂度,且基于FPGA智能网卡,可以提供云内资源和云外资源互访能力的通水,提高转发性能和可编程能力,可以提高数据转发能力。另外,无需将网络数据报文首包上送虚拟交换机慢路径处理,减少连接会话的首包延迟情况,可以直接根据转发表项进行数据处理,可以减少网络延迟情况,提高数据转发效率。
图9是根据一示例性实施例示出的一种报文处理装置框图。参照图9,该报文处理装置900包括:
报文获取单元901,用于通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文,其中,所述第一虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口地址;
地址替换单元902,用于在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;
校验和替换单元903,用于获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;
报文发出单元904,用于通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。
根据一些实施例,报文发出单元904,还用于:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到所述第一转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述第一虚拟扩展局域网vxlan报文的第二报文信息匹配的第一NAT规则表项;
在查找到所述第一NAT规则表项的情况下,将所述第一虚拟扩展局域网vxlan报文和所述第一NAT规则表项中的第一公网IP地址传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块;
控制所述转换处理模块根据所述第二报文信息和所述第一公网IP地址生成第二转发表项,并初始化所述第二转发表项的统计计数和初始化所述第二转发表项对应的老化时间;
使用所述第二转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第四虚拟扩展局域网vxlan报文;
获取所述第四虚拟扩展局域网vxlan报文对应的第三校验和,并使用第三校验和替换所述第一虚拟扩展局域网vxlan报文中的第一校验和,得到第五虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第五虚拟扩展局域网vxlan报文。
根据一些实施例,报文发出单元904,还用于:
通过所述代理AGENT模块接收软件定义网络SDN控制器发送的NAT配置数据,其中,不同的业务对应不同的NAT配置数据;
控制所述代理AGENT模块基于所述NAT配置数据生成NAT规则表项;
通过所述现场可编程门阵列FPGA智能网卡的寄存器接口将所述NAT规则表项传输至所述现场可编程门阵列FPGA智能网卡的NAT规则表。
根据一些实施例,报文发出单元904,还用于:
通过所述外网口接收第一网络数据报文,其中,所述第一网络数据报文的目的IP地址为所述SNAT业务的第一公网IP地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第三转发表项的情况下,使用所述第三转发表项中的overlay层目的IP地址替换所述第一网络数据报文中的目的IP地址,并使用所述第三转发表项中的underlay源目的IP地址、VNI对所述第一网络数据报文进行封装,得到第二网络数据报文;
获取所述第二网络数据报文对应的第四校验和,并使用所述第四校验和替换所述第二网络数据报文的第五校验和,得到第三网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第三网络数据报文。
根据一些实施例,报文发出单元904,还用于:
每隔预设时长获取一次所述转发表中任一转发表项的超时老化时长;
在所述超时老化时长大于时长阈值的情况下,所述任一转发表项对应的统计计数累加至与所述任一转发表项对应的NAT规则表项中,并删除所述转发表中的所述任一转发表项。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一些或者相关实施例中,报文获取单元,用于通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文;地址替换单元,用于在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;校验和替换单元,用于获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;报文发出单元,用于通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。因此,无需增加硬件加速器,可以简化NAT网关设备的结构,简化云网络架构设计,简化运维复杂度,且基于FPGA智能网卡,可以提供云内资源和云外资源互访能力的通水,提高转发性能和可编程能力,可以提高数据转发能力。另外,无需将网络数据报文首包上送虚拟交换机慢路径处理,减少连接会话的首包延迟情况,可以直接根据转发表项进行数据处理,可以减少网络延迟情况,提高数据转发效率。
图10是根据一示例性实施例示出的一种报文处理装置框图。参照图10,该报文处理装置1000包括:
数据报文获取单元1001,用于通过所述外网口接收第四网络数据报文,其中,所述第四网络数据报文的目的IP地址为所述DNAT业务的第二公网IP;
IP地址替换单元1002,用于在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;
校验和获取单元1003,用于获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;
数据报文发出单元1004,用于通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。
根据一些实施例,数据报文发出单元1004,还用于:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到与所述目的IP地址匹配的第四转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述目的IP地址匹配的第二NAT规则表项;
在查找到所述第二NAT规则表项的情况下,将所述第二NAT规则表项中的第三报文信息和所述第四网络数据报文传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块,并更新所述第二NAT规则表项对应的统计计数;
控制所述转换处理模块根据所述第三报文信息和所述第四网络数据报文的目的IP地址生成第五转发表项,并初始化所述第五转发表项的统计计数和初始化所述第五转发表项对应的老化时间;
使用所述第五转发表项中的overlay的目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第五转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第七网络数据报文;
获取所述第七网络数据报文对应的第八校验和,并使用第八校验和替换所述第四网络数据报文中的第九校验和,得到第八网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第八网络数据报文。
根据一些实施例,数据报文发出单元1004,还用于:
通过所述虚拟扩展局域网隧道端点VTEP网口接收第六虚拟扩展局域网vxlan报文,其中,所述第六虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口的地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第六虚拟扩展局域网vxlan报文的第四报文信息匹配的第六转发表项的情况下,使用所述第六转发表项中的目的IP地址替换所述第六虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第七虚拟扩展局域网vxlan报文;
获取所述第七虚拟扩展局域网vxlan报文对应的第十校验和,并使用所述第十校验和替换所述第七虚拟扩展局域网vxlan报文的第十一校验和,得到第八虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第八虚拟扩展局域网vxlan报文,并更新所述第六转发表项的统计计数和所述第六转发表项的老化时间。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一些或者相关实施例中,通过数据报文获取单元,用于通过所述外网口接收第四网络数据报文;IP地址替换单元,用于在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;校验和获取单元,用于获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;数据报文发出单元,用于通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。因此,无需增加硬件加速器,可以简化NAT网关设备的结构,简化云网络架构设计,简化运维复杂度,且基于FPGA智能网卡,可以提供云内资源和云外资源互访能力的通水,提高转发性能和可编程能力,可以提高数据转发能力。另外,无需将网络数据报文首包上送虚拟交换机慢路径处理,减少连接会话的首包延迟情况,可以直接根据转发表项进行数据处理,可以减少网络延迟情况,提高数据转发效率。
图11是本公开实施例所提供的一种网络侧设备1100的框图。例如,网络侧设备1100可以被提供为一网络侧设备。参照图11,网络侧设备1100包括处理组件1122,其进一步包括至少一个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理组件1122的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述方法前述应用在所述网络侧设备的任意方法。
网络侧设备1100还可以包括一个电源组件1127被配置为执行网络侧设备1100的电源管理,一个有线或无线网络接口1150被配置为将网络侧设备1100连接到网络,和一个输入/输出(I/O)接口1158。网络侧设备1100可以操作基于存储在存储器1132的操作***,例如Windows Server TM,Mac OS XTM,Unix TM,Linux TM,Free BSDTM或类似。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称 "VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种网络地址转换NAT网关设备,其特征在于,包括现场可编程门阵列FPGA智能网卡、代理AGENT模块、外网口、虚拟扩展局域网隧道端点VTEP网口以及管控网口,其中,所述FPGA智能网卡分别与所述代理AGENT模块、所述外网口、所述虚拟扩展局域网隧道端点VTEP网口连接,所述代理AGENT模块与所述管控网口连接,所述代理AGENT模块用于管控及运维监控,不处理数据报文,所述外网口用于与互联网互通,所述VTEP网口用于与云内资源连接;
所述AGENT模块为用户态程序,运行于所述FPGA智能网卡的操作***上,采用mmap技术映射所述FPGA智能网卡的寄存器地址空间至内存,通过寄存器地址空间操作控制所述FPGA智能网卡;所述AGENT模块接收SDN控制器下发的NAT配置数据,并将所述NAT配置数据组装成NAT规则表项,通过所述FPGA智能网卡寄存器接口下发至所述FPGA智能网卡的NAT规则表中;所述AGENT模块与运维监控***建立长连接,周期性地或根据需求,通过所述FPGA智能网卡寄存器接口读取NAT规则表项、转发表项的统计数据和运行时状态,并向运维监控***发送统计数据、运维监控数据;
所述FPGA智能网卡内部包括转发引擎、NAT规则表、转发表和转换处理单元、老化处理单元,其中,所述NAT规则表用于存储所述AGENT模块下发的NAT规则表项及每条表项的超时老化时间和统计计数,所述转发表用于存储经转发处理单元处理后的转发表项及每条表项的超时老化时间和统计计数,所述转换处理单元用于将NAT规则表项转换为转发表项,并存入转发表中,转换过程为将命中一条NAT规则表项的网络数据报文转换为正反向两条转发表项,所述老化处理单元用于周期性地检查转发表中所有转发表项的超时老化时间,对于已超时的转发表项将其统计计数累加到与其对应的NAT规则表项中,然后从转发表中删除该转发表项。
2.根据权利要求1所述的网络地址转换NAT网关设备,其特征在于,所述网络地址转换NAT网关设备还包括:运维监控***和管控网络模块,其中,所述管控网口分别与所述运维监控***和所述管控网络模块连接。
3.一种报文处理方法,其特征在于,由如权利要求1或2所述的网络地址转换NAT网关设备执行,应用于源地址转换SNAT业务,包括:
通过所述虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文,其中,所述第一虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;
获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第三虚拟扩展局域网vxlan报文。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到所述第一转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述第一虚拟扩展局域网vxlan报文的第二报文信息匹配的第一NAT规则表项;
在查找到所述第一NAT规则表项的情况下,将所述第一虚拟扩展局域网vxlan报文和所述第一NAT规则表项中的第一公网IP地址传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块;
控制所述转换处理模块根据所述第二报文信息和所述第一公网IP地址生成第二转发表项,并初始化所述第二转发表项的统计计数和初始化所述第二转发表项对应的老化时间;
使用所述第二转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第四虚拟扩展局域网vxlan报文;
获取所述第四虚拟扩展局域网vxlan报文对应的第三校验和,并使用第三校验和替换所述第一虚拟扩展局域网vxlan报文中的第一校验和,得到第五虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第五虚拟扩展局域网vxlan报文。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过所述代理AGENT模块接收软件定义网络SDN控制器发送的NAT配置数据,其中,不同的业务对应不同的NAT配置数据;
控制所述代理AGENT模块基于所述NAT配置数据生成NAT规则表项;
通过所述现场可编程门阵列FPGA智能网卡的寄存器接口将所述NAT规则表项传输至所述现场可编程门阵列FPGA智能网卡的NAT规则表。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
通过所述外网口接收第一网络数据报文,其中,所述第一网络数据报文的目的IP地址为所述SNAT业务的第一公网IP地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第三转发表项的情况下,使用所述第三转发表项中的overlay层目的IP地址替换所述第一网络数据报文中的目的IP地址,并使用所述第三转发表项中的underlay源目的IP地址、VNI对所述第一网络数据报文进行封装,得到第二网络数据报文;
获取所述第二网络数据报文对应的第四校验和,并使用所述第四校验和替换所述第二网络数据报文的第五校验和,得到第三网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第三网络数据报文。
7.根据权利要求3至6任一项所述的方法,其特征在于,所述方法还包括:
每隔预设时长获取一次所述转发表中任一转发表项的超时老化时长;
在所述超时老化时长大于时长阈值的情况下,将所述任一转发表项对应的统计计数累加至与所述任一转发表项对应的NAT规则表项中,并删除所述转发表中的所述任一转发表项。
8.一种报文处理方法,其特征在于,由如权利要求1或2所述的网络地址转换NAT网关设备执行,应用于源地址转换DNAT业务,包括:
通过所述外网口接收第四网络数据报文,其中,所述第四网络数据报文的目的IP地址为所述DNAT业务的第二公网IP;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述目的IP地址匹配的第四转发表项的情况下,使用所述第四转发表项中的overlay层目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第四转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第五网络数据报文;
获取所述第五网络数据报文对应的第六校验和,并使用所述第六校验和替换所述第五网络数据报文的第七校验和,得到第六网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第六网络数据报文。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述现场可编程门阵列FPGA智能网卡中的转发表中未查找到与所述目的IP地址匹配的第四转发表项的情况下,在所述现场可编程门阵列FPGA智能网卡中的NAT规则表中查找与所述目的IP地址匹配的第二NAT规则表项;
在查找到所述第二NAT规则表项的情况下,将所述第二NAT规则表项中的第三报文信息和所述第四网络数据报文传输至所述现场可编程门阵列FPGA智能网卡中的转换处理模块,并更新所述第二NAT规则表项对应的统计计数;
控制所述转换处理模块根据所述第三报文信息和所述第四网络数据报文的目的IP地址生成第五转发表项,并初始化所述第五转发表项的统计计数和初始化所述第五转发表项对应的老化时间;
使用所述第五转发表项中的overlay的目的IP地址替换所述第四网络数据报文中的目的IP地址,并使用所述第五转发表项中的underlay源目的IP地址、VNI对所述第四网络数据报文进行封装,得到第七网络数据报文;
获取所述第七网络数据报文对应的第八校验和,并使用第八校验和替换所述第四网络数据报文中的第九校验和,得到第八网络数据报文;
通过所述虚拟扩展局域网隧道端点VTEP网口发出所述第八网络数据报文。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
通过所述虚拟扩展局域网隧道端点VTEP网口接收第六虚拟扩展局域网vxlan报文,其中,所述第六虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口的地址;
在所述现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第六虚拟扩展局域网vxlan报文的第四报文信息匹配的第六转发表项的情况下,使用所述第六转发表项中的目的IP地址替换所述第六虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第七虚拟扩展局域网vxlan报文;
获取所述第七虚拟扩展局域网vxlan报文对应的第十校验和,并使用所述第十校验和替换所述第七虚拟扩展局域网vxlan报文的第十一校验和,得到第八虚拟扩展局域网vxlan报文;
通过所述外网口发出所述第八虚拟扩展局域网vxlan报文,并更新所述第六转发表项的统计计数和所述第六转发表项的老化时间。
11.一种报文处理装置,所述报文处理装置应用于权利要求1或2所述的网络地址转换NAT网关设备中,其特征在于,包括:
报文获取单元,用于通过虚拟扩展局域网隧道端点VTEP网口接收第一虚拟扩展局域网vxlan报文,其中,所述第一虚拟扩展局域网vxlan报文的underlay目的地址为所述虚拟扩展局域网隧道端点VTEP网口地址;
地址替换单元,用于在现场可编程门阵列FPGA智能网卡中的转发表中查找到与所述第一虚拟扩展局域网vxlan报文中的第一报文信息匹配的第一转发表项的情况下,使用所述第一转发表项中的第一公网IP地址替换所述第一虚拟扩展局域网vxlan报文中的overlay网络的源IP地址,得到第二虚拟扩展局域网vxlan报文;
校验和替换单元,用于获取所述第二虚拟扩展局域网vxlan报文对应的第一校验和,并使用所述第一校验和替换所述第二虚拟扩展局域网vxlan报文中的第二校验和,得到第三虚拟扩展局域网vxlan报文;
报文发出单元,用于通过外网口发出所述第三虚拟扩展局域网vxlan报文。
12.一种网络侧设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求3至10中任一项所述的报文处理方法。
13.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求3至10中任一项所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021921.1A CN116760795B (zh) | 2023-08-15 | 2023-08-15 | 网络地址转换nat网关设备、报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021921.1A CN116760795B (zh) | 2023-08-15 | 2023-08-15 | 网络地址转换nat网关设备、报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116760795A CN116760795A (zh) | 2023-09-15 |
CN116760795B true CN116760795B (zh) | 2023-12-08 |
Family
ID=87959390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311021921.1A Active CN116760795B (zh) | 2023-08-15 | 2023-08-15 | 网络地址转换nat网关设备、报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116760795B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330649A (zh) * | 2015-06-18 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种跨软件定义网络的数据报文转发方法和装置 |
CN107579900A (zh) * | 2017-10-13 | 2018-01-12 | 锐捷网络股份有限公司 | 从vlan网络接入vxlan网络的方法、装置及*** |
CN108667945A (zh) * | 2017-03-30 | 2018-10-16 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN109088953A (zh) * | 2017-06-14 | 2018-12-25 | 中兴通讯股份有限公司 | 一种Linux网关代理转换IP的方法及装置 |
CN109922074A (zh) * | 2019-03-19 | 2019-06-21 | 北京百度网讯科技有限公司 | 接入带外管理网络的方法和装置、管理方法、设备、介质 |
CN109962989A (zh) * | 2017-12-25 | 2019-07-02 | 中国电信股份有限公司 | 穿越网络地址网关的方法、装置和*** |
CN113821310A (zh) * | 2021-11-19 | 2021-12-21 | 阿里云计算有限公司 | 数据处理方法、可编程网卡设备、物理服务器及存储介质 |
CN115460303A (zh) * | 2021-06-09 | 2022-12-09 | 中移(苏州)软件技术有限公司 | 一种数据处理方法、装置、终端及存储介质 |
CN115695056A (zh) * | 2022-10-14 | 2023-02-03 | 中电云数智科技有限公司 | 一种用于智能网卡运维的*** |
CN115766620A (zh) * | 2022-09-26 | 2023-03-07 | 阿里巴巴(中国)有限公司 | 报文处理方法、可编程网卡设备、物理服务器及存储介质 |
CN116155650A (zh) * | 2023-02-09 | 2023-05-23 | 安超云软件有限公司 | 数据报文转发方法、设备及电子设备 |
CN116418632A (zh) * | 2023-03-23 | 2023-07-11 | 新华三信息技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
-
2023
- 2023-08-15 CN CN202311021921.1A patent/CN116760795B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330649A (zh) * | 2015-06-18 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种跨软件定义网络的数据报文转发方法和装置 |
CN108667945A (zh) * | 2017-03-30 | 2018-10-16 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN109088953A (zh) * | 2017-06-14 | 2018-12-25 | 中兴通讯股份有限公司 | 一种Linux网关代理转换IP的方法及装置 |
CN107579900A (zh) * | 2017-10-13 | 2018-01-12 | 锐捷网络股份有限公司 | 从vlan网络接入vxlan网络的方法、装置及*** |
CN109962989A (zh) * | 2017-12-25 | 2019-07-02 | 中国电信股份有限公司 | 穿越网络地址网关的方法、装置和*** |
CN109922074A (zh) * | 2019-03-19 | 2019-06-21 | 北京百度网讯科技有限公司 | 接入带外管理网络的方法和装置、管理方法、设备、介质 |
CN115460303A (zh) * | 2021-06-09 | 2022-12-09 | 中移(苏州)软件技术有限公司 | 一种数据处理方法、装置、终端及存储介质 |
CN113821310A (zh) * | 2021-11-19 | 2021-12-21 | 阿里云计算有限公司 | 数据处理方法、可编程网卡设备、物理服务器及存储介质 |
CN115766620A (zh) * | 2022-09-26 | 2023-03-07 | 阿里巴巴(中国)有限公司 | 报文处理方法、可编程网卡设备、物理服务器及存储介质 |
CN115695056A (zh) * | 2022-10-14 | 2023-02-03 | 中电云数智科技有限公司 | 一种用于智能网卡运维的*** |
CN116155650A (zh) * | 2023-02-09 | 2023-05-23 | 安超云软件有限公司 | 数据报文转发方法、设备及电子设备 |
CN116418632A (zh) * | 2023-03-23 | 2023-07-11 | 新华三信息技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116760795A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102434610B1 (ko) | 핸드오버 방법, 디바이스 및 시스템 | |
CN108293022B (zh) | 一种报文传输的方法、装置和*** | |
CN112491708A (zh) | IPv6报文的路由头封装方法及装置 | |
US11356410B2 (en) | Packet transmission method and device, and computer readable storage medium | |
CN109428749B (zh) | 网络管理方法及相关设备 | |
WO2019128273A1 (zh) | 确定网络设备连接关系的方法、设备及*** | |
CN111193773A (zh) | 负载均衡方法、装置、设备及存储介质 | |
CN112532526B (zh) | 数据转发方法、装置及网络设备 | |
EP2890064A1 (en) | Packet forwarding method and system | |
CN114064206A (zh) | 一种访问边缘节点的pod方法、***、设备及存储介质 | |
CN113596017B (zh) | 一种协议解析方法、装置、软网关和存储介质 | |
US20230413142A1 (en) | Method and apparatus for determining satellite backhaul information | |
CN111585815B (zh) | 一种端口数据采集方法及装置 | |
US20240089317A1 (en) | Method and electronic device for accessing service device in local area network | |
US8886913B2 (en) | Apparatus and method for identifier management | |
CN108881247B (zh) | 报文转换方法、装置、网关设备及存储介质 | |
CN116760795B (zh) | 网络地址转换nat网关设备、报文处理方法和装置 | |
CN103581020B (zh) | 一种报文转发的方法、装置及*** | |
CN106878182B (zh) | 一种数据传输方法及设备 | |
CN117082029A (zh) | 基于线路缓存的访问方法、装置、电子设备和存储介质 | |
CN114449051B (zh) | 一种数据包的传输方法以及通信设备 | |
CN113784201A (zh) | 副屏设备联网处理方法、装置、智能终端及介质 | |
CN114531320A (zh) | 通信方法、装置、设备、***及计算机可读存储介质 | |
KR20170001654A (ko) | Sdn 스위치를 이용한 네트워크 주소 변환 방법 | |
CN114513485A (zh) | 获取映射规则的方法、装置、设备、***及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |