CN109218205A - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN109218205A CN109218205A CN201811120993.0A CN201811120993A CN109218205A CN 109218205 A CN109218205 A CN 109218205A CN 201811120993 A CN201811120993 A CN 201811120993A CN 109218205 A CN109218205 A CN 109218205A
- Authority
- CN
- China
- Prior art keywords
- message
- business board
- business
- reversed
- session entry
- 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.)
- Pending
Links
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
- H04L45/7453—Address table lookup; Address filtering using hashing
Abstract
本发明实施例提供了一种报文转发方法及装置,报文转发方法应用于IRF虚拟设备,包括:对接收到的第一报文中的报文信息进行哈希运算,确定处理第一报文的第一业务板;在根据第一业务板对第一报文进行地址转换处理得到的报文信息,转发第一报文后,接收第一报文对应的反向报文,并对反向报文中的报文信息进行哈希运算,确定处理反向报文的第二业务板;判断第二业务板与第一业务板是否一致;若不一致,则将第一业务板的会话表项同步至第二业务板,在第二业务板确定反向报文匹配会话表项,并基于会话表项对反向报文进行地址转换处理后,转发反向报文。通过本方案,可以保证正确地进行业务处理。
Description
技术领域
本发明涉及数据通信技术领域,特别是涉及一种报文转发方法及装置。
背景技术
IRF(Intelligent Resilient Framework,智能弹性架构)是将多台设备通过IRF端口连接在一起,进行必要的配置后,虚拟化成一台虚拟设备。IRF技术可以集合多台设备的硬件资源和软件处理能力,实现多台设备的协同工作、统一管理和不间断维护。
在IRF虚拟设备中,每个成员设备包括有主控板、业务板、接口板和转发板,接口板在接收到待传输的报文(记为正向报文)后,会根据正向报文的报文信息(如五元组信息),经过哈希运算计算出正向报文会上送到哪个业务板进行处理,然后将正向报文上送至该业务板,由该业务板对正向报文进行地址转换等处理,并创建会话表项,用于指示转发板向目的设备转发正向报文。
由于经过业务板处理之后,正向报文的报文信息发生了变化,则从目的设备反馈的反向报文中的报文信息与正向转发时的报文信息不同,经过哈希运算计算出的业务板也可能会不同,这样,正向报文和反向报文可能不在同一个业务板上处理,导致业务处理发生错误。
发明内容
本发明实施例的目的在于提供一种报文转发方法及装置,以保证正确地进行业务处理。具体技术方案如下:
第一方面,本发明实施例提供了一种报文转发方法,应用于IRF虚拟设备,所述方法包括:
对接收到的第一报文中的报文信息进行哈希运算,确定处理所述第一报文的第一业务板;
在根据所述第一业务板对所述第一报文进行地址转换处理得到的报文信息,转发所述第一报文后,接收所述第一报文对应的反向报文,并对所述反向报文中的报文信息进行所述哈希运算,确定处理所述反向报文的第二业务板;
判断所述第二业务板与所述第一业务板是否一致;
若不一致,则将所述第一业务板的会话表项同步至所述第二业务板,在所述第二业务板确定所述反向报文匹配所述会话表项,并基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
第二方面,本发明实施例提供了一种报文转发装置,应用于IRF虚拟设备,所述装置包括:
运算模块,用于对接收到的第一报文中的报文信息进行哈希运算,确定处理所述第一报文的第一业务板;在根据所述第一业务板对所述第一报文进行地址转换处理得到的报文信息,转发所述第一报文后,接收所述第一报文对应的反向报文,并对所述反向报文中的报文信息进行所述哈希运算,确定处理所述反向报文的第二业务板;
判断模块,用于判断所述第二业务板与所述第一业务板是否一致;
转发模块,用于若所述判断模块的判断结果为不一致,则将所述第一业务板的会话表项同步至所述第二业务板,在所述第二业务板确定所述反向报文匹配所述会话表项,并基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
本发明实施例提供的一种报文转发方法及装置,对接收到的第一报文中的报文信息进行哈希运算,确定处理第一报文的第一业务板,在根据第一业务板对第一报文进行地址转换处理得到的报文信息,转发第一报文后,接收第一报文对应的反向报文,并对反向报文中的报文信息进行哈希运算,确定处理反向报文的第二业务板,若第二业务板与第一业务板不一致,则将第一业务板的会话表项同步至第二业务板,在第二业务板确定反向报文匹配会话表项,并基于会话表项对反向报文进行地址转换处理后,转发反向报文。在IRF虚拟设备中,分别根据第一报文中的报文信息和第一报文对应的反向报文中的报文信息,经过哈希运算计算出处理第一报文的第一业务板和处理反向报文的第二业务板,如果第一业务板和第二业务板不一致,即第一报文和反向报文没有上送到同一块业务板,则将第一业务板的会话表项同步至第二业务板,基于第一业务板的会话表项,能够对第一报文对应的反向报文进行正确的业务处理,通过会话表项的同步,可以保证在第二业务板上对反向报文正确地进行业务处理,不会将报文丢弃。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的IRF虚拟设备的结构示意图;
图2为本发明一实施例的组网架构示意图;
图3为本发明一实施例的报文转发方法的流程示意图;
图4为本发明另一实施例的报文转发方法的流程示意图;
图5为本发明实施例的报文转发装置的结构示意图;
图6为本发明实施例的IRF虚拟设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
IRF虚拟设备是由多个成员设备经过IRF堆叠而成的虚拟设备,如图1所示,IRF虚拟设备由成员设备A和成员设备B虚拟堆叠而成,其中,每一个成员设备上都由多块业务板(比如每个成员设备上都有2个业务板)。下面以转发UDP(User Datagram Protocol,用户数据协议)报文为例,对报文的转发过程进行介绍。
如图2所示的组网,IRF虚拟设备具有如图1所示的结构,路由器A向路由器B发送TFTP(Trivial File Transfer Protocol,简单文件传输协议)连接请求时,路由器A发送的UDP报文被传输到IRF虚拟设备的接口板(图1中的接口板1或者接口板2)上。
接口板按照报文的报文信息(例如五元组信息),通过hash(哈希)算法决定报文上送到哪个业务板进行处理。假设计算出来报文上送到业务板1上进行业务处理,这时报文经过NAT(Network Address Translation,网络地址转换)、LB(LoadBalance,负载均衡)等业务处理之后,报文的报文信息发生了变化。例如,报文经过NAT转换,报文的转换过程如下:转换前UDP报文:10.1.1.10:1024->20.1.1.10:69协议UDP,经过NAT转换,源地址发生转换,例如源地址从10.1.1.10:1024转换为地址组地址30.1.1.10:1024,则UDP报文改变为30.1.1.10:1024->20.1.1.10:69协议UDP,发给路由器B;路由器B发送反向报文20.1.1.10:69->30.1.1.10:1024到IRF虚拟设备上。这时接口板根据当前反向报文的报文信息进行hash运算,有可能没有上送到业务板1上,导致业务处理发生错误、反向报文被丢弃。
为了保证正确地进行业务处理、正常连接的报文不被丢弃,本发明实施例提供了一种报文转发方法、装置、IRF虚拟设备及机器可读存储介质。
下面,首先对本发明实施例所提供的一种报文转发方法进行介绍。
本发明实施例所提供的一种报文转发方法的执行主体可以为如图1所示的IRF虚拟设备,该IRF虚拟设备由多个成员设备堆叠而成,每个成员设备中可以包括接口板、业务板、主控板、转发板等。实现本发明实施例所提供的一种报文转发方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路中的至少一种。
如图3所示,本发明实施例所提供的一种报文转发方法,可以包括如下步骤。
S301,对接收到的第一报文中的报文信息进行哈希运算,确定处理第一报文的第一业务板。
第一报文可以为一条数据流中的首报文,如果首报文转发成功,该数据流的后续报文可以按照首报文的转发方式正常转发,而不需要再次执行本实施例的处理流程。当然,为了保证报文转发的准确性,也可以对每一个报文执行本实施例的处理流程。
网络上最常见的报文的网络层都是基于TCP(Transmission Control Protocol传输控制协议)、UDP、ICMP(Internet Control Message Protocol,英特网控制报文协议)、GRE(Generic Routing Encapsulation,通用路由封装)等的报文组成,本实施例中的报文(包括第一报文、反向报文)可以为这些报文中的任意一种。
报文信息为表征报文传输特性的信息,例如四元组信息(包括源IP地址、源端口号、目的IP地址和目的端口号)、五元组信息(包括源IP地址、源端口号、目的IP地址、目的端口号和协议号)、七元组信息(包括源IP地址、源端口号、目的IP地址、目的端口号、协议号、服务类型和接口索引)等。哈希运算为一种散列运算方式,就是把任意长度的输入(本实施例中的报文信息)变换成固定长度的输出,该输出记为哈希值。这种转换是一种压缩映射,也就是,哈希值的空间通常远小于输入的空间,不同的输入哈希为相同的输出。这个哈希值对应于一个业务板的编号,对于如何计算哈希值,实现方式很多,在此不一一列举。
需要说明的是,接收第一报文、进行哈希运算的过程在IRF虚拟设备的成员设备上的接口板中实现。
S302,在根据第一业务板对第一报文进行地址转换处理得到的报文信息,转发第一报文后,接收第一报文对应的反向报文,并对反向报文中的报文信息进行哈希运算,确定处理反向报文的第二业务板。
在接口板确定处理第一报文的第一业务板之后,向第一业务板上送第一报文,第一业务板对第一报文进行NAT、LB等业务处理,这些业务处理会存在地址转换处理的过程,经过地址转换处理,第一报文的报文信息会发生改变,基于改变后的报文信息可以转发第一报文。
IRF虚拟设备在转发第一报文之后,基于TCP、UDP等协议规定,接收到第一报文的目的设备会回复相应的反向报文,反向报文中的报文信息与IRF虚拟设备接收到的第一报文的报文信息不同。
IRF虚拟设备接收到反向报文之后,可以对反向报文中的报文信息进行哈希运算,确定处理反向报文的第二业务板,这里所采用的哈希运算与第一报文进行的哈希运算相同。对于反向报文,确定第二业务板的过程与上述确定第一业务板的过程基本相同,这里不再赘述。
S303,判断第二业务板与第一业务板是否一致。
由于反向报文的报文信息与第一报文的报文信息不同,经过哈希运算计算出的第二业务板和第一业务板可能一致,也可能不一致。由于第一业务板在处理第一报文时已建立会话表项,如果第二业务板和第一业务板一致,则可直接对反向报文进行正确的业务处理。
S304,若不一致,则将第一业务板的会话表项同步至第二业务板,在第二业务板确定反向报文匹配会话表项,并基于会话表项对反向报文进行地址转换处理后,转发反向报文。
如果第二业务板和第一业务板不一致,第二业务板并不存在对第一报文进行业务处理相应的会话表项,则第二业务板不能够保证对反向报文可以进行正确的业务处理,因此,通过将第一业务板的会话表项同步至第二业务板,使得第二业务板具有对第一报文进行业务处理所依据的会话表项,该会话表项可以称为smart表项,该会话表项中主要记录有报文的报文信息(如五元组信息),则表项信息如表1所示。
表1smart表项
源IP地址 | 目的IP地址 | 源端口号 | 目的端口号 | 协议号 |
该smart表项的作用是当反向报文上送到第二业务板之后,可以根据反向报文的报文信息匹配该smart表项,如果匹配上,再根据反向报文的报文信息在第二业务板上创建正式的会话表项,该smart表项可以随之删除。
可选的,将第一业务板的会话表项同步至第二业务板的步骤,具体可以为:
判断第一业务板与第二业务板是否包含于IRF虚拟设备中的同一成员设备;
若是,则直接将第一业务板的会话表项同步至第二业务板;
若否,则通过IRF堆叠线,将第一业务板的会话表项同步至第二业务板。
IRF虚拟设备由多个成员设备堆叠而成,第二业务板与第一业务板不一致的情况可以分为两种。
第一种情况,对于第二业务板与第一业务板不是同一块业务板、而包含于同一成员设备的情况,由于两个业务板包含于同一成员设备,第一业务板的会话表项可以直接同步至第二业务板,无需经过特殊处理。
第二种情况,对于第二业务板与第一业务板不是同一块业务板、且不包含于同一成员设备的情况,由于两个成员设备通过IRF堆叠生成IRF虚拟设备,因此,需要通过IRF堆叠线,将第一业务板的会话表项同步至第二业务板。
可选的,本发明实施例所提供的报文转发方法还可以执行如下步骤:
若第二业务板不存在与反向报文匹配的会话表项,则向IRF虚拟设备中除第二业务板之外的其他所有的业务板复制反向报文;
若其他业务板确定存在与反向报文匹配的会话表项,则其他业务板中存在匹配的会话表项的第三业务板根据匹配的会话表项处理反向报文。
第一业务板在向第二业务板同步会话表项时,smart表项的同步可能不及时,也就是在smart表项同步之前,反向报文就已上送到了第二业务板上,此时,第二业务板上不存在与反向报文匹配的会话表项,则向其他所有的业务板进行反向报文复制操作。
如果匹配其他业务板的会话表项,则说明反向报文需要进行处理,则其他业务板中存在匹配的会话表项的第三业务板根据匹配的会话表项处理反向报文。示例性的,在第三业务板基于匹配的会话表项对反向报文进行地址转换处理后,转发该反向报文。
IRF虚拟设备可以记录匹配会话表项的第三业务板,在第二业务板的smart表项同步之前,第一报文对应的所有反向报文均可以通过该第三业务板进行转发。如果第二业务板的smart表项实现了同步,则不需要再将反向报文复制至其他业务板,直接由第二业务板转发反向报文。
可选的,向IRF虚拟设备中除第二业务板之外的其他所有的业务板复制反向报文的步骤,具体可以为:
判断其他业务板与第二业务板是否包含于IRF虚拟设备中的同一成员设备;
若是,则直接将反向报文复制至其他业务板;
若否,则通过IRF堆叠线,将反向报文复制至其他业务板。
IRF虚拟设备由多个成员设备堆叠而成,其他业务板与第二业务板可能包含于同一成员设备,也可能不包含于同一成员设备。
对于其他业务板与第二业务板包含于同一成员设备的情况,由于两个业务板包含于同一成员设备,第二业务板可以直接将反向报文复制至其他业务板,无需经过特殊处理。
对于其他业务板与第二业务板不包含于同一成员设备的情况,由于两个成员设备通过IRF堆叠生成IRF虚拟设备,因此,需要通过IRF堆叠线,将反向报文复制至其他业务板。
可选的,本发明实施例所提供的报文转发方法还可以执行如下步骤:
若其他所有的业务板均不存在与反向报文匹配的会话表项,则丢弃反向报文。
如果所有的业务板都不存在与反向报文匹配的会话表项,则说明没有业务板可以正确处理反向报文,为了防止处理错误,可以直接丢弃反向报文。
应用本实施例,分别根据第一报文中的报文信息和第一报文对应的反向报文中的报文信息,经过哈希运算计算出处理第一报文的第一业务板和处理反向报文的第二业务板,如果第一业务板和第二业务板不一致,即第一报文和反向报文没有上送到同一块业务板,则将第一业务板的会话表项同步至第二业务板,基于第一业务板的会话表项,能够对第一报文对应的反向报文进行正确的业务处理,通过会话表项的同步,可以保证在第二业务板上对反向报文正确地进行业务处理,不会将报文丢弃。
为了便于理解,下面结合具体实例对本发明实施例所提供的报文转发方法进行介绍。
结合图2所示的架构,如图4所示,报文转发方法包括如下步骤。
S401,对接收到第一报文中的五元组信息进行哈希运算,确定处理该第一报文的第一业务板。
路由器A向路由器B发起FTP(File Transfer Protocol,文件传输协议)请求,数据流的首报文为10.1.1.10:1024->20.1.1.10:69协议TCP,在接口板经过hash运算计算出报文上送到业务板1进行业务处理。业务板1对该报文进行NAT转换处理。
S402,在根据第一业务板对第一报文进行地址转换处理得到的五元组信息,转发第一报文后,接收第一报文对应的反向报文,并对反向报文中的五元组信息进行哈希运算,确定处理反向报文的第二业务板。
对首报文经过NAT转换之后为30.1.1.10:1024->20.1.1.10:69协议TCP,这时,经过转换后的报文的五元组信息从路由器B返回来的反向报文的五元组信息为20.1.1.10:69->30.1.1.10:1024协议TCP,根据该反向报文的五元组信息,通过相同的hash运算计算出反向报文上送的第二业务板。
S403,判断第二业务板与第一业务板是否一致,若一致,则执行S404,否则执行S405。
S404,在第二业务板基于会话表项对反向报文进行地址转换处理后,转发反向报文。
如果计算出来的第二业务板与第一业务板是同一块业务板,例如计算出来的第二业务板也为业务板1,那么此时无需做其他处理,直接基于第一业务板的会话表项对反向报文进行NAT处理,转发反向报文。
S405,将第一业务板的会话表项同步至第二业务板,在第二业务板确定反向报文匹配会话表项,并基于会话表项对反向报文进行地址转换处理后,转发反向报文。
如果计算出来的第二业务板与第一业务板不是同一块业务板,则将第一业务板的会话表项同步至第二业务板。例如计算出来的第二业务板为业务板2(与业务板1属于同一成员设备),此时直接将第一业务板的会话表项同步至第二业务板。再例如计算出来的第二业务板为业务板3(与业务板1不属于同一成员设备),此时需要通过IRF堆叠线,将第一业务板的会话表项同步至第二业务板。
其次,对于会话表项同步不及时的情况,如果反向报文进入IRF虚拟设备,通过hash运算,确定第二业务板(例如业务板2)发现未匹配会话表项,则向IRF虚拟设备中的其他所有的业务板进行报文复制操作。对于属于同一成员设备的其他业务板(例如业务板1),可以直接将反向报文复制至业务板1;对于不属于同一成员设备的其他业务板(例如业务板3和业务板4),可以通过IRF堆叠线,将反向报文复制至业务板3和业务板4。如果匹配其他业务板的会话表项,说明这个反向报文需要进行处理,则在其他业务板基于匹配的会话表项对反向报文进行地址转换处理后,转发反向报文。
如果没有匹配到会话表项,则将反向报文丢弃。
通过本方案,在IRF虚拟设备中,分别根据第一报文中的报文信息和第一报文对应的反向报文中的报文信息,经过哈希运算计算出处理第一报文的第一业务板和处理反向报文的第二业务板,如果第一业务板和第二业务板不一致,即第一报文和反向报文没有上送到同一块业务板,则将第一业务板的会话表项同步至第二业务板,基于第一业务板的会话表项,能够对第一报文对应的反向报文进行正确的业务处理,通过会话表项的同步,可以保证在第二业务板上对反向报文正确地进行业务处理,不会将报文丢弃。
相应于上述方法实施例,本发明实施例提供了一种报文转发装置,应用于IRF虚拟设备,如图5所示,该报文转发装置可以包括:
运算模块510,用于对接收到的第一报文中的报文信息进行哈希运算,确定处理所述第一报文的第一业务板;在根据所述第一业务板对所述第一报文进行地址转换处理得到的报文信息,转发所述第一报文后,接收所述第一报文对应的反向报文,并对所述反向报文中的报文信息进行所述哈希运算,确定处理所述反向报文的第二业务板;
判断模块520,用于判断所述第二业务板与所述第一业务板是否一致;
转发模块530,用于若所述判断模块520的判断结果为不一致,则将所述第一业务板的会话表项同步至所述第二业务板,在所述第二业务板确定所述反向报文匹配所述会话表项,并基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
可选的,所述转发模块530,还可以用于:
若所述第二业务板与所述第一业务板一致,则在所述第二业务板基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
可选的,所述转发模块530,具体可以用于:
判断所述第一业务板与所述第二业务板是否包含于所述IRF虚拟设备中的同一成员设备;
若是,则直接将所述第一业务板的会话表项同步至所述第二业务板;
若否,则通过IRF堆叠线,将所述第一业务板的会话表项同步至所述第二业务板。
可选的,所述装置还可以包括:
复制模块,用于若所述第二业务板不存在与所述反向报文匹配的会话表项,则向所述IRF虚拟设备中除所述第二业务板之外的其他所有的业务板复制所述反向报文;
所述转发模块530,还可以用于若其他业务板确定存在与所述反向报文匹配的会话表项,则所述其他业务板中存在所述匹配的会话表项的第三业务板根据所述匹配的会话表项处理所述反向报文。
可选的,所述复制模块,具体可以用于:
判断所述其他业务板与所述第二业务板是否包含于所述IRF虚拟设备中的同一成员设备;
若是,则直接将所述反向报文复制至所述其他业务板;
若否,则通过IRF堆叠线,将所述反向报文复制至所述其他业务板。
可选的,所述装置还可以包括:
丢弃模块,用于若所述其他所有的业务板均不存在与所述反向报文匹配的会话表项,则丢弃所述反向报文。
应用本实施例,对接收到的第一报文中的报文信息进行哈希运算,确定处理第一报文的第一业务板,在根据第一业务板对第一报文进行地址转换处理得到的报文信息,转发第一报文后,接收第一报文对应的反向报文,并对反向报文中的报文信息进行哈希运算,确定处理反向报文的第二业务板,若第二业务板与第一业务板不一致,则将第一业务板的会话表项同步至第二业务板,在第二业务板确定反向报文匹配会话表项,并基于会话表项对反向报文进行地址转换处理后,转发反向报文。在IRF虚拟设备中,分别根据第一报文中的报文信息和第一报文对应的反向报文中的报文信息,经过哈希运算计算出处理第一报文的第一业务板和处理反向报文的第二业务板,如果第一业务板和第二业务板不一致,即第一报文和反向报文没有上送到同一块业务板,则将第一业务板的会话表项同步至第二业务板,基于第一业务板的会话表项,能够对第一报文对应的反向报文进行正确的业务处理,通过会话表项的同步,可以保证在第二业务板上对反向报文正确地进行业务处理,不会将报文丢弃。
本发明实施例还提供了一种IRF虚拟设备,如图6所示,该IRF虚拟设备包括处理器601和机器可读存储介质602,所述机器可读存储介质602存储有能够被所述处理器601执行的机器可执行指令,所述处理器601被所述机器可执行指令促使实现本发明实施例提供的报文转发方法。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本实施例中,该IRF虚拟设备的处理器通过读取机器可读存储介质中存储的机器可执行指令,并通过运行该机器可执行指令,能够实现:在IRF虚拟设备中,分别根据第一报文中的报文信息和第一报文对应的反向报文中的报文信息,经过哈希运算计算出处理第一报文的第一业务板和处理反向报文的第二业务板,如果第一业务板和第二业务板不一致,即第一报文和反向报文没有上送到同一块业务板,则将第一业务板的会话表项同步至第二业务板,基于第一业务板的会话表项,能够对第一报文对应的反向报文进行正确的业务处理,通过会话表项的同步,可以保证在第二业务板上对反向报文正确地进行业务处理,不会将报文丢弃。
另外,相应于上述实施例所提供的报文转发方法,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质用于存储机器可执行指令,所述机器可执行指令被处理器执行时,实现本发明实施例提供的报文转发方法。
本实施例中,机器可读存储介质存储有在运行时执行本发明实施例所提供的报文转发方法的机器可执行指令,因此能够实现:在IRF虚拟设备中,分别根据第一报文中的报文信息和第一报文对应的反向报文中的报文信息,经过哈希运算计算出处理第一报文的第一业务板和处理反向报文的第二业务板,如果第一业务板和第二业务板不一致,即第一报文和反向报文没有上送到同一块业务板,则将第一业务板的会话表项同步至第二业务板,基于第一业务板的会话表项,能够对第一报文对应的反向报文进行正确的业务处理,通过会话表项的同步,可以保证在第二业务板上对反向报文正确地进行业务处理,不会将报文丢弃。
对于IRF虚拟设备以及机器可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、IRF虚拟设备以及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种报文转发方法,其特征在于,应用于智能弹性架构IRF虚拟设备,所述方法包括:
对接收到的第一报文中的报文信息进行哈希运算,确定处理所述第一报文的第一业务板;
在根据所述第一业务板对所述第一报文进行地址转换处理得到的报文信息,转发所述第一报文后,接收所述第一报文对应的反向报文,并对所述反向报文中的报文信息进行所述哈希运算,确定处理所述反向报文的第二业务板;
判断所述第二业务板与所述第一业务板是否一致;
若不一致,则将所述第一业务板的会话表项同步至所述第二业务板,在所述第二业务板确定所述反向报文匹配所述会话表项,并基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
2.根据权利要求1所述的方法,其特征在于,在所述判断所述第二业务板与所述第一业务板是否一致之后,所述方法还包括:
若所述第二业务板与所述第一业务板一致,则在所述第二业务板基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一业务板的会话表项同步至所述第二业务板,包括:
判断所述第一业务板与所述第二业务板是否包含于所述IRF虚拟设备中的同一成员设备;
若是,则直接将所述第一业务板的会话表项同步至所述第二业务板;
若否,则通过IRF堆叠线,将所述第一业务板的会话表项同步至所述第二业务板。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二业务板不存在与所述反向报文匹配的会话表项,则向所述IRF虚拟设备中除所述第二业务板之外的其他所有的业务板复制所述反向报文;
若其他业务板确定存在与所述反向报文匹配的会话表项,则所述其他业务板中存在所述匹配的会话表项的第三业务板根据所述匹配的会话表项处理所述反向报文。
5.根据权利要求4所述的方法,其特征在于,所述向所述IRF虚拟设备中除所述第二业务板之外的其他所有的业务板复制所述反向报文,包括:
判断所述其他业务板与所述第二业务板是否包含于所述IRF虚拟设备中的同一成员设备;
若是,则直接将所述反向报文复制至所述其他业务板;
若否,则通过IRF堆叠线,将所述反向报文复制至所述其他业务板。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述其他所有的业务板均不存在与所述反向报文匹配的会话表项,则丢弃所述反向报文。
7.一种报文转发装置,其特征在于,应用于IRF虚拟设备,所述装置包括:
运算模块,用于对接收到的第一报文中的报文信息进行哈希运算,确定处理所述第一报文的第一业务板;在根据所述第一业务板对所述第一报文进行地址转换处理得到的报文信息,转发所述第一报文后,接收所述第一报文对应的反向报文,并对所述反向报文中的报文信息进行所述哈希运算,确定处理所述反向报文的第二业务板;
判断模块,用于判断所述第二业务板与所述第一业务板是否一致;
转发模块,用于若所述判断模块的判断结果为不一致,则将所述第一业务板的会话表项同步至所述第二业务板,在所述第二业务板确定所述反向报文匹配所述会话表项,并基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
8.根据权利要求7所述的装置,其特征在于,所述转发模块,还用于:
若所述第二业务板与所述第一业务板一致,则在所述第二业务板基于所述会话表项对所述反向报文进行地址转换处理后,转发所述反向报文。
9.根据权利要求7所述的装置,其特征在于,所述转发模块,具体用于:
判断所述第一业务板与所述第二业务板是否包含于所述IRF虚拟设备中的同一成员设备;
若是,则直接将所述第一业务板的会话表项同步至所述第二业务板;
若否,则通过IRF堆叠线,将所述第一业务板的会话表项同步至所述第二业务板。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
复制模块,用于若所述第二业务板不存在与所述反向报文匹配的会话表项,则向所述IRF虚拟设备中除所述第二业务板之外的其他所有的业务板复制所述反向报文;
所述转发模块,还用于若其他业务板确定存在与所述反向报文匹配的会话表项,则所述其他业务板中存在所述匹配的会话表项的第三业务板根据所述匹配的会话表项处理所述反向报文。
11.根据权利要求10所述的装置,其特征在于,所述复制模块,具体用于:
判断所述其他业务板与所述第二业务板是否包含于所述IRF虚拟设备中的同一成员设备;
若是,则直接将所述反向报文复制至所述其他业务板;
若否,则通过IRF堆叠线,将所述反向报文复制至所述其他业务板。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
丢弃模块,用于若所述其他所有的业务板均不存在与所述反向报文匹配的会话表项,则丢弃所述反向报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811120993.0A CN109218205A (zh) | 2018-09-26 | 2018-09-26 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811120993.0A CN109218205A (zh) | 2018-09-26 | 2018-09-26 | 一种报文转发方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109218205A true CN109218205A (zh) | 2019-01-15 |
Family
ID=64981491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811120993.0A Pending CN109218205A (zh) | 2018-09-26 | 2018-09-26 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218205A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981463A (zh) * | 2019-02-25 | 2019-07-05 | 网易(杭州)网络有限公司 | 信息处理方法、装置、网关及存储介质 |
CN110177047A (zh) * | 2019-05-27 | 2019-08-27 | 北京字节跳动网络技术有限公司 | 报文发送方法、装置、电子设备和计算机可读存储介质 |
CN110430135A (zh) * | 2019-07-08 | 2019-11-08 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN111711577A (zh) * | 2020-07-24 | 2020-09-25 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112887229A (zh) * | 2021-01-11 | 2021-06-01 | 杭州迪普科技股份有限公司 | 一种会话信息同步方法及装置 |
CN113708975A (zh) * | 2021-09-08 | 2021-11-26 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及电子设备 |
CN114363433A (zh) * | 2021-12-24 | 2022-04-15 | 山石网科通信技术股份有限公司 | 网络资源的分配方法、装置、存储介质及处理器 |
CN115412526A (zh) * | 2022-08-17 | 2022-11-29 | 北京天融信网络安全技术有限公司 | 分布式系统中的nat处理方法、装置、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197664A (zh) * | 2008-01-03 | 2008-06-11 | 杭州华三通信技术有限公司 | 一种密钥管理协议协商的方法、系统和装置 |
CN101695029A (zh) * | 2009-10-22 | 2010-04-14 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、主从倒换方法及通信系统以及相关设备 |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN104580550A (zh) * | 2014-12-30 | 2015-04-29 | 北京天融信科技有限公司 | 分布式系统中多业务板分流时的nat处理方法及设备 |
CN106506352A (zh) * | 2016-10-12 | 2017-03-15 | 杭州迪普科技股份有限公司 | 一种转发报文的方法及装置 |
CN107733808A (zh) * | 2017-11-20 | 2018-02-23 | 新华三技术有限公司 | 一种流量传输方法及装置 |
-
2018
- 2018-09-26 CN CN201811120993.0A patent/CN109218205A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197664A (zh) * | 2008-01-03 | 2008-06-11 | 杭州华三通信技术有限公司 | 一种密钥管理协议协商的方法、系统和装置 |
CN101695029A (zh) * | 2009-10-22 | 2010-04-14 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、主从倒换方法及通信系统以及相关设备 |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN104580550A (zh) * | 2014-12-30 | 2015-04-29 | 北京天融信科技有限公司 | 分布式系统中多业务板分流时的nat处理方法及设备 |
CN106506352A (zh) * | 2016-10-12 | 2017-03-15 | 杭州迪普科技股份有限公司 | 一种转发报文的方法及装置 |
CN107733808A (zh) * | 2017-11-20 | 2018-02-23 | 新华三技术有限公司 | 一种流量传输方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981463A (zh) * | 2019-02-25 | 2019-07-05 | 网易(杭州)网络有限公司 | 信息处理方法、装置、网关及存储介质 |
CN109981463B (zh) * | 2019-02-25 | 2021-07-27 | 网易(杭州)网络有限公司 | 信息处理方法、装置、网关及存储介质 |
CN110177047A (zh) * | 2019-05-27 | 2019-08-27 | 北京字节跳动网络技术有限公司 | 报文发送方法、装置、电子设备和计算机可读存储介质 |
CN110177047B (zh) * | 2019-05-27 | 2022-03-04 | 北京字节跳动网络技术有限公司 | 报文发送方法、装置、电子设备和计算机可读存储介质 |
CN110430135B (zh) * | 2019-07-08 | 2021-10-26 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN110430135A (zh) * | 2019-07-08 | 2019-11-08 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN111711577A (zh) * | 2020-07-24 | 2020-09-25 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN111711577B (zh) * | 2020-07-24 | 2022-07-22 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112887229A (zh) * | 2021-01-11 | 2021-06-01 | 杭州迪普科技股份有限公司 | 一种会话信息同步方法及装置 |
CN112887229B (zh) * | 2021-01-11 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种会话信息同步方法及装置 |
CN113708975A (zh) * | 2021-09-08 | 2021-11-26 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及电子设备 |
CN114363433A (zh) * | 2021-12-24 | 2022-04-15 | 山石网科通信技术股份有限公司 | 网络资源的分配方法、装置、存储介质及处理器 |
CN115412526A (zh) * | 2022-08-17 | 2022-11-29 | 北京天融信网络安全技术有限公司 | 分布式系统中的nat处理方法、装置、电子设备及介质 |
CN115412526B (zh) * | 2022-08-17 | 2024-02-02 | 北京天融信网络安全技术有限公司 | 分布式系统中的nat处理方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218205A (zh) | 一种报文转发方法及装置 | |
US11240066B2 (en) | System and method for distributed flow state P2P setup in virtual networks | |
US11463511B2 (en) | Model-based load balancing for network data plane | |
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
US7257817B2 (en) | Virtual network with adaptive dispatcher | |
US7899047B2 (en) | Virtual network with adaptive dispatcher | |
US9880870B1 (en) | Live migration of virtual machines using packet duplication | |
Mizrahi et al. | Time4: Time for sdn | |
CN106134144A (zh) | 可靠性组播数据传送系统以及方法 | |
US20180083856A1 (en) | Detecting packet forwarding path | |
CN104852840A (zh) | 一种控制虚拟机之间互访的方法及装置 | |
CN109194525A (zh) | 一种网络节点配置方法及管理节点 | |
CN109347670A (zh) | 路径追踪方法及装置、电子设备、存储介质 | |
CN111030932B (zh) | 一种数据报文锚定的方法、装置及系统 | |
CN104184729A (zh) | 一种报文处理方法和装置 | |
US11563662B2 (en) | Network latency estimation in distributed computing systems | |
CN116195239A (zh) | 通过分布式弹性中间盒提供模块化网络服务 | |
CN105991629A (zh) | Tcp连接建立方法及装置 | |
CN110311868A (zh) | 业务处理方法、装置、成员设备及机器可读存储介质 | |
CN111740914B (zh) | 一种ospf协议报文分布式处理方法、系统及相关设备 | |
US11431599B2 (en) | Network latency estimation in distributed computing systems | |
Ghaznavi et al. | Constellation: A high performance geo-distributed middlebox framework | |
Tollefson | Utilizing blockchain to design an east/west interface for federated software defined networks | |
CN116584077A (zh) | 分布式计算系统中的网络延迟估计 | |
US10091082B2 (en) | Methods and apparatus to capture data plane information |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190115 |