CN113472917B - 一种数据报文的网络地址转换方法、设备及介质 - Google Patents
一种数据报文的网络地址转换方法、设备及介质 Download PDFInfo
- Publication number
- CN113472917B CN113472917B CN202110851669.1A CN202110851669A CN113472917B CN 113472917 B CN113472917 B CN 113472917B CN 202110851669 A CN202110851669 A CN 202110851669A CN 113472917 B CN113472917 B CN 113472917B
- Authority
- CN
- China
- Prior art keywords
- address
- data message
- execution rule
- interpretation
- interface
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 28
- 238000001914 filtration Methods 0.000 claims abstract description 85
- 238000013519 translation Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 abstract 1
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 abstract 1
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101150049032 ACL1 gene Proteins 0.000 description 2
- 101100448894 Arabidopsis thaliana GLR3.1 gene Proteins 0.000 description 2
- 101100339496 Caenorhabditis elegans hop-1 gene Proteins 0.000 description 2
- 101150023061 acpP gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100083507 Caenorhabditis elegans acl-2 gene Proteins 0.000 description 1
- 101100054598 Hordeum vulgare ACL1.2 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/2557—Translation policies or rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据报文的网络地址转换方法、设备及介质,方法包括:通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签;为数据报文匹配相应的执行规则以实现对数据报文的网络地址进行转换处理。可以根据报文的目的接口是否使能了NAT,判断该报文是否需要做SNAT转换。DNAT报文可以根据是否需要NAT回环来决定是否需要转发到预设的内部回环口,从而节省内部环回口的带宽。
Description
技术领域
本申请涉及计算机通讯技术领域,具体涉及一种数据报文的网络地址转换方法、设备及介质。
背景技术
NAT(Network Address Translation,网络地址转换),指的是将数据报文中的IP地址转换为另一个IP地址的过程。当在局域网内部的一些主机本来已经分配到了内部地址,在没有分配公网地址的情况下,可以通过NAT将本地私有地址转换成公网地址,然后再与因特网上的主机进行通讯。NAT能够有效地避免来自局域网外部的供给,隐藏并保护局域网内部的计算机。当局域网内部主机访问因特网主机时,需要修改数据报文的源地址,这个过程叫做SNAT(Source Network Address Translation,源头网络地址转换),相反地,当因特网中的主机需要访问局域网内部主机时,需要修改数据报文的目的地址,这个过程叫做DNAT(Destination Network Address Translation,目的网络地址转换)。
三层交换机上传统的NAT功能一般借助交换芯片的NAT表项来实现,虽然可以实现SNAT和DNAT,但是无法同时根据内网接口和公网接口上的使能情况来对报文进行适当的处理,即无法很好的支持NAT和非NAT并存的场景,且无法同时进行NAT回环。
发明内容
为了解决上述问题,即为了解决传统三层交换机上难以支持NAT和非NAT并存的场景,且无法同时进行NAT回环的问题,本申请提出了一种数据报文的网络地址转换方法、设备及介质,包括:
一方面,本申请提供了一种数据报文的网络地址转换方法,包括:通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签;确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
在一个示例中,根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签,具体包括:若所述接口类型为源地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第一过滤标签以及第二过滤标签,得到第一处理后的数据报文;若所述接口类型为源地址转换型,且所述解译地址为公网地址,则为所述数据报文添加第一过滤标签以及第三过滤标签,得到第二处理后的数据报文;若所述接口类型为目标地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第二过滤标签,得到第三处理后的数据报文。
在一个示例中,确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,具体包括:确定所述数据报文的源地址为内网源地址,以及根据所述过滤标签确定所述数据报文为第一处理后的数据报文或第二处理后的数据报文;若为所述第二处理后的数据报文,则为所述第二处理后的数据报文匹配第一执行规则,以将所述第二处理后的数据报文的源地址转换为公网源地址,并转发至对应的交换机接口;若为所述第一处理后的数据报文,则为所述第一处理后的数据报文匹配第二执行规则,以将所述第一处理后的数据报文的源地址转换为公网源地址,并转发至内部回环口;通过所述表单,再次查询所述第一处理后的数据报文的目标地址对应的解译地址,并确定该解译地址为内网地址;将目标地址转换为解译地址对应的内网地址,并转发至对应的交换机接口。
在一个示例中,确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,具体包括:确定所述数据报文的目标地址为公网目标地址,以及根据所述过滤标签确定所述数据报文为第三处理后的数据报文;为所述第三处理后的数据报文匹配第三执行规则,以将所述第三处理后的数据报文的目标地址转换为内网目标地址,并转发至对应的交换机接口。
在一个示例中,为所述第三处理后的数据报文匹配对应的第三执行规则之前,所述方法还包括:确定存在与所述第三处理后的数据报文匹配的其他执行规则;确定第三执行规则的优先级大于所述其他执行规则;将所述其他执行规则与所述第三处理后的数据报文取消匹配。
在一个示例中,确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则之前,所述方法还包括:确定所述数据报文为指定类型的数据报文;将所述数据报文进行复制,并上传至中央处理器;通过所述中央处理器对所述数据类型进行分析,并根据分析结果确定为所述数据报文匹配第一执行规则或第二执行规则。
在一个示例中,所述方法还包括:获取预设时间内,与所述第一执行规则进行匹配的所述数据报文的数量;若所述数量为0,则删除所述第一执行规则。
在一个示例中,所述方法还包括:确定所述第一执行规则与所述第三执行规则的匹配条件;建立修改通道,以对所述匹配条件进行修改。
另一方面,本申请提出了一种数据报文的网络地址转换设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下指令:通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签;确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
另一方面,本申请提出了一种数据报文的网络地址转换的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签;确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
通过本申请提出的一种数据报文的网络地址转换方法、设备及介质能够带来如下有益效果:即使在私网接口上使能了SNAT,仍然可以根据报文的目的接口是否使能了NAT,判断该报文是否需要做SNAT转换。DNAT报文可以根据是否需要NAT回环来决定是否需要转发到预设的内部回环口,从而节省内部环回口的带宽。可以在做NAT的同时,执行一些附加处理策略,比如修改报文的优先级,从而控制NAT报文在出口拥塞时可以优先转发。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种数据报文的网络地址转换方法的流程示意图;
图2为本申请实施例中另一种数据报文的网络地址转换方法的流程示意图;
图3为本申请实施例中另一种数据报文的网络地址转换方法的流程示意图;
图4为本申请实施例中一种数据报文的网络地址转换设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先需要说明的是,本申请所述的一种数据报文的网络地址转换方法通过三层交换机实现,三层交换机内存储有相应的处理逻辑,能够实现接收数据报文、对数据报文做出相应处理等操作。
进一步地,在阐述本申请的具体实施方式之前,需要对本文涉及到的相关名词进行解释,如下所述:
NAT(Network Address Translation,网络地址转换)是将IP数据报报头中的IP地址转换为另一个IP地址的过程。当在局域网内部的一些主机本来已经分配到了内部地址(内部网络或主机的IP地址),在没有分配公网地址的情况下,可以使用NAT将本地私有地址转换成公网地址(在因特网上全球唯一的IP地址)然后直接与因特网上的主机进行通信。NAT能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAPT(Network Address Port Translation,网络地址端口转换)可将多个内部地址映射为一个合法的公网地址,但以不同的协议端口号与不同的内部地址相对应。NAPT普遍用于接入设备中,它可以将中小型的网络隐藏在一个合法的公网地址后面。NAPT也被称为“多对一”的NAT,其主要优势在于每个局域网只需要使用一个公网地址。
当局域网访问因特网时,需要修改报文的源地址,这个过程叫做SNAT(SourceNAT)。相反,当因特网访问局域网时,需要修改报文的目的地址,这个过程叫做DNAT(Destination NAT)。
NAT回环是指当局域网内网有服务器对外发布,基于对服务器的保护,内网用户需通过公网地址来访问内网服务器。
ACL(Access Control List,访问控制列表)是一种基于报文过滤的访问控制技术,它可以根据设定的条件对接口上的报文进行过滤,进而对匹配上的报文做一些处理。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。ACL可以包含多个块,称作Slice,每个Slice中包含多个ACL规则,报文进入接口后可同步并行在这些Slice中进行匹配查找,每个Slice中按ACL规则的优先级进行匹配,匹配上即止,进而根据匹配上的ACL规则对报文进行处理,如果报文匹配上了多个Slice中的ACL规则,这些ACL规则对报文的处理策略会进行一个叠加,即ACL Slice的并行处理。如果这些处理策略有冲突,比如ACL1处理策略中包含将报文执行下一跳1,ACL2处理策略中包含将报文执行下一跳2,此时会根据Slice间的优先级来决定将报文执行哪个下一跳,即如果ACL1所在Slice的优先级高于ACL2所在Slice的优先级,那么将报文执行下一跳1,反之将报文执行下一跳2。
LABEL是交换芯片中的一种状态标签,交换芯片支持多种LABEL,并且这些状态标签可以用作ACL规则的匹配过滤,ACL规则对这些状态标签进行匹配过滤时还可以支持掩码。其中三层接口标签用于标识报文从某个三层接口进来,记做L3 intf label,三层查找标签在报文查找ARP表或者路由表并命中后置上,记做L3 dst label。如果路由1对应L3dst label为0x10,路由2对应L3 dst lable为0x11,那么当ACL匹配过滤L3 dst label0x10,掩码0xFE时,只要报文查找命中了路由1或者路由2,则都可以命中该ACL的L3 dstlabel匹配过滤条件。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图1所示,本申请实施例提供的一种数据报文的网络地址转换方法,包括:
S101:通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型。
具体地,三层交换机上设置有多个接口,接口分别与不同的设备进行连接,以对不同设备之间的网络地址进行转换,交换机的接口可以预先使能有不同的功能,在本申请实施例中,即针对不同的功能对交换机接口进行了不同类型的划分,至少包括:源地址转换型,也即使能了SNAT功能的接口;目标地址转换型,也即使能了DNAT功能的接口。
源地址转换型的接口通常与内网主机或相应服务器进行连接,目标地址转换型的接口通常与公网主机或相应的服务器进行连接。
通过判定具体哪一个接口接收的数据报文,即可确定该接口的接口类型。
S102:获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址。
具体地,数据报文包括源地址与目标地址,源地址可以包括内网源地址、公网源地址,目标地址可以包括内网目标地址、公网目标地址。此外,交换机中预先存储有相应的表单,该表单包括但不限于ARP(Address Resolution Protocol,地址解析协议)表、路由表。该表单用于对目标地址进行解译,以确定该目标地址对应的具体设备。
进一步地,通过上述表单查询目标地址对应的解译地址,解译地址至少包括:内网地址、公网地址。举例来说,目标地址可以是公网目标地址,此时的公网目标地址可以是该交换机在公网中的地址,然而该公网目标地址只是指向该交换机,无法确定具体的设备,因此需要通过表单来解译该公网目标地址对应的解译地址,该解译地址通常是内网地址,也即与该交换机连接的局域网内的相关设备。
S103:根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签。
需要说明的是,此处的过滤标签即为上文中所述的LABEL,在本申请实施例中,为方便理解,全文将以过滤标签为例进行解释说明。
具体地,本申请中源地址转换型的接口中经过了预先设置,即通过该源地址转换型接口的数据报文都会被添加上第一过滤标签。而无论从各种类型接口进来的数据报文,都会通过上述表单进行解译,解译结束后,若该数据报文的解译地址为内网地址,则会被添加上第二过滤标签,若该报文的解译地址为公网地址,则会被添加上第三过滤标签。
在本申请实施例中,若数据报文对应的接口类型为源地址转换型,且解译地址为内网地址,则为数据报文添加第一过滤标签以及第二过滤标签,得到第一处理后的数据报文。
若数据报文对应的接口类型为源地址转换型,且解译地址为公网地址,则为数据报文添加第一过滤标签以及第三过滤标签,得到第二处理后的数据报文。
若数据报文对应的接口类型为目标地址转换型,且解译地址为内网地址,则不会为数据报文添加第一过滤标签,仅会为数据报文添加第二过滤标签,得到第三处理后的数据报文。
而若数据报文对应的接口类型为目标地址转换型,且解译地址为外网地址时,此种情况在本申请中不会存在,以下将不再赘述此种情景。
S104:确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环。
具体地,确定数据报文的源地址为内网源地址,则说明该数据报文的传输方向只有两种,一种是传向公网,另一种是传向内网。
若确定为内网源地址,则说明该数据报文是从源地址转换型接口进入的,该数据报文会被添加上第一过滤标签,同时,若该数据报文的传输方向是传向公网,则该数据报文的解译地址是公网地址,即会被添加上第三过滤标签,也即该数据报文是第二处理后的数据报文。
若该数据报文的传输方向是传向内网,则该数据报文的解译地址是内网地址,即会被添加上第二过滤标签,也即该数据报文是第一处理后的数据报文。
还需要说明的是,交换机中预存有多条执行规则,执行规则可以根据相应的条件与数据报文进行匹配,同时,执行规则中也可以包含多条子规则,多条子规则通过优先级或其他策略相互配合,共同构成执行规则,以对数据报文进行处理。
若数据报文为第二处理后的数据报文,则为第二处理后的数据报文匹配第一执行规则,第一执行规则的匹配条件包括:包含第一过滤标签、包含第二过滤标签或第三过滤标签、源地址为内网源地址。
通过第一执行规则,将第二处理后的数据报文的源地址转换为公网源地址,也即SNAT的过程,并将该数据报文转发至对应的交换机接口,以将其转发至对应的公网设备中。
若数据报文为第一处理后的数据报文,则为第一处理后的数据报文匹配第二执行规则,第二执行规则的匹配条件可以包括:包含第一过滤标签、包含第二过滤标签或第三过滤标签、源地址为内网源地址、仅包含第三过滤标签。
通过第二执行规则,将第一处理后的数据报文的源地址转换为公网源地址后,进一步转发至交换机的内部回环口,并通过源地址转换型接口重新进入,并通过表单再次查询,此时的数据报文的目标地址会转变为公网目标地址,将会匹配到属于第二执行规则的另一条子规则,即目标地址为公网目标地址的数据报文,并确定目标地址对应的解译地址为内网地址。进一步地,将目标地址转换为解译地址对应的内网地址,并转发至对应的交换机接口。
上述过程即为NAT回环的过程,即内网主机可以使用公网地址与其他内网主机进行通讯,进一步的提高了内网主机的安全性。
S105:确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
具体地,确定数据报文的目标地址为公网目标地址,且通过过滤标签确定数据报文为第三处理后的数据报文,也即该数据报文的解译地址为内网地址。
进一步地,为第三处理后的数据报文匹配第三执行规则,该第三执行规则的匹配条件可以包括:目标地址为公网地址的数据报文。通过第三执行规则,将该数据报文的目标地址转化为内网目标地址,也即解译地址对应的内网地址,并转发至对应的交换机接口。
在一个实施例中,为第三处理后的数据报文匹配对应的第三执行规则之前,还可以存在与该数据报文匹配的其他执行规则,该其他执行规则的匹配条件可以包括:仅添加过第二过滤标签的数据报文。
而第三执行规则的优先级大于该其他执行规则,因此将其他执行规则与第三处理后的数据报文取消匹配。
在一个实施例中,为数据报文匹配对应的第一执行规则或第二执行规则之前,还包括:确定该数据报文为指定类型的数据报文;将数据报文进行复制,并上传至中央处理器;通过中央处理器对数据类型进行分析,并根据分析结果确定为数据报文匹配第一执行规则或第二执行规则。此处的制定类型包括但不限于:TCP(Transport Control Protocol,传输控制协议)类型、UDP(User Data Protocol,用户数据报协议)类型。
在一个实施例中,还可以在预设时间内统计与第一执行规则进行匹配的数据报文的数量,若该数量为0,则说明该第一执行规则失去了相关的需求,可以进行删除,以释放交换机资源。
在一个实施例中,还可以确定第一执行规则与第三执行规则的匹配条件,并建立修改通道,以对匹配条件进行修改。
在一个实施例中,如图2所示,本方案要实现的场景说明如下:
S1、交换机三层接口a和d上使能了SNAT,三层接口b上使能了DNAT。以一比一NAT(非NAPT)为例进行说明,192.168.1.2、192.168.1.3和192.168.2.2依次映射20.1.1.2、20.1.1.3和20.1.1.4。
S2、192.168.1.2、192.168.1.3和192.168.2.2与20.1.1.5或者1.1.1.3通信时,由192.168.1.2、192.168.1.3和192.168.2.2发往20.1.1.5或者1.1.1.3的报文会做SNAT进行源IP的替换,反方向的报文会做DNAT进行目的IP的替换。192.168.1.2、192.168.1.3和192.168.2.2这些内网IP对公网不可见。
S3、192.168.1.2、192.168.1.3和192.168.2.2与10.1.1.2通信时,不做SNAT或者DNAT。
S4、192.168.1.2与192.168.2.2通信时,有两种情况:
1.192.168.1.2与192.168.2.2直接通信,比如在192.168.1.2上telnet192.168.2.2,则发送报文的目的IP为192.168.2.2,此时双方交互均不做SNAT或者DNAT。
2.192.168.1.2通过访问20.1.1.4与192.168.2.2通信,比如在192.168.1.2上telnet 20.1.1.4,则发送报文的目的IP为20.1.1.4,此时需要进行NAT回环。
S5、10.1.1.2与20.1.1.5或者1.1.1.3通信时,不做SNAT或者DNAT。
在一个实施例中,交换机三层接口上收到报文后的芯片处理流程如图3所示,其说明如下:
S1、初始状态下只有Entry A-2,用于交换机与外界的常规交互。
S2、当在某个三层接口上使能SNAT时,会下发Entry A-0、Entry A-1和Entry B-1。
S3、NAT可以通过静态配置和动态学习两种方式下发:静态配置一条NAT,会直接下发SNAT和DNAT的ACL规则,即Entry B-0和Entry B-2;动态学习是指从开启了SNAT的三层接口进入的TCP/UDP报文,且其三层查找后的目的三层接口为使能了DNAT的三层接口(当内网主机访问公网时),会命中Entry B-1然后上送CPU,CPU根据该报文的信息进行NAT学习并下发下发SNAT和DNAT的ACL规则,即Entry B-0和Entry B-2。
S4、对于只需要做SNAT的报文(内网主机访问公网时),只会命中Entry B-0做SNAT,同时根据报文自身的目的IP进行三层查找转发。
S5、对于只需要做DNAT的报文(公网回复内网主机时),只会命中Entry A-0和Entry B-2,此时会根据Entry B-2做DNAT。另外,由于Entry A-0和Entry B-2都有Nexthop策略且其目的是有冲突的,而Slice B的优先级比Slice A高,因此会按照Entry B-2的Nexthop策略进行转发。
S6、对于NAT回环的报文(内网主机通过公网IP地址访问内网主机或服务器时),会命中Entry A-0和Entry B-0,此时会根据Entry B-0做SNAT,同时根据Entry A-0的Nexthop策略往内部环回口转发,报文环回后会进行二次查找处理流程,在二次查找处理时,会命中Entry A-1和Entry B-2,此时根据Entry B-2做DNAT,同时根据Entry B-2的Nexthop策略进行转发。
S7、对于内网111主机之间的直接访问,不会命中NAT相关的任何ACL规则,走常规流程。
S8、Entry B-0可以附加统计计数的策略,用于NAT动态学习时的老化,即一段时间没有对应的NAT需求时,删除相应的ACL规则,释放资源。
S9、对于NAPT,可以在Entry B-0中增加源服务端口号的过滤条件和修改策略,在Entry B-2中增加目的服务端口号的过滤条件和修改策略。
在一个实施例中,如图4所示,本申请提供了一种数据报文的网络地址转换设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下指令:通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签;确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
在一个实施例中,本身提供了一种数据报文的网络地址转换的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;
获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;
根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签;
确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;
确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种数据报文的网络地址转换方法,其特征在于,包括:
通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;
获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址,所述表单用于对目标地址进行解译,以确定所述目标地址对应的具体设备;
根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签,具体包括:
若所述接口类型为源地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第一过滤标签以及第二过滤标签,得到第一处理后的数据报文;
若所述接口类型为源地址转换型,且所述解译地址为公网地址,则为所述数据报文添加第一过滤标签以及第三过滤标签,得到第二处理后的数据报文;
若所述接口类型为目标地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第二过滤标签,得到第三处理后的数据报文;
确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;
确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
2.根据权利要求1所述的一种数据报文的网络地址转换方法,其特征在于,确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,具体包括:
确定所述数据报文的源地址为内网源地址,以及根据所述过滤标签确定所述数据报文为第一处理后的数据报文或第二处理后的数据报文;
若为所述第二处理后的数据报文,则为所述第二处理后的数据报文匹配第一执行规则,以将所述第二处理后的数据报文的源地址转换为公网源地址,并转发至对应的交换机接口;
若为所述第一处理后的数据报文,则为所述第一处理后的数据报文匹配第二执行规则,以将所述第一处理后的数据报文的源地址转换为公网源地址,并转发至内部回环口;
通过所述表单,再次查询所述第一处理后的数据报文的目标地址对应的解译地址,并确定该解译地址为内网地址;
将目标地址转换为解译地址对应的内网地址,并转发至对应的交换机接口。
3.根据权利要求1所述的一种数据报文的网络地址转换方法,其特征在于,确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,具体包括:
确定所述数据报文的目标地址为公网目标地址,以及根据所述过滤标签确定所述数据报文为第三处理后的数据报文;
为所述第三处理后的数据报文匹配第三执行规则,以将所述第三处理后的数据报文的目标地址转换为内网目标地址,并转发至对应的交换机接口。
4.根据权利要求3所述的一种数据报文的网络地址转换方法,其特征在于,为所述第三处理后的数据报文匹配对应的第三执行规则之前,所述方法还包括:
确定存在与所述第三处理后的数据报文匹配的其他执行规则;
确定第三执行规则的优先级大于所述其他执行规则;
将所述其他执行规则与所述第三处理后的数据报文取消匹配。
5.根据权利要求1所述的一种数据报文的网络地址转换方法,其特征在于,确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则之前,所述方法还包括:
确定所述数据报文为指定类型的数据报文;
将所述数据报文进行复制,并上传至中央处理器;
通过所述中央处理器对所述数据类型进行分析,并根据分析结果确定为所述数据报文匹配第一执行规则或第二执行规则。
6.根据权利要求1所述的一种数据报文的网络地址转换方法,其特征在于,所述方法还包括:
获取预设时间内,与所述第一执行规则进行匹配的所述数据报文的数量;
若所述数量为0,则删除所述第一执行规则。
7.根据权利要求1所述的一种数据报文的网络地址转换方法,其特征在于,所述方法还包括:
确定所述第一执行规则与所述第三执行规则的匹配条件;
建立修改通道,以对所述匹配条件进行修改。
8.一种数据报文的网络地址转换设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下指令:
通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型;
获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址,所述表单用于对目标地址进行解译,以确定所述目标地址对应的具体设备;
根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签,具体包括:
若所述接口类型为源地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第一过滤标签以及第二过滤标签,得到第一处理后的数据报文;
若所述接口类型为源地址转换型,且所述解译地址为公网地址,则为所述数据报文添加第一过滤标签以及第三过滤标签,得到第二处理后的数据报文;
若所述接口类型为目标地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第二过滤标签,得到第三处理后的数据报文;
确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;
确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
9.一种数据报文的网络地址转换的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
通过交换机接口获取数据报文,并确定所述交换机接口对应的接口类型,所述接口类型至少包括:源地址转换型、目标地址转换型,表单用于对目标地址进行解译,以确定所述目标地址对应的具体设备;
获取所述数据报文的目标地址,并通过预存的表单查询所述目标地址对应的解译地址,所述解译地址至少包括:内网地址、公网地址;
根据所述接口类型以及所述解译地址为所述数据报文添加对应的过滤标签,具体包括:
若所述接口类型为源地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第一过滤标签以及第二过滤标签,得到第一处理后的数据报文;
若所述接口类型为源地址转换型,且所述解译地址为公网地址,则为所述数据报文添加第一过滤标签以及第三过滤标签,得到第二处理后的数据报文;
若所述接口类型为目标地址转换型,且所述解译地址为内网地址,则为所述数据报文添加第二过滤标签,得到第三处理后的数据报文;
确定所述数据报文的源地址为内网源地址,则根据所述过滤标签,为所述数据报文匹配对应的第一执行规则或第二执行规则,所述第一执行规则用于将所述数据报文的源地址转换为公网源地址,所述第二执行规则用于将所述数据报文执行网络地址转换回环;
确定所述数据报文的目标地址为公网目标地址,则根据所述过滤标签,为所述数据报文匹配对应的第三执行规则,所述第三执行规则用于将所述数据报文的目标地址转换为内网目标地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851669.1A CN113472917B (zh) | 2021-07-27 | 2021-07-27 | 一种数据报文的网络地址转换方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851669.1A CN113472917B (zh) | 2021-07-27 | 2021-07-27 | 一种数据报文的网络地址转换方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472917A CN113472917A (zh) | 2021-10-01 |
CN113472917B true CN113472917B (zh) | 2023-04-18 |
Family
ID=77882884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110851669.1A Active CN113472917B (zh) | 2021-07-27 | 2021-07-27 | 一种数据报文的网络地址转换方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472917B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900251B (zh) * | 2022-05-27 | 2023-11-28 | 北京天融信网络安全技术有限公司 | 一种测试***及方法、装置、以及电子设备 |
CN114945012B (zh) * | 2022-05-31 | 2024-02-13 | 济南浪潮数据技术有限公司 | 源地址转换通信方法、装置、设备及介质 |
CN115334036B (zh) * | 2022-08-11 | 2023-07-07 | 安超云软件有限公司 | 智能控制源地址转换的方法和装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753727A (zh) * | 2013-12-26 | 2015-07-01 | 上海贝尔股份有限公司 | 一种虚拟网关***中路径诊断方法及其装置 |
CN112714194A (zh) * | 2021-03-26 | 2021-04-27 | 南京美乐威电子科技有限公司 | 一种外网主机访问内网设备的方法和网络拓扑结构 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721570B (zh) * | 2016-02-04 | 2019-06-25 | 福建星网锐捷通讯股份有限公司 | 数据点对点传输方法及装置 |
US11611632B2 (en) * | 2016-11-03 | 2023-03-21 | Nicira, Inc. | Cloud to on-premise port forwarding with IP address bound to loopback alias |
CN109218467B (zh) * | 2018-11-15 | 2022-02-25 | 锐捷网络股份有限公司 | 一种网络地址转换方法及芯片 |
CN111698344A (zh) * | 2020-05-28 | 2020-09-22 | 浪潮思科网络科技有限公司 | 一种网络地址转换方法、设备及介质 |
CN113079097B (zh) * | 2021-03-24 | 2022-03-22 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
-
2021
- 2021-07-27 CN CN202110851669.1A patent/CN113472917B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753727A (zh) * | 2013-12-26 | 2015-07-01 | 上海贝尔股份有限公司 | 一种虚拟网关***中路径诊断方法及其装置 |
CN112714194A (zh) * | 2021-03-26 | 2021-04-27 | 南京美乐威电子科技有限公司 | 一种外网主机访问内网设备的方法和网络拓扑结构 |
Also Published As
Publication number | Publication date |
---|---|
CN113472917A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113472917B (zh) | 一种数据报文的网络地址转换方法、设备及介质 | |
EP3282649B1 (en) | Data packet forwarding | |
EP2206052B1 (en) | Methods and apparatus for managing addresses related to virtual partitions of a session exchange device | |
US8559429B2 (en) | Sequential frame forwarding | |
EP2192725B1 (en) | Packet switch being partitioned into virtual LANs (VLANs) | |
US20140325637A1 (en) | Supporting IP Address Overlapping Among Different Virtual Networks | |
CN108848204B (zh) | 一种nat业务快速处理方法及装置 | |
EP3595271A1 (en) | Packet transmission method and apparatus | |
US11895025B2 (en) | Method and system for propagating network traffic flows between end points based on service and priority policies | |
US10708225B2 (en) | Resolving uplink interface overlap for a network switching device | |
CN112351034A (zh) | 防火墙设置方法、装置、设备及存储介质 | |
JP2012156957A (ja) | ネットワークシステム、制御装置、計算機、及び、ネットワーク装置 | |
US20180262364A1 (en) | Uplink data packet forwarding method and apparatus, and downlink data packet forwarding method and apparatus | |
US9860157B2 (en) | Zero configuration approach for port forwarding cascaded routers | |
US20230269216A1 (en) | Communication method and apparatus | |
RU2310994C2 (ru) | Фильтр для разделения трафика | |
CN115834291B (zh) | 分布式内网服务数据获取方法、装置、设备及存储介质 | |
CN112565053A (zh) | 识别私网用户的方法、装置、服务***及存储介质 | |
CN112671941A (zh) | 报文处理方法、装置、设备及介质 | |
CN113422846B (zh) | 一种基于网络地址转换协议的业务报文处理方法及设备 | |
US20160028622A1 (en) | Network path setup method based on identifier, and apparatus thereof | |
TW201603536A (zh) | 識別網路封包內部目的地的方法及裝置 | |
CN106789666B (zh) | 一种确定转换后端口的方法和装置 | |
US20150100625A1 (en) | Data Transmission System | |
CN115499392A (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 |