CN112367261B - 一种报文转发方法及装置、分布式设备 - Google Patents
一种报文转发方法及装置、分布式设备 Download PDFInfo
- Publication number
- CN112367261B CN112367261B CN202011384745.4A CN202011384745A CN112367261B CN 112367261 B CN112367261 B CN 112367261B CN 202011384745 A CN202011384745 A CN 202011384745A CN 112367261 B CN112367261 B CN 112367261B
- Authority
- CN
- China
- Prior art keywords
- message
- forwarded
- address
- nat
- service board
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
- 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
Abstract
本申请提供一种报文转发方法及装置、分布式设备,其中,报文转发方法应用于分布式设备的业务板卡,当一个业务板卡接收到目的端设备发送的待转发报文之后,如果该业务板卡上不存在与待转发报文匹配的NAT表项,可以根据待转发报文中的源IP地址进行反向路由查找,确定与源IP地址对应的出接口,并查找到的出接口与该业务板卡的出接口不一致时,将待转发报文转发至出接口对应的业务板卡上进行处理。由于查找到的出接口对应的业务板卡存在对应的NAT表项,因此可以解决NAT业务无法生效的问题。
Description
技术领域
本申请涉及网络通信领域,具体而言,涉及一种报文转发方法及装置、分布式设备。
背景技术
在网络通信领域中,客户们对基础网络的可靠性的要求越来越高。而在现有技术中,为了提高网络的可靠性,组网环境基本都采用双线路或多线路冗余的方式实现,而实现这种方式采用的网络设备大部分都是高端分布式设备(如分布式路由器等)。其中,为了进一步提高可靠性,多条网络通信线路往往分布在不同的业务板卡上。
但是,在上述可靠性组网中,流量的转发很可能出现来回路径不一致的情况,也就是说,当分布式设备上的NAT业务流量从outside接口出去的流量和从outside接口回来的流量路径不一致且两个outside接口分布在不同业务板卡时,就会出现NAT业务无法生效的问题。
发明内容
本申请实施例的目的在于提供一种报文转发方法及装置、分布式设备,用以解决由于NAT业务流量路径不一致导致的NAT业务无法生效的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种报文转发方法,应用于分布式设备的业务板卡,包括:通过outside接口接收待转发报文;查找本业务板卡中是否存在与所述待转发报文匹配的NAT表项;若本业务板卡中不存在与所述待转发报文匹配的NAT表项,根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口;若所述出接口不是本地接口,将所述待转发报文发送到所述出接口所在的业务板卡;否则将所述待转发报文根据目的IP地址查找路由表后进行转发。在上述方案中,当一个业务板卡接收到目的端设备发送的待转发报文之后,如果该业务板卡上不存在与待转发报文匹配的NAT表项,可以根据待转发报文中的源IP地址进行反向路由查找,确定与源IP地址对应的出接口,并查找到的出接口与该业务板卡的出接口不一致时,将待转发报文转发至出接口对应的业务板卡上进行处理。由于查找到的出接口对应的业务板卡存在对应NAT表项,因此可以解决NAT业务无法生效的问题。
在本申请的可选实施例中,所述方法还包括:若本业务板卡中存在与所述待转发报文匹配的NAT表项,根据查找到的与所述待转发报文匹配的NAT表项对所述待转发报文进行NAT转换;根据所述待转发报文经NAT转换后的目的IP地址,查找路由表后将所述待转发报文进行转发。在上述方案中,当业务板卡上存在与待转发报文匹配的NAT表项,则说明该转发报文是与在该业务板卡上进行NAT转换的报文对应的回应报文,因此,可以直接在该业务板卡上进行NAT转换并将转换后的待转发报文进行转发。
在本申请的可选实施例中,在判断所述出接口不是本地接口之后,在所述将所述待转发报文发送到所述出接口所在的业务板卡之前,所述方法还包括:对所述待转发报文添加标识,以使收到带标识的待转发报文的业务板卡根据所述标识查找与所述待转发报文匹配的NAT表项。在上述方案中,在将待转发报文从一个业务板卡上转发到另一个业务板卡上之前,可以对待转发报文添加标识,以使收到带标识的待转发报文的业务板卡能够根据该标识对该待转发报文直接进行NAT处理且只进行一次查找NAT表项的动作,从而提高报文传输过程的效率。
在本申请的可选实施例中,所述对所述待转发报文添加标识,包括:在所述待转发报文的报文描述符中添加标识;或者,在所述待转发报文的预设字段中添加标识。
在本申请的可选实施例中,所述根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口,包括:将所述源IP地址作为目的IP地址查找路由表;当匹配的路由表项中有多个出接口时,对所述源IP地址进行哈希计算,根据计算的哈希值从所述多个出接口中确定与所述源IP地址对应的唯一的出接口。在上述方案中,在待转发报文来回路径不一致时,可以根据待转发报文中的源IP地址进行反向路由查找。在查找到的出接口为多个时,即存在负载分担的情况时,可以对待转发报文的源IP地址进行哈希计算,以确定唯一的出接口。
第二方面,本申请实施例提供一种报文转发装置,应用于分布式设备的业务板卡,包括:报文接收模块,用于通过outside接口接收待转发报文;NAT表项查找模块,用于查找本业务板卡中是否存在与所述待转发报文匹配的NAT表项;反向路由查找模块,用于若本业务板卡中不存在与所述待转发报文匹配的NAT表项,根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口;跨卡发送模块,用于若所述出接口不是本地接口,将所述待转发报文发送到所述出接口所在的业务板卡;否则将所述待转发报文根据目的IP地址查找路由表后进行转发。在上述方案中,当一个业务板卡接收到目的端设备发送的待转发报文之后,如果该业务板卡上不存在与待转发报文匹配的NAT表项,可以根据待转发报文中的源IP地址进行反向路由查找,确定与源IP地址对应的出接口,并查找到的出接口与该业务板卡的出接口不一致时,将待转发报文转发至出接口对应的业务板卡上进行NAT处理。由于查找到的出接口对应的业务板卡存在可能存在对应的NAT表项,因此可以解决NAT业务无法生效的问题。
在本申请的可选实施例中,所述装置还包括:NAT转换模块,用于若本业务板卡中存在与所述待转发报文匹配的NAT表项,根据查找到的与所述待转发报文匹配的NAT表项对所述待转发报文进行NAT转换;转发模块,用于根据所述待转发报文经NAT转换后的目的IP地址,查找路由表后将所述待转发报文进行转发。在上述方案中,当业务板卡上存在与待转发报文匹配的NAT表项,则说明该转发报文是与在该业务板卡上进行NAT转换的报文对应的回应报文,因此,可以直接在该业务板卡上进行NAT转换并将转换后的待转发报文进行转发。
在本申请的可选实施例中,所述装置还包括:标识添加模块,用于对所述待转发报文添加标识,以使收到带标识的待转发报文的业务板卡根据所述标识查找与所述待转发报文匹配的NAT表项。在上述方案中,在将待转发报文从一个业务板卡上转发到另一个业务板卡上之前,可以对待转发报文添加标识,以使收到带标识的待转发报文的业务板卡能够根据该标识对该待转发报文直接进行NAT处理且只进行一次查找NAT表项的动作,从而提高报文传输过程的效率。
在本申请的可选实施例中,所述标识添加模块还用于:在所述待转发报文的报文描述符中添加标识;或者,在所述待转发报文的预设字段中添加标识。
在本申请的可选实施例中,所述反向路由查找模块还用于:所述源IP地址作为目的IP地址查找路由表;当匹配的路由表项中有多个出接口时,对所述源IP地址进行哈希计算,根据计算的哈希值从所述多个出接口中确定与所述源IP地址对应的唯一的出接口。在上述方案中,在待转发报文来回路径不一致时,可以根据待转发报文中的源IP地址进行反向路由查找。在查找到的出接口为多个时,即存在负载分担的情况时,可以对待转发报文的源IP地址进行哈希计算,以确定唯一的出接口。
第三方面,本申请实施例提供一种分布式设备,包括:处理器以及至少一个业务板卡;所述处理器与所述业务板卡连接,所述业务板卡用于执行如第一方面中的报文转发方法。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面中的报文转发方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术中报文进行NAT转发方法的流程图;
图2为本申请实施例提供的一种报文转发方法的流程图;
图3为本申请实施例提供的NAT转换的流程图;
图4为本申请实施例提供的一种报文转发装置的结构框图。
具体实施方式
在介绍本申请实施例提供的报文转发方法之前,先介绍本申请实施例所涉及的一些概念,本申请实施例所涉及的一些概念如下:
网络地址转换(Network Address Translation,NAT),是指内网的互联网协议(Internet Protocol,IP)地址与公网的地址之间的相互转换的技术,该技术将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用。
分布式设备,是一种分布式系统架构下的网络设备(例如:路由器、交换机、防火墙等)。分布式设备主要包括主控卡和业务板卡,主控卡和业务板卡通过背板连接。主控板卡主要负责对机架上各类板卡的管理。业务板卡主要包括负责报文(比如IP报文)的接收、转发和发送的接口,一般将接收报文的接口称为入接口,将发送报文的接口称为出接口,入接口和出接口都是相对于具体报文来说的。
针对由于NAT业务流量路径不一致导致的NAT业务无法生效的技术问题,当前已有的解决方案主要有两种:第一种,在所有的业务板卡都对NAT表项进行同步;第二种,专门做一张硬件板卡,专门存放整机所有业务板卡上生成的NAT表项,且所有的NAT业务和表项转换都在这张硬件板卡进行。
然而,第一种解决方案会造成整机设备的所有业务板卡上都存在非常大的表项存在,因此需要消耗很大的内存资源,对内存要求较高,会造成较高的硬件成本;同时,由于海量的表项存在,还会造成业务板卡的查表性能急剧下降。第二种解决方案由于需要额外增加一张硬件板卡,因为其硬件成本更高。
基于上述分析,为了解决上述由于NAT业务流量路径不一致导致的NAT业务无法生效的技术问题,本申请实施例提供一种报文转发方法,当分布式设备上启用NAT业务后,从某一outside接口发送出去的经过NAT转换的报文和接收与该报文对应的回应报文的outside接口无论是否位于同一张业务板卡,都能使得报文能够正常进行表项转换,从而使NAT业务正常生效。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。为了便于叙述,本申请实施例中以分布式设备为分布式路由器为例进行介绍,本领域技术人员可以结合本领域技术人员的惯用技术手段,采用其他的分布式设备实施本申请实施例提供的技术方案。
首先,在执行本申请实施例提供的报文转发方法之前,可以启动分布式设备的NAT服务,并分别配置inside接口、outside接口以及NAT转换规则。其中,只有从配置的inside接口接收到的报文以及从配置的outside接口转发出去的报文,才可以触发生成NAT表项;而配置的NAT转换规则,用于使报文基于NAT转换规则进行NAT转换。
可以理解的是,当分布式设备接收到报文后,可以根据事先配置好的inside接口、outside接口以及NAT转换规则直接开始执行本申请实施例提供的报文转发方法。
在完成NAT配置之后,便可以开始执行本申请实施例提供的报文转发方法,其中,完整的报文转发方法可以包括三个部分:分布式设备接收报文并将报文经过NAT处理后发送至目的端设备;目的端设备接收报文并向分布式设备返回对应的回应报文;分布式设备接收目的端设备返回的回应报文并转发出去。
首先对现有技术中,分布式设备接收报文并将报文发送至目的端设备的过程进行介绍。请参照图1,图1为现有技术中一种报文NAT转发方法的流程图,该报文转发方法可以应用于业务板卡上,包括如下步骤:
步骤S101:通过配置的inside接口接收报文。
步骤S102:根据报文的目的IP地址以及路由表项确定与报文对应的出接口。
步骤S103:若与报文对应的出接口为配置的outside接口,根据配置的NAT转换规则对报文进行NAT转换。
步骤S104:生成与报文对应的NAT表项。
步骤S105:通过与报文对应的outside接口向目的端设备发送NAT转换后的报文。
在可选的实施方式中,外部设备向分布式设备发送想要发送到目的端设备的报文,分布式设备通过inside接口接收上述报文。其中,根据上述配置的规则,只有在接收上述报文的入接口为配置的inside接口时,继续执行后续步骤。
报文从inside接口进入后,分布式设备的业务板卡首先可以根据NAT转换后报文的目的IP地址以及路由表项确定与报文对应的出接口。其中,对应的出接口的确定方式可以为:查找路由表中与目的IP地址匹配的路由表项对应的出接口。
作为一种实施方式,当存在多个出接口即存在负载分担时,可以根据报文的目的IP地址进行计算,以确定唯一的出接口及对应的业务板卡。举例来说,计算的方式可以采用哈希算法,哈希算法可以根据报文的目的IP地址等计算出一个哈希值,不同哈希值的报文被分流到不同的业务板卡的接口上。
同样的,根据上述配置的规则,只有在确定的出接口为配置的outside接口时,继续执行后续步骤。
分布式设备的业务板卡可以根据NAT转换规则对报文进行NAT转换。可以理解的是,在转换的过程中,具体转换发送报文中的哪些字段由事先配置好的NAT转换规则决定。同时,在该outside接口所在的业务板卡上生成与对应的NAT表项。作为一种实施方式,生成的NAT表项中可以包括:IP协议号、源IP地址、源端口、目的IP地址、目的端口、老化时间(表征NAT表项的更新时长)等,本申请实施例对此不作具体的限定。
然后,可以通过上述outside接口将NAT转换后的发送报文发送出去。
在本申请实施例中,业务板卡在接收到外部设备发送的报文之后,根据目的IP地址进行路由表项查找,确定对应的出接口,并在对发送报文进行NAT转换后,将转换后的报文通过确定的出接口向目的端设备发送。
当NAT转换后的报文到达上述目的IP地址对应的目的端设备之后,目的端设备会基于上述报文进行回应,即会返回一个回应报文,该回应报文的源IP地址为上述目的IP地址。本申请实施例对目的端设备接收报文并向分布式设备返回对应的回应报文的过程不作详细的介绍。
请参照图2,图2为本申请实施例提供的一种报文转发方法的流程图,该报文转发方法同样可以应用在业务板卡上,包括如下步骤:
步骤S201:通过outside接口接收待转发报文。
步骤S202:查找本业务板卡中是否存在与待转发报文匹配的NAT表项。
步骤S203:若本业务板卡中不存在与待转发报文匹配的NAT表项,根据所转发报文的源IP地址进行反向路由查找确定与源IP地址对应的出接口。
步骤S204:若出接口不是本地接口,将待转发报文发送到出接口所在的业务板卡。
在本发明实施例中,接收的待转发报文的可以是分布式设备的多个业务板卡中的任意一个业务板卡上的outside接口。此时,存在多种情况:第一种情况,该待转发报文是执行过上述步骤S101-步骤S104进行NAT转换后的报文的回应报文,且接收该待转发报文的业务板卡是执行过上述步骤S101-步骤S104进行NAT转换的板卡;第二种情况,该待转发报文是需要进行NAT处理的报文,但是接收该待转发报文的不是执行过上述步骤S101-步骤S104进行NAT转换的业务板卡;第三种情况,接收到的待转发报文是不需要进行NAT处理的报文。
因此,首先需要判断属于上述三种情况中的哪一种情况。判断的方式可以为:分布式设备查找接收到待转发报文的业务板卡中是否存在与待转发报文相匹配的NAT表项。作为一种实施方式,查找的方式可以为:比对待转发报文中的特征与NAT表项中的特征,其中,比对的特征可以为待转发报文的IP协议号、源IP地址、目的IP地址、端口号等中的一项或者多项,本申请实施例对此不作具体的限定,本领域技术人员可以根据实际情况进行合适的选择。
若上述判断的结果为接收到待转发报文的业务板卡中存在与待转发报文中的特征相匹配的NAT表项,则认为符合上述第一种情况,可以直接根据查找到的NAT表项对待转发报文进行NAT转换。
若上述判断的结果为接收到待转发报文的业务板卡中不存在与待转发报文中的特征相匹配的NAT表项,则认为符合上述第二种或者第三种情况,继续执行后续的步骤。分布式设备的业务板卡可以进行反向路由查找,以找到与该待转发报文对应的进行NAT处理的业务板卡。具体的,业务板卡可以根据待转发报文的源IP地址以及分布式设备的路由表项进行反向路由查找,确定与源IP地址对应的出接口。其中,反向路由查找与步骤S102中的正向路由查找相比,实现的方式类似,均为查找由主控板卡生成的路由表项;区别在于,正向路由查找的过程是查找与发送报文的目的IP地址对应的出接口,而反向路由查找的过程是将待转发报文的源IP地址作为目的IP地址查找对应的出接口。
可以理解的是,与正向路由查找类似,反向路由查找的过程中,当存在多个出接口即存在负载分担时,可以根据待转发报文的源IP地址进行计算,以确定唯一的出接口及对应的业务板卡。作为一种实施方式,上述步骤S203可以包括如下步骤:
第一步,将源IP地址作为目的IP地址查找路由表。
第二步,当匹配的路由表项中有多个出接口时,对源IP地址进行哈希计算,根据计算的哈希值从多个出接口中确定与源IP地址对应的唯一的出接口。
因此,在待转发报文来回路径不一致时,可以根据待转发报文中的源IP地址进行反向路由查找。在查找到的出接口为多个时,即存在负载分担的情况时,可以对待转发报文的源IP地址进行哈希计算,以确定唯一的出接口。
若在反向路由查找的过程中,未发现查找到的出接口与上述步骤S104中的出接口相同,则认为符合上述第三种情况,将待转发报文根据目的IP地址查找路由表后进行转发。
若在反向路由查找的过程中,发现查找到的出接口与上述步骤S104中的出接口相同,则认为符合上述第二种情况,可以将该待转发报文跨卡发送至上述步骤S101-步骤S104中的业务板卡上。其中,本申请对跨卡流程不作详细的介绍,本领域技术人员可以结合现有技术实现上述方案。
在本申请实施例中,当一个业务板卡接收到目的端设备发送的待转发报文之后,如果该业务板卡上不存在与待转发报文匹配的NAT表项,可以根据待转发报文中的源IP地址进行反向路由查找,确定与源IP地址对应的出接口,并查找到的出接口与该业务板卡的出接口不一致时,将待转发报文转发至出接口对应的业务板卡上进行处理。由于查找到的出接口对应的业务板卡存在NAT转换时生成的NAT表项,因此可以解决NAT业务无法生效的问题。
进一步的,请参照图3,图3为本申请实施例提供的NAT转换的流程图,根据查找到的NAT表项对待转发报文进行NAT转换的方式可以包括如下步骤:
步骤S301:若本业务板卡中存在与待转发报文匹配的NAT表项,根据查找到的与待转发报文匹配的NAT表项对待转发报文进行NAT转换。
步骤S302:根据待转发报文经NAT转换后的目的IP地址,查找路由表后将待转发报文进行转发。
在可选的实施方式中,可以查找业务板卡上与待转发报文匹配的NAT表项,若没有查找到,则根据所转发报文的源IP地址进行反向路由查找确定与源IP地址对应的出接口;若查找到了,则可以根据查找到的NAT表项对待转发报文进行NAT转换。可以理解的是,对待转发报文进行NAT转换与对发送报文进行NAT转换的实施方式类似,具体转换待转发报文中的哪些字段由实现配置好的NAT转换规则决定,此处不再赘述。
在本申请实施例中,当业务板卡上存在与待转发报文匹配的NAT表项,则说明该转发报文是与在该业务板卡上进行NAT转换的报文对应的回应报文,因此,可以直接在该业务板卡上进行NAT转换并将转换后的待转发报文进行转发。
转换完成后,分布式设备还可以执行如下步骤,以将转换后的待转发报文转发出去:
第一步,根据待转发报文的目的IP地址以及路由表项确定与待转发报文的目的IP地址对应的出接口。
第二步,将NAT转换后的待转发报文从与转换后的目的IP地址对应的出接口发送出去。
在可选的实施方式中,分布式设备可以根据经NAT转换后的待转发报文的目的IP地址以及路由表项确定与待转发报文的目的IP地址对应的出接口。然后,可以直接将NAT转换后的待转发报文从匹配的路由表项中对应的出接口发送出去。需要注意的是,在本步骤中,将进行NAT转换后的待转发报文根据目的IP地址查找路由表,如果有匹配的路由表项,则将该待转发报文通过对应的出接口进行转发,如果没有查找到匹配的路由表项,则将该待转发报文丢弃。
作为一种实施方式,在步骤S203之前,本申请实施例提供的报文转发方法还可以包括以下步骤:
对待转发报文添加标识,以使收到带标识的待转发报文的业务板卡根据标识查找与待转发报文匹配的NAT表项。
在可选的实施方式中,在将待转发报文从一个业务板卡上转发到另一个业务板卡上之前,可以对待转发报文添加标识,这样,接收到待转发报文的业务板卡可以根据标识直接对相应报文进行NAT处理。
其中,添加标识的方式有多种,例如:在待转发报文的报文描述符中添加标识、在待转发报文的预设字段中添加标识等,本申请实施例对此不作具体的限定。
在本申请实施例中,在将待转发报文从一个业务板卡上转发到另一个业务板卡上之前,可以对待转发报文添加标识,以使收到带标识的待转发报文的业务板卡能够根据该标识对该待转发报文直接进行NAT处理且只进行一次查找NAT表项的动作,从而提高报文传输过程的效率。
请参照图4,图4为本申请实施例提供的一种报文转发装置的结构框图,该报文转发装置400应用于分布式设备的业务板卡,可以包括:报文接收模块401,用于通过outside接口接收待转发报文;NAT表项查找模块402,用于查找本业务板卡中是否存在与所述待转发报文匹配的NAT表项;反向路由查找模块403,用于若本业务板卡中不存在与所述待转发报文匹配的NAT表项,根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口;跨卡发送模块404,用于若所述出接口不是本地接口,将所述待转发报文发送到所述出接口所在的业务板卡;否则将所述待转发报文根据目的IP地址查找路由表后进行转发。
在本申请实施例中,当一个业务板卡接收到待转发报文之后,如果该业务板卡上不存在与待转发报文匹配的NAT表项,可以根据待转发报文中的源IP地址进行反向路由查找,确定与源IP地址对应的出接口,并查找到的出接口与该业务板卡的出接口不一致时,将待转发报文转发至出接口对应的业务板卡上进行处理。由于查找到的出接口对应的业务板卡存在对应的NAT表项,因此可以解决NAT业务无法生效的问题。
进一步的,所述报文转发装置400还包括:NAT转换模块,用于若本业务板卡中存在与所述待转发报文匹配的NAT表项,根据查找到的与所述待转发报文匹配的NAT表项对所述待转发报文进行NAT转换;转发模块,用于根据所述待转发报文经NAT转换后的目的IP地址,查找路由表后将所述待转发报文进行转发。
在本申请实施例中,当业务板卡上存在与待转发报文匹配的NAT表项,则说明该转发报文是与在该业务板卡上进行NAT转换的报文对应的回应报文,因此,可以直接在该业务板卡上进行NAT转换并将转换后的待转发报文进行转发。
进一步的,所述报文转发装置400还包括:标识添加模块,用于对所述待转发报文添加标识,以使收到带标识的待转发报文的业务板卡根据所述标识查找与所述待转发报文匹配的NAT表项。
在本申请实施例中,在将待转发报文从一个业务板卡上转发到另一个业务板卡上之前,可以对待转发报文添加标识,以使收到带标识的待转发报文的业务板卡能够根据该标识对该待转发报文直接进行NAT处理且只进行一次查找NAT表项的动作,从而提高报文传输过程的效率。
进一步的,所述标识添加模块还用于:在所述待转发报文的报文描述符中添加标识;或者,在所述待转发报文的预设字段中添加标识。
进一步的,所述反向路由查找模块403还用于:所述源IP地址作为目的IP地址查找路由表;当匹配的路由表项中有多个出接口时,对所述源IP地址进行哈希计算,根据计算的哈希值从所述多个出接口中确定与所述源IP地址对应的唯一的出接口。在上述方案中,在待转发报文来回路径不一致时,可以根据待转发报文中的源IP地址进行反向路由查找。在查找到的出接口为多个时,即存在负载分担的情况时,可以对待转发报文的源IP地址进行哈希计算,以确定唯一的出接口。
在本申请实施例中,在待转发报文来回路径不一致时,可以根据待转发报文中的源IP地址进行反向路由查找。在查找到的出接口为多个时,即存在负载分担的情况时,可以对待转发报文的源IP地址进行哈希计算,以确定唯一的出接口。
本申请实施例提供一种分布式设备,包括:包括:处理器以及至少一个业务板卡;所述处理器与所述业务板卡连接,所述业务板卡用于上述实施例中的报文转发方法。
在可选的实施方式中,处理器可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。在本申请实施例中,处理器可以是分布式设备中的主控板卡。
本申请实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述实施例中报文转发方法的步骤,例如包括:步骤S201:通过outside接口接收待转发报文。步骤S202:查找本业务板卡中是否存在与待转发报文匹配的NAT表项。步骤S203:若本业务板卡中不存在与待转发报文匹配的NAT表项,根据所转发报文的源IP地址进行反向路由查找确定与源IP地址对应的出接口。步骤S204:若出接口不是本地接口,将待转发报文发送到出接口所在的业务板卡。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种报文转发方法,其特征在于,应用于分布式设备的业务板卡;
其中,所述分布式设备包括多个业务板卡,每个业务板卡包括入接口以及出接口;所述方法包括:
通过outside接口接收待转发报文;
查找本业务板卡中是否存在与所述待转发报文匹配的NAT表项;
若本业务板卡中不存在与所述待转发报文匹配的NAT表项,根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口;
若所述出接口不是本地接口,将所述待转发报文发送到所述出接口所在的业务板卡;否则将所述待转发报文根据目的IP地址查找路由表后进行转发;
所述根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口,包括:
将所述源IP地址作为目的IP地址查找路由表;
当匹配的路由表项中有多个出接口时,对所述源IP地址进行哈希计算,根据计算的哈希值从所述多个出接口中确定与所述源IP地址对应的唯一的出接口。
2.根据权利要求1所述的报文转发方法,其特征在于,所述方法还包括:
若本业务板卡中存在与所述待转发报文匹配的NAT表项,根据查找到的与所述待转发报文匹配的NAT表项对所述待转发报文进行NAT转换;
根据所述待转发报文经NAT转换后的目的IP地址,查找路由表后将所述待转发报文进行转发。
3.根据权利要求2所述的报文转发方法,其特征在于,在判断所述出接口不是本地接口之后,在所述将所述待转发报文发送到所述出接口所在的业务板卡之前,所述方法还包括:
对所述待转发报文添加标识,以使收到带标识的待转发报文的业务板卡根据所述标识查找与所述待转发报文匹配的NAT表项。
4.根据权利要求3所述的报文转发方法,其特征在于,所述对所述待转发报文添加标识,包括:
在所述待转发报文的报文描述符中添加标识;
或者,在所述待转发报文的预设字段中添加标识。
5.一种报文转发装置,其特征在于,应用于分布式设备的业务板卡;
其中,所述分布式设备包括多个业务板卡,每个业务板卡包括入接口以及出接口;所述装置包括:
报文接收模块,用于通过outside接口接收待转发报文;
NAT表项查找模块,用于查找本业务板卡中是否存在与所述待转发报文匹配的NAT表项;
反向路由查找模块,用于若本业务板卡中不存在与所述待转发报文匹配的NAT表项,根据所述待转发报文的源IP地址进行反向路由查找确定与所述源IP地址对应的出接口;
跨卡发送模块,用于若所述出接口不是本地接口,将所述待转发报文发送到所述出接口所在的业务板卡;
所述反向路由查找模块还用于:
将所述源IP地址作为目的IP地址查找路由表;
当匹配的路由表项中有多个出接口时,对所述源IP地址进行哈希计算,根据计算的哈希值从所述多个出接口中确定与所述源IP地址对应的唯一的出接口。
6.根据权利要求5所述的报文转发装置,其特征在于,所述装置还包括:
NAT转换模块,用于若本业务板卡中存在与所述待转发报文匹配的NAT表项,根据查找到的与所述待转发报文匹配的NAT表项对所述待转发报文进行NAT转换;
转发模块,用于根据所述待转发报文经NAT转换后的目的IP地址,查找路由表后将所述待转发报文进行转发。
7.根据权利要求6所述的报文转发装置,其特征在于,所述装置还包括:
标识添加模块,用于对所述待转发报文添加标识,以使收到带标识的待转发报文的业务板卡根据所述标识查找与所述待转发报文匹配的NAT表项。
8.一种分布式设备,其特征在于,包括:处理器以及至少一个业务板卡;
所述处理器与所述业务板卡连接,所述业务板卡用于执行如权利要求1-4任一项所述的报文转发方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-4任一项所述的报文转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011384745.4A CN112367261B (zh) | 2020-11-30 | 2020-11-30 | 一种报文转发方法及装置、分布式设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011384745.4A CN112367261B (zh) | 2020-11-30 | 2020-11-30 | 一种报文转发方法及装置、分布式设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367261A CN112367261A (zh) | 2021-02-12 |
CN112367261B true CN112367261B (zh) | 2022-10-18 |
Family
ID=74535079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011384745.4A Active CN112367261B (zh) | 2020-11-30 | 2020-11-30 | 一种报文转发方法及装置、分布式设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367261B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389987B (zh) * | 2021-12-24 | 2022-10-11 | 广州爱浦路网络技术有限公司 | 数据包路由方法、计算机装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867520A (zh) * | 2010-06-12 | 2010-10-20 | 迈普通信技术股份有限公司 | 分布式系统中板卡间数据交换的方法 |
CN102404236A (zh) * | 2011-12-30 | 2012-04-04 | 苏州山石网络有限公司 | 一种分布式系统中nat端口资源的分配方法 |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN104065759A (zh) * | 2013-03-22 | 2014-09-24 | 杭州迪普科技有限公司 | 一种提高nat地址池资源利用效率的方法及装置 |
CN104869081A (zh) * | 2015-05-29 | 2015-08-26 | 华为技术有限公司 | 报文交换处理方法、业务板及网络交换系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262505B (zh) * | 2010-10-22 | 2016-06-01 | 瑞典爱立信有限公司 | 使用网络地址转换的网络业务的区分处理 |
US9680741B2 (en) * | 2012-09-04 | 2017-06-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of operating a switch or access node in a network and a processing apparatus configured to implement the same |
CN102904975B (zh) * | 2012-09-28 | 2015-06-17 | 华为技术有限公司 | 报文处理的方法和相关装置 |
CN107820267B (zh) * | 2014-09-02 | 2021-04-13 | 安科讯(福建)科技有限公司 | 多板卡lte网关的报文处理方法及系统 |
CN107018093B (zh) * | 2017-04-12 | 2020-04-07 | 深圳市风云实业有限公司 | 一种分布式设备中的板间通信装置与方法 |
CN107426113B (zh) * | 2017-09-13 | 2020-03-17 | 迈普通信技术股份有限公司 | 报文接收方法及网络设备 |
CN108011991B (zh) * | 2017-11-30 | 2021-12-07 | 新华三技术有限公司 | 数据流转发方法、主控板、接口板、引擎板及分布式防火墙 |
CN108173982B (zh) * | 2018-03-26 | 2020-12-22 | 深圳市风云实业有限公司 | 跨板报文的nat处理方法及装置 |
US20190334863A1 (en) * | 2019-04-25 | 2019-10-31 | Intel Corporation | Lockless stateful network address translation |
CN110430135B (zh) * | 2019-07-08 | 2021-10-26 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
-
2020
- 2020-11-30 CN CN202011384745.4A patent/CN112367261B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867520A (zh) * | 2010-06-12 | 2010-10-20 | 迈普通信技术股份有限公司 | 分布式系统中板卡间数据交换的方法 |
CN102404236A (zh) * | 2011-12-30 | 2012-04-04 | 苏州山石网络有限公司 | 一种分布式系统中nat端口资源的分配方法 |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN104065759A (zh) * | 2013-03-22 | 2014-09-24 | 杭州迪普科技有限公司 | 一种提高nat地址池资源利用效率的方法及装置 |
CN104869081A (zh) * | 2015-05-29 | 2015-08-26 | 华为技术有限公司 | 报文交换处理方法、业务板及网络交换系统 |
Non-Patent Citations (6)
Title |
---|
Apparatus and methods for handling shared services through virtual route forwarding (VRF) -aware-NAT;M Somasundaram;《百度学术》;20041231;全文 * |
artdaq: An Event-Building, Filtering, and Processing Framework;K. Biery;《IEEE Xplore》;20130408;全文 * |
Lotus Notes在办公自动化系统开发中的应用研究;张志刚;《CNKI中国知网》;20070615;全文 * |
The development tool of the application cooperation software;Zhigang Zhang;《IEEE Xplore》;20020807;全文 * |
分布式IP多媒体业务网络架构及关键技术研究;程银波;《百度学术》;20101231;全文 * |
基于分布式架构的NAT模块设计与实现;高腾飞;《CNKI中国知网》;20171231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112367261A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981458B (zh) | 一种确定报文转发路径的方法、网络节点及系统 | |
KR102579059B1 (ko) | 패킷 처리 방법 및 장치, 기기, 그리고 시스템 | |
US10079780B2 (en) | Packet processing method and device | |
US10432506B2 (en) | Data processing method and apparatus | |
CN109412951B (zh) | 一种发送路由信息的方法和装置 | |
CN110430135B (zh) | 一种报文处理方法和装置 | |
US20220345404A1 (en) | Packet sending method, routing entry generation method, apparatus, and storage medium | |
CN109474713B (zh) | 报文转发方法和装置 | |
WO2020173424A1 (zh) | 报文处理的方法和网关设备 | |
CN112367261B (zh) | 一种报文转发方法及装置、分布式设备 | |
CN105634776B (zh) | 一种确定报文转发接口的方法及设备 | |
EP4020904B1 (en) | Packet transmission method, device, and system | |
CN111064668B (zh) | 路由表项的生成方法、装置及相关设备 | |
EP4246919A1 (en) | Packet transmission method, device, and system | |
CN114629816A (zh) | 公网ip网络状态探测方法及系统 | |
CN112787939B (zh) | 路径转发表更新方法及装置 | |
CN112311672B (zh) | 一种路由表项获得方法、装置及设备 | |
US11924103B2 (en) | Traffic processing method, apparatus, and network device | |
CN109831378B (zh) | 一种报文超时回应方法及装置 | |
CN109617817B (zh) | 一种mlag组网的转发表项的生成方法及装置 | |
CN113010314B (zh) | 负载均衡方法、装置和电子设备 | |
CN115567436A (zh) | 组播报文的处理方法、系统、计算机设备和可读存储介质 | |
CN113676409B (zh) | 一种报文转发方法、装置、电子设备以及存储介质 | |
CN116530067A (zh) | 使用内部网关协议(interior gateway protocol,IGP)的边缘计算数据和服务发现 | |
CN112737957A (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 |