CN112040030B - 报文传输方法、装置、计算机设备及存储介质 - Google Patents
报文传输方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112040030B CN112040030B CN202011214589.7A CN202011214589A CN112040030B CN 112040030 B CN112040030 B CN 112040030B CN 202011214589 A CN202011214589 A CN 202011214589A CN 112040030 B CN112040030 B CN 112040030B
- Authority
- CN
- China
- Prior art keywords
- message
- address
- reverse
- packet
- network
- 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
Images
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
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global 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
- 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/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
Abstract
本申请公开了一种报文传输方法、装置、计算机设备及存储介质,报文传输方法包括:接收第一用户终端发送的VXLAN封装后的第一正向报文;根据第一正向报文的VNI网络标识获取第一公网IP地址,并根据第一正向报文的五元组信息获取第一公网端口;将第一正向报文的源IP地址转换为第一公网IP地址,以及将第一正向报文的源端口转换为第一公网端口;将第一正向报文发送给业务系统。通过使用VNI网络标识与公网IP地址进行关联,根据正向报文的VNI网络标识为正向报文分配对应的公网IP地址,各局域网中的用户终端可以分别使用与各局域网对应的公网IP地址对外网的服务器进行访问,从而可以解决多局域网IP冲突的问题。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种报文传输方法、装置、计算机设备及存储介质。
背景技术
随着接入因特网的计算机数量的不断猛增,公网IP地址资源也就愈加显得捉襟见肘。一般即使是拥有几百台计算机的大型局域网用户,当他们申请公网IP地址时,所分配的公网IP地址也不过只有几个或十几个。显然,这样少的公网IP地址根本无法满足网络用户的需求,于是也就产生了网络地址转换技术(Network Address Translation,NAT)。
NAT是将数据包头中的IP地址转换为另一个IP地址的过程,目前利用NAT技术进行报文传输时,多局域网之间容易发生IP冲突。
发明内容
本申请实施例提供一种报文传输方法、装置、计算机设备及存储介质,以解决目前利用NAT技术进行报文传输时,多局域网之间容易发生IP冲突的技术问题。
为解决上述问题,本发明提供的技术方案如下:
第一方面,本申请提供一种报文传输方法,应用于NAT转换设备,所述报文传输方法包括:
接收第一用户终端发送的VXLAN封装后的第一正向报文;
对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口;
对所述第一正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口;
将NAT转换后的第一正向报文发送给业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文;
接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口;
对所述第一反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口;
根据NAT转换后的第一反向报文的目的IP地址和目的端口对所述第一反向报文进行VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识;
将封装后的第一反向报文发送给所述第一用户终端。
在一些实施例中,所述报文传输方法还包括:
接收第二用户终端发送的VXLAN封装后的第二正向报文,所述第二用户终端为与所述第一用户终端处于同一局域网的用户终端;
对所述第二正向报文进行VXLAN解封装,提取所述第二正向报文的VNI网络标识和五元组信息,根据所述第二正向报文的VNI网络标识获取第二公网IP地址,并根据所述第二正向报文的五元组信息获取第二公网端口;
对所述第二正向报文进行NAT转换,以将所述第二正向报文的源IP地址转换为所述第二公网IP地址,以及将所述第二正向报文的源端口转换为所述第二公网端口,所述第二公网IP地址与所述第一公网IP地址相同,所述第二公网端口与所述第一公网端口不同;
将NAT转换后的第二正向报文发送给所述业务系统,以使得所述业务系统在接收NAT转换后的第二正向报文后发送第二反向报文;
接收所述业务系统发送的第二反向报文,并根据所述第二反向报文的五元组信息获取第二私网IP地址和第二私网端口;
对所述第二反向报文进行NAT转换,以将所述第二反向报文的目的IP地址转换为第二私网IP地址,以及将所述第二反向报文的目的端口转换为第二私网端口;
根据NAT转换后的第二反向报文的目的IP地址和目的端口对所述第二反向报文进行VXLAN封装,以为所述第二反向报文添加对应的VNI网络标识;
将封装后的第二反向报文发送给所述第二用户终端。
在一些实施例中,所述报文传输方法还包括:
接收第三用户终端发送的VXLAN封装后的第三正向报文,所述第三用户终端为与所述第一用户终端处于不同局域网的用户终端;
对所述第三正向报文进行VXLAN解封装,提取所述第三正向报文的VNI网络标识和五元组信息,根据所述第三正向报文的VNI网络标识获取第三公网IP地址,并根据所述第三正向报文的五元组信息获取第三公网端口;
对所述第三正向报文进行NAT转换,以将所述第三正向报文的源IP地址转换为所述第三公网IP地址,以及将所述第三正向报文的源端口转换为所述第三公网端口,所述第三公网IP地址与所述第一公网IP地址不同;
将NAT转换后的第三正向报文发送给所述业务系统,以使得所述业务系统在接收NAT转换后的第三正向报文后发送第三反向报文;
接收所述业务系统发送的第三反向报文,并根据所述第三反向报文的五元组信息获取第三私网IP地址和第三私网端口;
对所述第三反向报文进行NAT转换,以将所述第三反向报文的目的IP地址转换为第三私网IP地址,以及将所述第三反向报文的目的端口转换为第三私网端口;
根据NAT转换后的第三反向报文的目的IP地址和目的端口对所述第三反向报文进行VXLAN封装,以为所述第三反向报文添加对应的VNI网络标识;
将封装后的第三反向报文发送给所述第三用户终端。
在一些实施例中,所述根据所述第一正向报文的五元组信息获取第一公网端口的步骤包括:
根据所述第一正向报文的源IP地址和源端口获取第一公网端口。
在一些实施例中,所述对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口的步骤包括:
对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,并根据所述第一正向报文的五元组信息和VNI网络标识查找对应的原始流表,所述原始流表包括所述第一正向报文的五元组信息、VNI网络标识、第一公网IP地址以及第一公网端口;
若原始流表存在,从所述原始流表中获取第一公网IP地址和第一公网端口;
若原始流表不存在,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,利用所述第一正向报文的源IP地址和源端口做哈希运算,以生成第一公网端口,根据所述第一公网IP地址、第一公网端口以及所述第一正向报文的五元组信息和VNI网络标识生成原始流表。
在一些实施例中,所述对所述第一正向报文进行VXLAN解封装的步骤包括:
将所述第一正向报文的VNI网络标识存放在对应的原始流表中;
对所述第一正向报文进行VXLAN解封装,以去除所述第一正向报文的VNI网络标识。
在一些实施例中,所述接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口的步骤包括:
接收所述业务系统发送的第一反向报文;
根据所述第一反向报文的五元组信息查找对应的原始流表,并从所述原始流表中获取第一私网IP地址和第一私网端口。
第二方面,本申请还提供一种报文传输装置,应用于NAT转换设备,所述报文传输装置包括接收单元、解封装单元、NAT单元、发送单元以及封装单元,其中:
所述接收单元用于接收第一用户终端发送的VXLAN封装后的第一正向报文;
所述解封装单元用于对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口;
所述NAT单元用于对所述第一正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口;
所述发送单元用于将NAT转换后的第一正向报文发送给业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文;
所述NAT单元还用于接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口;
所述NAT单元还用于对所述第一反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口;
所述封装单元用于根据NAT转换后的第一反向报文的目的IP地址及目的端口对所述第一反向报文进行VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识;
所述发送单元还用于将封装后的第一反向报文发送给所述第一用户终端。
第三方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序;
其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现上述任一实施例中所述的报文传输方法。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行上述任一实施例中所述的报文传输方法中的步骤。
本发明申请的有益效果为:通过使用VNI网络标识与公网IP地址进行关联,根据正向报文的VNI网络标识为正向报文分配对应的公网IP地址,各局域网中的用户终端可以分别使用与各局域网对应的公网IP地址对外网的服务器进行访问,从而可以解决多局域网之间IP冲突的问题,同时利用公网IP地址+公网端口的形式,可以使得同一局域网中的不同用户终端使用不同的公网IP地址或/和不同的公网端口对外网的服务器进行访问,从而可以解决局域网内IP冲突的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施方式中报文传输系统的场景示意图;
图2为本申请一实施方式中报文传输方法的流程示意图;
图3为本申请另一实施方式中报文传输系统的场景示意图;
图4为本申请一实施方式中报文传输方法的流程示意图;
图5为本申请一实施方式中报文传输方法的流程示意图;
图6为本申请一实施方式中报文传输装置的结构示意图;
图7是本申请一实施方式中提供的计算机设备的结构示意图。
附图标记:
100、用户终端;200、报文传输装置;201、接收单元;202、解封装单元;203、NAT单元;204、发送单元;205、封装单元;300、NAT转换设备;400、服务器;501、第一用户终端;502、第二用户终端;503、第三用户终端;601、处理器;602、存储器;603、电源;604、输入单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
下面首先对本发明实施例中涉及到的一些基本概念进行介绍:
在实际应用中,NAT 技术主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私网IP地址的方式,将有助于减缓可用公网IP地址的枯竭。私网IP地址是指内部网络或主机的IP地址,公网IP地址是指在因特网上全球唯一的IP地址。
局域网(Local Area Network,LAN)是在一个局部的地理范围内(如一个学校、工厂和机关内),将各种计算机、外部设备和数据库等互相联接起来组成的计算机通信网,局域网为私网(内网)。
本申请实施例提供一种报文传输方法、装置、服务器及存储介质,以下分别进行详细说明。
如图1所示,图1为本发明一实施方式中报文传输系统的场景示意图,该报文传输系统可以包括用户终端100、NAT转换设备300以及服务器400,所述服务器400包括业务系统。
本申请实施例中,用户终端100为位于私网(内网)的终端,用户终端100可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中用户终端100可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定用户终端100的类型。
本申请实施例中的NAT转换设备300主要用于获取用户终端100发送的正向报文,并对正向报文进行NAT转换后转发给业务系统,以及用于接收业务系统发送的反向报文,并对反向报文进行NAT转换后发送给用户终端100,以实现用户终端100与业务系统之间的报文传输。
可以理解的是,业务系统接收到NAT转换设备300传送的正向报文后,业务系统根据接收的正向报文作出相应回应,发送对应的反向报文给到NAT转换设备300,NAT转换设备300对反向报文进行NAT转换后,根据NAT转换后的反向报文的目的地址将转换后的反向报文转发至对应的用户终端100。
所述NAT转换设备300中的NAT功能可以通过路由器或防火墙等NAT设备实现。从实现从转换模式的角度而言,NAT可分为PAT(Port Address Translation,带端口的地址转换)和NO-PAT(Not Port Address Translation,不带端口的地址转换)。其中,NO-PAT模式下,一个公网IP地址同一时间只能分给一个私网IP地址进行转换;而PAT模式下,一个公网IP地址可以同时分配给多个私网IP地址共用。本申请所出现的NAT指PAT模式。
需要说明的是,上述的业务系统可以为分布式系统架构,这种分布式系统架构包括至少一个接口板和多个业务板,在这种分布式系统架构中,需要采用分布式处理方式实现 NAT,即多个业务板各自独立地并行进行NAT处理。
本申请实施例中,服务器400为外网(公网)的服务器,服务器400可以是独立的服务器400,也可以是多个服务器400组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器400,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器400构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
本领域技术人员可以理解,图1中示出的应用场景,仅仅是本申请方案的一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的用户终端100,例如图1中仅示出一个用户终端100,可以理解的,该报文传输系统还可以包括多个可访问服务器400的其他用户终端100,具体此处不作限定。
需要说明的是,图1所示的报文传输系统的场景示意图仅仅是一个示例,本发明实施例描述的报文传输系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着报文传输系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
首先,本发明实施例中提供一种报文传输方法,该报文传输方法的执行主体为报文传输装置200,应用于NAT转换设备300。
如图2和图3所示,图2为本发明一实施方式中报文传输方法的流程示意图,图3为本发明另一实施方式中报文传输系统的场景示意图,报文传输方法包括:
S201、接收第一用户终端501发送的VXLAN封装后的第一正向报文。
本实施例中,第一用户终端501为第一局域网中的任一用户终端100,每一局域网中可以包括一个或多个用户终端100;第一正向报文可以为第一用户终端501发送的任一正向报文。
需要说明的是,VXLAN(Virtual Extensible LAN),是一种网络虚拟化技术,VXLAN技术通过建立VXLAN隧道,在现有网络架构上创建大量的虚拟可扩展局域网,不同的虚拟可扩展局域网使用VNI(VXLAN Network Identifier,虚拟可扩展局域网网络标识符)进行标识,报文进行VXLAN封装时,会在报文的头部添加报文扩展字段,报文扩展字段包括用于起标识作用的VNI网络标识。
S202、对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口。
可以理解的是,第一正向报文进行VXLAN封装时,会在正向报文的头部中添加额外的报文扩展字段,对第一正向报文进行VXLAN解封装时会去除掉第一正向报文上的报文扩展字段,从而将第一用户终端501发送的第一正向报文中的原始数据发送给对应的服务器400。
可以理解的是,五元组是通信术语,正向报文的五元组信息是指正向报文的源IP地址、源端口、目的IP地址、目的端口和传输层协议,用户终端100发出的正向报文的源IP地址是指发出正向报文的用户终端100的IP地址,源端口是指用户终端100发出正向报文的端口,正向报文的目的IP地址是指正向报文需要访问的终端的地址,正向报文的目的端口是指正向报文需要访问的终端的接入端口,传输层协议是指TCP/IP协议族(TCP/IP ProtocolSuite,TCP/IP)或用户数据报协议(User Datagram Protocol,UDP)等通信协议。
举例说明,如表1所示,其意义是,一个源IP地址为192.168.1.1的用户终端100通过源端口10000,利用TCP协议,与目的IP地址为121.14.88.76,目的端口为80的终端进行连接。
需要说明的是,第一公网IP地址是指第一用户终端501访问外网的服务器400时分配到的公网IP地址,第一公网端口是指第一用户终端501访问外网的服务器400时分配到的公网端口。
需要说明的是,不同局域网分配的公网IP地址均不相同;同一局域网内不同的两个用户终端100分配到相同的公网IP地址时,该两个用户终端100分配到的公网端口不相同;同一局域网内不同的两个用户终端100分别分配到不同的公网IP地址时,该两个用户终端100分配到的公网端口可以相同或不同。
S203、对所述第一正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口。
如表2所示,例如第一正向报文的源IP地址为192.168.1.1,第一正向报文的源端口为10000,第一正向报文需要访问的服务器400的IP地址为121.14.88.76,第一正向报文需要访问的服务器400的端口为80,第一正向报文被分配到的公网IP地址为61.159.62.130,第一正向报文被分配到的公网端口为30。
如表3所示,对第一正向报文进行NAT转换后,将第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口后,此时第一正向报文的源IP地址为61.159.62.130,第一正向报文的源端口为30,第一正向报文的目的IP地址为121.14.88.76,第一正向报文的目的端口为80。
S204、将NAT转换后的第一正向报文发送给所述业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文。
需要说明的是,第一反向报文是业务系统接收到第一用户终端501发送的第一正向报文后发出的回复报文,业务系统进行必要的业务处理后,需要进行报文回复,接收第一正向报文的业务系统根据第一正向报文中的数据回复第一用户终端501的访问请求。
S205、接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口。
需要说明的是,反向报文的五元组信息是指反向报文的源IP地址、源端口、目的IP地址、目的端口和传输层协议。
其中,服务器400发出的反向报文的源IP地址是指发出反向报文的服务器400的IP地址,源端口是指发出反向报文的服务器400的端口,反向报文的目的IP地址为公网IP地址,反向报文的目的端口为公网端口,第一私网IP地址是指发出第一正向报文的第一用户终端501的IP地址,第一私网端口是指发出第一正向报文的第一用户终端501的端口。
S206、对所述第一反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口。
如表4所示,例如第一反向报文的源IP地址为121.14.88.76,第一反向报文的源端口为80,第一反向报文的目的IP地址为第一公网IP地址,即为61.159.62.130,第一反向报文的目的端口为第一公网端口,即为30,第一反向报文需要访问的用户终端100的IP地址为第一用户终端501的IP地址,即为192.168.1.1,第一反向报文需要访问的用户终端100的端口为第一用户终端501的端口,即为1000。
如表5所示,对第一反向报文进行NAT转换后,将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口后,此时第一反向报文的源IP地址为121.14.88.76,第一反向报文的源端口为80,第一反向报文的目的IP地址为192.168.1.1,第一正向报文的目的端口为1000。
S207、根据NAT转换后的第一反向报文的目的IP地址对所述第一反向报文进行VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识。
S208、将封装后的第一反向报文发送给所述第一用户终端501。
本申请中通过使用VNI网络标识与公网IP地址进行关联,根据正向报文的VNI网络标识为正向报文分配对应的公网IP地址,各局域网中的用户终端100可以使用与各局域网对应的公网IP地址对外网的服务器400进行访问,从而可以解决多局域网之间IP冲突的问题,同时利用公网IP地址+公网端口的形式,可以使得同一局域网中的不同用户终端100使用不同的公网IP地址或/和不同的公网端口对外网的服务器400进行访问,从而可以解决局域网内IP冲突的问题。
如图3和图4所示,图4为本发明一实施方式中报文传输方法的流程示意图,所述报文传输方法还包括:
S301、接收第二用户终端502发送的VXLAN封装后的第二正向报文,所述第二用户终端502为与所述第一用户终端501处于同一局域网的用户终端100。
需要说明的是,第二用户终端502与所述第一用户终端501位于第一局域网,第二用户终端502可以为第一局域网内除第一用户终端501外的任一用户终端100,第二正向报文为所述第二用户终端502发送的任一正向报文,因此所述第二正向报文的源IP地址与所述第一正向报文的源IP地址不同。
S302、对所述第二正向报文进行VXLAN解封装,提取所述第二正向报文的VNI网络标识和五元组信息,根据所述第二正向报文的VNI网络标识获取第二公网IP地址,并根据所述第二正向报文的五元组信息获取第二公网端口。
S303、对所述第二正向报文进行NAT转换,以将所述第二正向报文的源IP地址转换为所述第二公网IP地址,以及将所述第二正向报文的源端口转换为所述第二公网端口,所述第二公网IP地址与所述第一公网IP地址相同,所述第二公网端口与所述第一公网端口不同。
可以理解的是,第二正向报文的发送过程与第一正向报文的发送过程相同,并且分配给第二正向报文的第二公网IP地址与分配给第一正向报文的第一公网IP地址相同,即同一局域网内的不同的两个用户终端100使用同一个公网IP地址访问服务器400,同时由于用户终端100所使用的公网端口不同,从而可以避免局域网内IP冲突的问题,理论上,同一局域网中的用户终端100的数量可以无限,从而可以减少所需公网IP地址的数量,以缓解公网IP地址不足,可用的公网IP地址枯竭的问题。
S304、将NAT转换后的第二正向报文发送给所述业务系统,以使得所述业务系统在接收NAT转换后的第二正向报文后发送第二反向报文。
需要说明的是,第二反向报文为业务系统接收第二正向报文后回复的回复报文,第二反向报文的发送过程与第一反向报文的发送过程相同。
S305、接收所述业务系统发送的第二反向报文,并根据所述第二反向报文的五元组信息获取第二私网IP地址和第二私网端口。
S306、对所述第二反向报文进行NAT转换,以将所述第二反向报文的目的IP地址转换为第二私网IP地址,以及将所述第二反向报文的目的端口转换为第二私网端口。
S307、根据NAT转换后的第二反向报文的目的IP地址对所述第二反向报文进行VXLAN封装,以为所述第二反向报文添加对应的VNI网络标识。
S308、将封装后的第二反向报文发送给所述第二用户终端502。
需要说明的是,第二正向报文的VNI网络标识可以与第一正向报文的VNI网络标识相同,即同一局域网中的所有用户终端100发出的正向报文的VNI网络标识均相同,并使用VNI网络标识与公网IP地址一一对应的方式,从而实现同一局域网中的所有用户终端100使用同一个公网IP地址访问外网的服务器400,此时可以将VNI网络标识视为局域网的网络标识,不同的局域网添加不同的VNI网络标识,并且局域网与VNI网络标识一一对应且相关联。
第二正向报文的VNI网络标识也可以与第一正向报文的VNI网络标识相同,即同一局域网中的所有用户终端100发出的正向报文的VNI网络标识均不相同,并且同一局域网中的所有用户终端100发出的正向报文的VNI网络标识与一个公网中IP地址对应并关联,不同的局域网中的用户终端100发出的正向报文的VNI网络标识均不相同,从而实现同一局域网中的所有用户终端100使用同一个公网IP地址访问外网的服务器400。
在一实施方式中,如图3和图5所示,图5为本发明一实施方式中报文传输方法的流程示意图,所述报文传输方法还包括:
S401、接收第三用户终端503发送的VXLAN封装后的第三正向报文,所述第三用户终端503为与所述第一用户终端501处于不同局域网的用户终端100。
需要说明的是,第三用户终端503与所述第一用户终端501分别位于不同的局域网,如第三用户终端503可以位于第二局域网内,第三用户终端503可以为第二局域网内的任一用户终端100,第三正向报文为所述第三用户终端503发送的任一正向报文,因此所述第三正向报文的源IP地址与所述第一正向报文的源IP地址也不同。
S402、对所述第三正向报文进行VXLAN解封装,提取所述第三正向报文的VNI网络标识和五元组信息,根据所述第三正向报文的VNI网络标识获取第三公网IP地址,并根据所述第三正向报文的五元组信息获取第三公网端口。
S403、对所述第三正向报文进行NAT转换,以将所述第三正向报文的源IP地址转换为所述第三公网IP地址,以及将所述第三正向报文的源端口转换为所述第三公网端口,所述第三公网IP地址与所述第一公网IP地址不同。
可以理解的是,第三正向报文的发送过程与第一正向报文的发送过程相同,并且分配给第三正向报文的第三公网IP地址与分配给第一正向报文的第一公网IP地址不相同,即不同局域网内的不同的两个用户终端100使用不同的公网IP地址访问服务器400,以避免不同区域网之间发生IP冲突。
S404、将NAT转换后的第三正向报文发送给所述业务系统,以使得所述业务系统在接收NAT转换后的第三正向报文后发送第三反向报文。
S405、接收所述业务系统发送的第三反向报文,并根据所述第三反向报文的五元组信息获取第三私网IP地址和第三私网端口。
需要说明的是,第三反向报文为业务系统接收第三正向报文后回复的回复报文,第三反向报文的发送过程与第一反向报文的发送过程相同。
S406、对所述第三反向报文进行NAT转换,以将所述第三反向报文的目的IP地址转换为第三私网IP地址,以及将所述第三反向报文的目的端口转换为第三私网端口。
S407、根据NAT转换后的第三反向报文的目的IP地址对所述第三反向报文进行VXLAN封装,以为所述第三反向报文添加对应的VNI网络标识。
S408、将封装后的第三反向报文发送给所述第三用户终端503。
可以理解的是,所述第三正向报文可以与所述第一正向报文和所述第二正向报文同时发送给所述报文传输装置,报文传输装置可以同时对第一正向报文、第二正向报文和第三正向报文进行处理;所述第三正向报文也可以与所述第一正向报文和所述第二正向报文分时发送给所述报文传输装置。
所述第三反向报文可以与所述第一反向报文和所述第二反向报文同时发送给所述报文传输装置,所述第三反向报文也可以与所述第一反向报文和所述第二反向报文分时发送给所述报文传输装置。
在一实施方式中,所述步骤S202包括:根据所述第一正向报文的源IP地址和源端口获取第一公网端口。
需要说明的是,利用源IP地址+源端口的方式获取第一公网端口,由于同一局域网内不同的用户终端100具有不同的源IP地址和源端口,利用多个不同的因素与公网端口关联对应,以实现同一局域网中不同用户终端100使用一个公网IP地址访问外网IP,同时可以避免局域网内的不同的用户终端100被分配到相同的公网端口,从而避免局域网内IP冲突的问题。
可以理解的是,所述步骤S302和所述步骤S402中,第二公网端口和第三公网端口的获取过程与所述第一公网端口的获取过程相同。
在一实施方式中,所述步骤S202包括:
对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的五元组信息和VNI网络标识查找对应的原始流表,所述原始流表包括所述第一正向报文的五元组信息、VNI网络标识、第一公网IP地址以及第一公网端口;
若原始流表存在,从所述原始流表中获取第一公网IP地址和第一公网端口;
若原始流表不存在,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,利用所述第一正向报文的源IP地址和源端口做哈希运算,以生成第一公网端口,根据所述第一公网IP地址、第一公网端口以及所述第一正向报文的五元组信息和VNI网络标识生成原始流表。
需要说明的是,利用第一正向报文的五元组信息和VNI网络标识与原始流表的关联关系查找与第一正向报文对应的原始流表,若与第一正向报文对应的原始流表已经存在,则可直接从对应的原始流表中提取分配给第一正向报文的第一公网IP地址和第一公网端口;若原始流表不存在,可以通过VNI网络标识与公网IP地址的对应关系获取分配给第一公网IP地址,同时利用第一正向报文的源IP地址和源端口做哈希运算以生成第一公网端口,并生成原始流表,第一用户终端501随后发出的第一正向报文即可直接从原始流表中提取分配给第一正向报文的第一公网IP地址和第一公网端口。
可以理解的是,对应的原始流表中包含有第一公网IP地址与第一私网IP地址的映射关系、第一公网IP地址与第一私网端口的映射关系、第一正向报文的五元组信息和VNI网络标识以及第一正向报文的NAT转换记录等信息。
可以理解的是,所述步骤S302中第二公网IP地址和第二公网端口以及所述步骤S402中第三公网IP地址第三公网端口的获取过程与所述步骤S202中第一公网IP地址和第一公网端口的获取过程相同。
在一实施方式中,所述对所述第一正向报文进行VXLAN解封装的步骤包括:
将所述第一正向报文的VNI网络标识存放在对应的原始流表中;
对所述第一正向报文进行VXLAN解封装,以去除所述第一正向报文的VNI网络标识。
需要说明的是,对第一正向报文进行解封装时将第一正向报文的VNI网络标识存放在对应的原始流表中,从而可以为第一反向报文的VXLAN封装提供封装依据,对第一反向报文进行VXLAN封装时,可以直接查找原始流表,并提取对应的原始流表中的VNI网络标识,以为第一反向报文添加与第一正向报文相同的VNI网络标识,从而可以根据第一反向报文的VNI网络标识将第一反向报文发送至对应的局域网中的第一用户终端501,避免多个位于不同的局域网中的用户终端100具备相同的源IP地址和源端口时导致第一反向报文发送错误。
在一实施方式中,所述步骤S205包括:
接收所述业务系统发送的第一反向报文;
根据所述第一反向报文的五元组信息查找对应的原始流表,并从所述原始流表中获取第一私网IP地址和第一私网端口。
需要说明的是,对第一正向报文进行NAT转换后已经存在与第一正向报文对应的原始流表,对第一反向报文进行NAT转换时,可以直接通过第一反向报文的五元组信息查找对应的原始流表,并提取对应的原始流表中的第一私网IP地址和第一私网端口,第一私网IP地址即为第一用户终端501的IP地址,第一私网端口即为第一用户终端501的端口。
为了更好实施本发明实施例中报文传输方法,在报文传输方法的基础之上,本发明实施例中还提供一种报文传输装置200,报文传输装置200应用于NAT转换设备300,如图6所示,所述报文传输装置200包括接收单元201、解封装单元202、NAT单元203、发送单元204以及封装单元205,其中:
所述接收单元201用于接收第一用户终端501发送的VXLAN封装后的第一正向报文;
所述解封装单元202用于对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口;
所述NAT单元203用于对所述第一正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口;
所述发送单元204用于将NAT转换后的第一正向报文发送给所述业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文。
所述NAT单元203还用于接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口;
所述NAT单元203还用于对所述第一反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口;
所述封装单元205还用于根据所述第一反向报文转换后的目的IP地址对所述第一反向报文进行VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识;
所述发送单元204还用于将封装后的第一反向报文发送给所述第一用户终端501。
在一实施方式中,所述解封装单元205具体用于对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,并根据所述第一正向报文的五元组信息和VNI网络标识查找对应的原始流表,所述原始流表包括所述第一正向报文的五元组信息、VNI网络标识、第一公网IP地址以及第一公网端口;若原始流表存在,从所述原始流表中获取第一公网IP地址和第一公网端口;若原始流表不存在,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,利用所述第一正向报文的源IP地址和源端口做哈希运算,以生成第一公网端口,根据所述第一公网IP地址、第一公网端口以及所述第一正向报文的五元组信息和VNI网络标识生成原始流表。
所述解封装单元205具体还用于将所述第一正向报文的VNI网络标识存放在对应的原始流表中;对所述第一正向报文进行VXLAN解封装,以去除所述第一正向报文的VNI网络标识。
所述NAT单元203具体还用于接收所述业务系统发送的第一反向报文;根据所述第一反向报文的五元组信息查找对应的原始流表,并从所述原始流表中获取第一私网IP地址和第一私网端口。
所述封装单元205具体还用于提取与所述反向报文对应的原始流表中的VNI网络标识,并根据所述反向报文的VNI网络标识对所述反向报文VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识,并将封装后的第一反向报文发送给所述第一用户终端501。
本申请实施例在现有技术中,由于经常发生一个公有IP地址在同时段内被分配给两个甚至更多个局域网中的用户终端100,从而导致多局域网之间发生IP冲突的前提下,通过使用VNI网络标识与公网IP地址进行关联,根据正向报文的VNI网络标识为正向报文分配对应的公网IP地址,各局域网中的用户终端100可以使用与各局域网对应的公网IP地址对外网的服务器400进行访问,从而可以解决多局域网之间IP冲突的问题,同时利用公网IP地址+公网端口的形式,可以使得同一局域网中的不同用户终端100使用不同的公网IP地址或/和不同的公网端口对外网的服务器400进行访问,从而可以解决局域网内IP冲突的问题。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种报文传输装置200,所述计算机设备包括:
一个或多个处理器601;
存储器602;以及
一个或多个应用程序;
其中所述一个或多个应用程序被存储于所述存储器602中,并配置为由所述处理器601执行上述报文传输方法实施例中任一实施例中所述的报文传输方法中的步骤。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种报文传输装置200。如图7所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图7中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。
可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
接收第一用户终端501发送的VXLAN封装后的第一正向报文;
对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口;
对所述第一正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口;
将NAT转换后的第一正向报文发送给业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文;
接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口;
对所述第一反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口;
根据NAT转换后的第一反向报文的目的IP地址和目的端口对所述第一反向报文进行VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识;
将封装后的第一反向报文发送给所述第一用户终端501。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器601进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器601进行加载,以执行本申请实施例所提供的任一种报文传输方法中的步骤。例如,所述计算机程序被处理器601进行加载可以执行如下步骤:
接收第一用户终端501发送的VXLAN封装后的第一正向报文;
对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口;
对所述第一正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口;
将NAT转换后的第一正向报文发送给业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文;
接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口;
对所述第一反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,以及将所述第一反向报文的目的端口转换为第一私网端口;
根据NAT转换后的第一反向报文的目的IP地址和目的端口对所述第一反向报文进行VXLAN封装,以为所述第一反向报文添加对应的VNI网络标识;
将封装后的第一反向报文发送给所述第一用户终端501。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种报文传输方法,其特征在于,应用于NAT转换设备,所述报文传输方法包括:
接收第一用户终端发送的VXLAN封装后的第一正向报文、第二用户终端发送的VXLAN封装后的第二正向报文,以及,第三用户终端发送的VXLAN封装后的第三正向报文,所述第二用户终端为与所述第一用户终端处于同一局域网的用户终端,所述第三用户终端为与所述第一用户终端处于不同局域网的用户终端;
对所述第一正向报文、所述第二正向报文以及所述第三正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,提取所述第二正向报文的VNI网络标识和五元组信息,提取所述第三正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,根据所述第二正向报文的VNI网络标识获取第二公网IP地址,根据所述第三正向报文的VNI网络标识获取第三公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口,根据所述第二正向报文的五元组信息获取第二公网端口,根据所述第三正向报文的五元组信息获取第三公网端口;
对所述第一正向报文、所述第二正向报文以及所述第三正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,将所述第二正向报文的源IP地址转换为所述第二公网IP地址,将所述第三正向报文的源IP地址转换为所述第三公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口,将所述第二正向报文的源端口转换为所述第二公网端口,将所述第三正向报文的源端口转换为所述第三公网端口,所述第二公网IP地址与所述第一公网IP地址相同,所述第三公网IP地址与所述第一公网IP地址不同,所述第二公网端口与所述第一公网端口不同;
将NAT转换后的第一正向报文、NAT转换后的第二正向报文以及NAT转换后的第三正向报文发送给业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文、接收NAT转换后的第二正向报文后发送第二反向报文,以及,接收NAT转换后的第三正向报文后发送第三反向报文;
接收所述业务系统发送的第一反向报文、第二反向报文以及第三反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口,根据所述第二反向报文的五元组信息获取第二私网IP地址和第二私网端口,根据所述第三反向报文的五元组信息获取第三私网IP地址和第三私网端口;
对所述第一反向报文、所述第二反向报文以及第三反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,将所述第二反向报文的目的IP地址转换为第二私网IP地址,将所述第三反向报文的目的IP地址转换为第三私网IP地址,并将所述第一反向报文的目的端口转换为第一私网端口,将所述第二反向报文的目的端口转换为第二私网端口,将所述第三反向报文的目的端口转换为第三私网端口;
根据NAT转换后的第一反向报文的目的IP地址和目的端口对所述第一反向报文进行VXLAN封装,根据NAT转换后的第二反向报文的目的IP地址和目的端口对所述第二反向报文进行VXLAN封装,根据NAT转换后的第三反向报文的目的IP地址和目的端口对所述第三反向报文进行VXLAN封装,以为所述第一反向报文、所述第二反向 报文以及所述第三反向报文添加对应的VNI网络标识;
将封装后的第一反向报文发送给所述第一用户终端,将封装后的第二反向报文发送给所述第二用户终端,将封装后的第三反向报文发送给所述第三用户终端。
2.根据权利要求1所述的报文传输方法,其特征在于,所述根据所述第一正向报文的五元组信息获取第一公网端口的步骤包括:
根据所述第一正向报文的源IP地址和源端口获取第一公网端口。
3.根据权利要求1或2中任一项所述的报文传输方法,其特征在于,所述对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口的步骤包括:
对所述第一正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,并根据所述第一正向报文的五元组信息和VNI网络标识查找对应的原始流表,所述原始流表包括所述第一正向报文的五元组信息、VNI网络标识、第一公网IP地址以及第一公网端口;
若原始流表存在,从所述原始流表中获取第一公网IP地址和第一公网端口;
若原始流表不存在,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,利用所述第一正向报文的源IP地址和源端口做哈希运算,以生成第一公网端口,根据所述第一公网IP地址、第一公网端口以及所述第一正向报文的五元组信息和VNI网络标识生成原始流表。
4.根据权利要求3所述的报文传输方法,其特征在于,所述对所述第一正向报文进行VXLAN解封装的步骤包括:
将所述第一正向报文的VNI网络标识存放在对应的原始流表中;
对所述第一正向报文进行VXLAN解封装,以去除所述第一正向报文的VNI网络标识。
5.根据权利要求3所述的报文传输方法,其特征在于,所述接收所述业务系统发送的第一反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口的步骤包括:
接收所述业务系统发送的第一反向报文;
根据所述第一反向报文的五元组信息查找对应的原始流表,并从所述原始流表中获取第一私网IP地址和第一私网端口。
6.一种报文传输装置,其特征在于,应用于NAT转换设备,所述报文传输装置包括接收单元、解封装单元、NAT单元、发送单元以及封装单元,其中:
所述接收单元用于接收第一用户终端发送的VXLAN封装后的第一正向报文、第二用户终端发送的VXLAN封装后的第二正向报文,以及,第三用户终端发送的VXLAN封装后的第三正向报文,所述第二用户终端为与所述第一用户终端处于同一局域网的用户终端,所述第三用户终端为与所述第一用户终端处于不同局域网的用户终端;
所述解封装单元用于对所述第一正向报文、所述第二正向报文以及所述第三正向报文进行VXLAN解封装,提取所述第一正向报文的VNI网络标识和五元组信息,提取所述第二正向报文的VNI网络标识和五元组信息,提取所述第三正向报文的VNI网络标识和五元组信息,根据所述第一正向报文的VNI网络标识获取第一公网IP地址,根据所述第二正向报文的VNI网络标识获取第二公网IP地址,根据所述第三正向报文的VNI网络标识获取第三公网IP地址,并根据所述第一正向报文的五元组信息获取第一公网端口,根据所述第二正向报文的五元组信息获取第二公网端口,根据所述第三正向报文的五元组信息获取第三公网端口;
所述NAT单元用于对所述第一正向报文、所述第二正向报文以及所述第三正向报文进行NAT转换,以将所述第一正向报文的源IP地址转换为所述第一公网IP地址,将所述第二正向报文的源IP地址转换为所述第二公网IP地址,将所述第三正向报文的源IP地址转换为所述第三公网IP地址,以及将所述第一正向报文的源端口转换为所述第一公网端口,将所述第二正向报文的源端口转换为所述第二公网端口,将所述第三正向报文的源端口转换为所述第三公网端口,所述第二公网IP地址与所述第一公网IP地址相同,所述第三公网IP地址与所述第一公网IP地址不同,所述第二公网端口与所述第一公网端口不同;
所述发送单元用于将NAT转换后的第一正向报文、NAT转换后的第二正向报文以及NAT转换后的第三正向报文发送给业务系统,以使得所述业务系统在接收NAT转换后的第一正向报文后发送第一反向报文、接收NAT转换后的第二正向报文后发送第二反向报文,以及,接收NAT转换后的第三正向报文后发送第三反向报文;
所述NAT单元还用于接收所述业务系统发送的第一反向报文、第二反向报文以及第三反向报文,并根据所述第一反向报文的五元组信息获取第一私网IP地址和第一私网端口,根据所述第二反向报文的五元组信息获取第二私网IP地址和第二私网端口,根据所述第三反向报文的五元组信息获取第三私网IP地址和第三私网端口;
所述NAT单元还用于对所述第一反向报文、所述第二反向报文以及第三反向报文进行NAT转换,以将所述第一反向报文的目的IP地址转换为第一私网IP地址,将所述第二反向报文的目的IP地址转换为第二私网IP地址,将所述第三反向报文的目的IP地址转换为第三私网IP地址,并将所述第一反向报文的目的端口转换为第一私网端口,将所述第二反向报文的目的端口转换为第二私网端口,将所述第三反向报文的目的端口转换为第三私网端口;
所述封装单元用于根据NAT转换后的第一反向报文的目的IP地址及目的端口对所述第一反向报文进行VXLAN封装,根据NAT转换后的第二反向报文的目的IP地址和目的端口对所述第二反向报文进行VXLAN封装,根据NAT转换后的第三反向报文的目的IP地址和目的端口对所述第三反向报文进行VXLAN封装,以为所述第一反向报文、所述第二反向 报文以及所述第三反向报文添加对应的VNI网络标识;
所述发送单元还用于将封装后的第一反向报文发送给所述第一用户终端,将封装后的第二反向报文发送给所述第二用户终端,将封装后的第三反向报文发送给所述第三用户终端。
7.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序;
其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至5中任一项所述的报文传输方法。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至5中任一项所述的报文传输方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011214589.7A CN112040030B (zh) | 2020-11-04 | 2020-11-04 | 报文传输方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011214589.7A CN112040030B (zh) | 2020-11-04 | 2020-11-04 | 报文传输方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112040030A CN112040030A (zh) | 2020-12-04 |
CN112040030B true CN112040030B (zh) | 2021-02-02 |
Family
ID=73573155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011214589.7A Active CN112040030B (zh) | 2020-11-04 | 2020-11-04 | 报文传输方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112040030B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737957B (zh) * | 2020-12-30 | 2022-12-13 | 锐捷网络股份有限公司 | 流表的老化方法及装置 |
CN113596192B (zh) * | 2021-07-26 | 2024-02-20 | 绿盟科技集团股份有限公司 | 一种基于网闸组网的通信方法、装置、设备及介质 |
CN114024741B (zh) * | 2021-11-03 | 2024-04-09 | 深信服科技股份有限公司 | 请求处理方法、装置、流量代理端、设备及可读存储介质 |
CN114374666A (zh) * | 2021-12-30 | 2022-04-19 | 中国电信股份有限公司 | 一种报文转发方法、装置、电子设备及存储介质 |
CN115334035B (zh) * | 2022-07-15 | 2023-10-10 | 天翼云科技有限公司 | 一种报文转发方法、装置、电子设备及存储介质 |
CN116915777B (zh) * | 2023-09-13 | 2023-12-05 | 杭州立方控股股份有限公司 | 一种坐席人员协同的智能停车管理系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601432A (zh) * | 2014-12-31 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN107948086A (zh) * | 2016-10-12 | 2018-04-20 | 北京金山云网络技术有限公司 | 一种数据包发送方法、装置及混合云网络系统 |
CN109547316A (zh) * | 2018-12-29 | 2019-03-29 | 瑞斯康达科技发展股份有限公司 | Vxlan报文穿越nat设备的方法、系统、存储介质 |
CN109819067A (zh) * | 2019-03-12 | 2019-05-28 | 赛特斯信息科技股份有限公司 | 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法 |
CN111865747A (zh) * | 2019-04-28 | 2020-10-30 | 中国移动通信集团上海有限公司 | 基于evpn的二层数据传输方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9130775B2 (en) * | 2013-07-10 | 2015-09-08 | Cisco Technology, Inc. | Support for virtual extensible local area network segments across multiple data center sites |
CN105450585B (zh) * | 2014-07-24 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种信息传输方法及装置 |
US9800474B1 (en) * | 2014-10-21 | 2017-10-24 | Amazon Technologies, Inc. | Inter service network communication optimization |
-
2020
- 2020-11-04 CN CN202011214589.7A patent/CN112040030B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601432A (zh) * | 2014-12-31 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN107948086A (zh) * | 2016-10-12 | 2018-04-20 | 北京金山云网络技术有限公司 | 一种数据包发送方法、装置及混合云网络系统 |
CN109547316A (zh) * | 2018-12-29 | 2019-03-29 | 瑞斯康达科技发展股份有限公司 | Vxlan报文穿越nat设备的方法、系统、存储介质 |
CN109819067A (zh) * | 2019-03-12 | 2019-05-28 | 赛特斯信息科技股份有限公司 | 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法 |
CN111865747A (zh) * | 2019-04-28 | 2020-10-30 | 中国移动通信集团上海有限公司 | 基于evpn的二层数据传输方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112040030A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112040030B (zh) | 报文传输方法、装置、计算机设备及存储介质 | |
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
CN112333298B (zh) | 报文传输方法、装置、计算机设备及存储介质 | |
CN111193773B (zh) | 负载均衡方法、装置、设备及存储介质 | |
CN114025021B (zh) | 一种跨Kubernetes集群的通信方法、系统、介质和电子设备 | |
CN111314450B (zh) | 数据的传输方法、装置、电子设备和计算机存储介质 | |
US10516544B2 (en) | Extranet connectivity in LISP networks | |
CN112583618B (zh) | 为业务提供网络服务的方法、装置和计算设备 | |
CN112333017B (zh) | 一种服务配置方法、装置、设备及存储介质 | |
CN110012118B (zh) | 一种提供网络地址转换nat服务的方法及控制器 | |
CN110177047B (zh) | 报文发送方法、装置、电子设备和计算机可读存储介质 | |
CN112040029B (zh) | Nat转换方法、装置、计算机设备及存储介质 | |
CN111064786A (zh) | 账户标识管理方法及设备 | |
CN108881247B (zh) | 报文转换方法、装置、网关设备及存储介质 | |
CN112583655B (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
CN113676409B (zh) | 一种报文转发方法、装置、电子设备以及存储介质 | |
CN113014680A (zh) | 一种宽带接入的方法、装置、设备和存储介质 | |
CN110636149A (zh) | 远程访问方法、装置、路由器及存储介质 | |
CN114338832B (zh) | 一种容器云平台的网络协议转换方法及系统 | |
CN116016448A (zh) | 一种服务网络访问方法、装置、设备及存储介质 | |
CN112039712B (zh) | 在云服务器上进行卸载的方法、控制装置、存储介质 | |
CN112511440B (zh) | 报文转发方法、系统、存储介质和电子设备 | |
CN115225606A (zh) | 一种容器云平台的跨网络协议的域名访问方法和系统 | |
JP2019536382A (ja) | パケット転送 | |
CN114172853A (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 |