CN110166359B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN110166359B CN110166359B CN201910445847.3A CN201910445847A CN110166359B CN 110166359 B CN110166359 B CN 110166359B CN 201910445847 A CN201910445847 A CN 201910445847A CN 110166359 B CN110166359 B CN 110166359B
- Authority
- CN
- China
- Prior art keywords
- message
- session information
- equipment
- transmitted
- packet
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/38—Flow based routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文转发方法及装置,涉及通信技术领域,应用于第一设备,其中,上述方法包括:接收报文,在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息;若为是,向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。应用本申请实施例提供的方案进行报文转发,在所接收报文属于非对称流量时,也能够有效实现DPI业务。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种报文转发方法及装置。
背景技术
二层转发组网可以将多台设备连接在一起,虚拟化成一台设备,从而使得多台设备的硬件资源和软件处理能力集合在一起,实现多台设备协同工作、统一管理以及不间断维护。
如图1所示的二层转发组网中包括设备1和设备2两台报文转发设备。为了实现流量负载分担,一般路由器R1和R2会配置两个等价路由。这样,当计算机PC1访问PC2时,PC1和PC2之间交互的报文可以通过设备1转发,也可以通过设备2转发,也就是,通过设备1转发报文还是通过设备2转发报文是随机的。因此,可能会出现PC1向PC2发送的上行报文由设备1转发,而PC2向PC1发送的下行报文由设备2转发。
而针对报文执行DPI(Deep Packet Inspection,深度报文检测)业务时,是以流为单位且在流量是对称流量时能够得到较佳的检测效果。其中,对称流量是指上行报文和下行报文走同一路径的流量,也就是,上行报文和下行报文由同一设备转发的流量。可见,上述PC1向PC2发送的上行报文由设备1转发,而PC2向PC1发送的下行报文由设备2转发时,上述上行报文和下行报文为非对称流量。这种情况下,由于上述PC1和PC2之间属于同一会话的两条流为非对称流量,因此,难以针对报文有效执行DPI业务。
发明内容
本申请实施例的目的在于提供一种报文转发方法及装置,以在所接收报文属于非对称流量时,能够有效实现DPI业务。具体技术方案如下:
第一方面,本申请实施例提供了一种报文转发方法,应用于第一设备,所述方法包括:
接收报文,在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息;
若为是,向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
本申请的一个实施例中,在所述第一会话信息不是所述第二设备透传至所述第一设备的会话信息的情况下,还包括:
对所述报文执行DPI业务;
判断所述报文是否为所述第二设备透传的报文;
若为是,向所述第二设备透传执行DPI业务后的所述报文,以使得所述第二设备对接收到的报文进行转发;
若为否,直接转发执行DPI业务后的所述报文。
本申请的一个实施例中,所述判断所述报文是否为所述第二设备透传的报文,包括:
确定所述报文的出接口;
判断所述出接口是否为聚合接口,其中,所述聚合接口对应于所述第一设备所在组网中一台设备的一个物理接口;
若是聚合接口,判断所述出接口是否为所述第一设备的物理接口;
若不是所述第一设备的物理接口,判定所述报文为所述第二设备透传的报文;
若是所述第一设备的物理接口,判定所述报文不为所述第二设备透传的报文;或者,
判断所述报文是否携带有透传标记;
若携带有透传标记,则判定所述报文为所述第二设备透传的报文;否则,判定所述报文不为所述第二设备透传的报文。
本申请的一个实施例中,在所述第一设备本地不存在所述第一会话信息的情况下,还包括:
获得所述报文的会话信息,作为第一会话信息,并向所述第二设备透传所述第一会话信息;
对所述报文执行DPI业务,并转发执行DPI业务后的所述报文。
本申请的一个实施例中,在所述接收报文之后,还包括:
判断是否需要针对所述报文执行DPI业务;
若为是,执行所述在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息的步骤。
第二方面,本申请实施例提供了一种报文转发装置,应用于第一设备,所述装置包括:
报文接收模块,用于接收报文;
会话信息判断模块,用于在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息,若为是,触发报文发送模块;
所述报文发送模块,用于向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
第一报文转发模块,用于接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
本申请的一个实施例中,在所述第一会话信息不是所述第二设备透传至所述第一设备的会话信息的情况下,还包括:
业务执行模块,用于对所述报文执行DPI业务;
第一报文判断模块,用于判断所述报文是否为所述第二设备透传的报文,若为是,触发报文透传模块,若为否,触发第二报文转发模块;
所述报文透传模块,用于向所述第二设备透传执行DPI业务后的所述报文,以使得所述第二设备对接收到的报文进行转发;
所述第二报文转发模块,用于直接转发执行DPI业务后的所述报文。
本申请的一个实施例中,所述第一报文判断模块,
具体用于确定所述报文的出接口;判断所述出接口是否为聚合接口,其中,所述聚合接口对应于所述第一设备所在组网中一台设备的一个物理接口;若是聚合接口,判断所述出接口是否为所述第一设备的物理接口;若不是所述第一设备的物理接口,判定所述报文为所述第二设备透传的报文;若是所述第一设备的物理接口,判定所述报文不为所述第二设备透传的报文;
或者,
具体用于判断所述报文是否携带有透传标记;若携带有透传标记,则判定所述报文为所述第二设备透传的报文;否则,判定所述报文不为所述第二设备透传的报文。
本申请的一个实施例中,在所述第一设备本地不存在所述第一会话信息的情况下,还包括:
会话信息透传模块,用于获得所述报文的会话信息,作为第一会话信息,并向所述第二设备透传所述第一会话信息;
第三报文转发模块,用于对所述报文执行DPI业务,并转发执行DPI业务后的所述报文。
本申请的一个实施例中,所述装置还包括:
第二报文判断模块,用于在所述报文接收模块接收所述报文之后,判断是否需要针对所述报文执行DPI业务,若为是,触发所述会话信息判断模块。
第三方面,本申请实施例提供了一种设备,作为第一设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例所述的报文转发方法步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例所述的报文转发方法步骤。
由以上可见,应用本申请实施例提供的方案转发报文时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息是第二设备透传至第一设备的会话信息,说明第二设备已接收到过上述报文所属流的首包报文。为此,向第二设备透传上述报文,这样第二设备能够获得上述报文所属流的对称流量,进而可以针对上述报文有效执行DPI业务。第二设备针对上述报文执行DPI业务后,向上述第一设备透传执行DPI业务后的上述报文,第一设备对所接收的报文进行转发,进而实现报文转发。所以综上,应用本申请实施例提供的方案进行报文转发时,第一设备所接收报文所属流的首包报文是由第二设备接收的,而上述报文作为非首包报文是由第一设备接收的,所以应用本申请实施例提供的方案不仅能够实现了报文转发,而且实现的是严格意义上的非对称报文转发,除此之外,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种组网结构示意图;
图2a为本申请实施例提供的第一种报文转发方法的流程示意图;
图2b为本申请实施例提供的第二种报文转发方法的流程示意图;
图2c为本申请实施例提供的第三种报文转发方法的流程示意图;
图3a为本申请实施例提供的第一种报文转发装置的结构示意图;
图3b为本申请实施例提供的第二种报文转发装置的结构示意图;
图3c为本申请实施例提供的第三种报文转发装置的结构示意图;
图4为本申请实施例提供的一种设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面首先对本申请实施例中涉及的概念进行说明。
1、第一设备和第二设备
上述第一设备和第二设备可以是组网中用于进行报文转发的任意设备。第一设备和第二设备均可以按照本申请实施例提供的方案进行报文转发。第一设备和第二设备的区别仅仅在于“第一”和“第二”标识性的差异。
例如,上述组网可以是如前述图1所示的组网。这种情况下,上述第一设备可以是图1中的设备1,也可以是图1中的设备2。在上述第一设备是图1中的设备1的情况下,上述第二设备为图1中的设备2,在上述第一设备是图1中的设备2的情况下,上述第二设备为图1中的设备1。
2、透传
透传也称为透明传输(pass-through),是指在通信中不管传输的业务数据内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。
下面通过具体实施例对本申请实施例提供的报文转发方法进行详细说明。
图2a为本申请实施例提供的第一种报文转发方法的流程示意图,该方法应用于第一设备,上述方法包括:
S201:接收报文。
S202:在第一设备本地存在与上述报文相匹配的第一会话信息的情况下,判断上述第一会话信息是否为第二设备透传至第一设备的会话信息,若为是,执行S203。
一个报文的会话信息可以是根据报文的五元组信息、七元组信息等等生成的信息。
例如,上述报文的会话信息是根据报文的五元组信息生成的情况下,上述会话信息中可以包括两组信息,一组信息为上述报文的五元组信息,另一组信息为上述报文的五元组信息中源IP地址和目的IP地址互换、源端口和目的端口互换后的信息。
具体的,上述第一设备在接收到上述报文后,可以获得上述报文的会话信息,并将所获得的会话信息与第一设备本地存储的会话信息进行匹配,若第一设备本地存在与所获得的会话信息一致的会话信息,如,与上述会话信息包括的两组信息中任一组信息一致,则可以认为第一设备本地存在与上述报文相匹配的会话信息,并将上述相匹配的会话信息称为第一会话信息。这种情况下,说明第一设备接收的上述报文不是该报文所属流的首包报文。
反之,若第一设备本地不存在与上述所获得会话信息一致的会话信息,则可以认为第一设备本地不存在与上述报文相匹配的会话信息,这种情况下,说明第一设备接收的上述报文是该报文所属流的首包报文。
第一设备本地存储的会话信息,可以通过以下两种方式获得:
第一种方式,第一设备接收到报文后,可以获得所接收报文的会话信息,并将所获得会话信息与第一设备本地存储的会话信息进行匹配,若第一设备本地不存在与所获得会话信息相一致的会话信息,说明第一设备所接收的上述报文为该报文所属流的首包报文,这种情况下,第一设备可以在本地存储上述所获得的会话信息。
第二种方式,组网中其他用于进行报文转发的设备,例如,上述第二设备,也可能会接收到报文。下面以其他设备为第二设备为例对本方式进行说明。第二设备接收到报文后,也可以参照上述第一种方式所提及的方式获得会话信息,并进行会话信息的存储。除此之外,若第二设备确定所接收的报文为该报文所属流的首包报文,还可以将所获得的会话信息透传至上述第一设备,这样第一设备可以获得会话信息,并在本地存储会话信息。
具体的,第二设备向第一设备透传会话信息之前,可以为会话信息增加透传标识,然后将增加有透传标识的会话信息透传至第一设备,这样第一设备接收并存储会话信息后,可以通过会话信息是否被增加有透传标识,确定第一设备本地存储的会话信息中哪些是由第二设备透传过来的。
另外,第二设备也可以不为会话信息增加透传标识,而是直接透传会话信息本身。第一设备接收到第二设备透传的会话信息后,可以自行为会话信息增加透传标识,这样第一设备仍然可以通过透传标识确定本地存储的会话信息中哪些是由第二设备透传过来的。
鉴于上述情况,本申请的一个实施例中,在判断上述第一会话信息是否为第二设备透传至第一设备的会话信息时,可以通过识别上述第一会话信息是否被增加有透传标识来判断上述第一会话信息是否为第二设备透传至第一设备的会话信息。
S203:向第二设备透传上述报文,以使得第二设备针对上述报文执行DPI业务。
由于第一设备本地存在上述第一会话信息时,说明第一设备接收的上述报文不是该报文所属流的首包报文。另外,又判断得知上述第一会话信息为第二设备透传至第一设备的会话信息时,说明第二设备本地也存在上述第一会话信息,进而说明第二设备接收到过上述报文所属流的首包报文,为此,第二设备中已经存在上述报文所属流的首包报文。鉴于此,第一设备将所接收的上述报文发送至第二设备后,第二设备本地会存在上述报文所属流的对称流量,因此,能够针对上述报文有效执行DPI业务。
具体的,上述DPI业务可以包括业务识别、业务控制和业务统计等等。例如,通过IPS(Intrusion Prevention System,入侵防御系统)进行入侵行为检测并阻断入侵行为、数据过滤、病毒检测与处理等。
S204:接收第二设备透传的执行DPI业务后的上述报文,并转发所接收的报文。
由以上可见,应用本实施例提供的方案转发报文时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息是第二设备透传至第一设备的会话信息,说明第二设备已接收到过上述报文所属流的首包报文。为此,向第二设备透传上述报文,这样第二设备能够获得上述报文所属流的对称流量,进而可以针对上述报文有效执行DPI业务。第二设备针对上述报文执行DPI业务后,向上述第一设备透传执行DPI业务后的上述报文,第一设备对所接收的报文进行转发,进而实现报文转发。所以综上,应用本实施例提供的方案进行报文转发时,第一设备所接收报文所属流的首包报文是由第二设备接收的,而上述报文作为非首包报文是由第一设备接收的,所以应用本实施例提供的方案不仅能够实现了报文转发,而且实现的是严格意义上的非对称报文转发,除此之外,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
本申请的另一个实施例中,参见图2b,提供了第二种报文转发方法的流程示意图,在上述第一会话信息不是第二设备透传至第一设备的会话信息的情况下,说明上述第一会话信息是第一设备自身从所接收的报文中获得的,也就说明第一设备接收到过上述报文所属流的首包报文。
在上述情况下,上述报文转发方法还可以包括:
S205:对上述报文执行DPI业务。
从上述分析可以得知,上述第一会话信息不是第二设备透传至第一设备的会话信息时,第一设备已接收到过上述报文所属流的首包报文。而从前述步骤S202又得知,第一设备接收的上述报文不是该报文所属流的首包报文。这样在第一设备接收到的上述报文为上述首包报文的响应报文的情况下,说明第一设备已获得了上述报文所属流的对称流量。因此,第一设备能够针对上述报文有效执行DPI业务。
S206:判断上述报文是否为第二设备透传的报文,若为是,执行S207,若为否,执行S208。
由于第二设备也可以依照本申请实施例提供的方案进行报文转发,因此,与上述S201-S203中所提及的第一设备的操作类似,第二设备在接收到报文后,也可以在确定第二设备本地存在与所接收报文相匹配的会话信息、且上述相匹配的会话信息为第一设备透传至第二设备的会话信息时,向第一设备透传所接收的报文。
鉴于上述情况,第一设备接收的上述报文可能是由第二设备透传的报文,还有可能是组网中存在交互需求的用户设备等设备发送的报文。
本申请的一个实施例中,第二设备向第一设备透传报文之前,可以为报文增加透传标识,然后将增加有透传标识的报文透传至第一设备,这样第一设备接收报文后,可以通过报文是否被增加有透传标识,确定所接收的报文是否是由第二设备透传的报文。
另外,第二设备也可以不为报文增加透传标识,而是直接透传报文本身。第一设备接收到第二设备透传的报文后,可以自行为报文增加透传标识,这样第一设备仍然可以通过透传标识确定所接收的报文是否是由第二设备透传过来的报文。
鉴于上述情况,本申请的一个实施例中,在判断上述报文是否为第二设备透传的报文时,可以通过识别上述报文是否被增加有透传标识来判断上述报文是否为第二设备透传至第一设备的报文。
本申请的另一个实施例中,还可以在上述第一设备所在的组网中设置聚合接口。上述聚合接口为虚拟接口,可以理解为是对组网中设备的物理接口进行聚合而得到的虚拟接口。本实施例中,上述聚合接口对应于上述第一设备所在组网中一台设备的一个物理接口。
基于上述情况,本实施例中判断上述报文是否为上述第二设备透传的报文时,可以先确定上述报文的出接口,然后判断上述出接口是否为聚合接口;若是聚合接口,判断上述出接口是否为第一设备的物理接口;若不是第一设备的物理接口,说明第一设备接收的上述报文并非用户设备直接发送给第一设备的,因此,可以判定上述报文为第二设备透传的报文;若是第一设备的物理接口,说明第一设备接收的上述报文是用户设备直接发送给第一设备的,可以判定上述报文不为第二设备透传的报文。
具体的,上述出接口可以是根据报文所携带的MAC地址(Media Access ControlAddress,媒体访问控制)查找MAC转发表而得到的。
另外,在上述实施例的基础上,若判断出上述出接口不是聚合接口,则可以通过上述出接口转发执行DPI业务后的上述报文。
S207:向第二设备透传执行DPI业务后的上述报文,以使得第二设备对接收到的报文进行转发。
在上述报文是由第二设备透传至第一设备的报文的情况下,说明上述报文原本是第二设备接收到的,因此,在执行完DPI业务后仍需第二设备进行报文转发。鉴于此,需要将执行DPI业务后的上述报文透传至第二设备。
S208:直接转发执行DPI业务后的上述报文。
在上述报文不是由第二设备透传至第一设备的报文的情况下,说明上述报文原本是第一设备接收到的,因此,在执行完DPI业务后直接进行报文转发即可。
由以上可见,应用本实施例提供的方案进行报文转发时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息不是第二设备透传至第一设备的会话信息的情况下,说明第一设备接收到过上述报文所属流的首包报文。进而第一设备能够获得上述报文所属流的对称流量,因此,能够针对上述报文有效执行DPI业务。除此之外,在上述报文是第二设备透传的报文时,将执行DPI业务后的上述报文再透传回第二设备,由第二设备完成报文转发。在上述报文不是第二设备透传的报文时,直接进行报文转发。所以综上,应用本实施例提供的方案进行报文转发时,不仅能够实现报文转发,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
下面结合图1所示的组网结构示意图,通过具体实例对图2b所示实施例提供的方案进行说明。
假设,图1中设备1接收到报文1,设备1判断其本地存在与上述报文1相匹配的第一会话信息,但是设备1本地存储的第一会话信息中不带有透传标识,也就是说,设备1本地存储的第一会话信息是设备1自身从在报文1之前接收的报文中获得的,从而说明设备1接收到过上述报文1所属流的首包报文,也说明上述报文1不是其所属流的首包报文。
这种情况下,设备1可以结合其之前已经接收到的、且与报文1属于同一流的报文,对报文1执行DPI业务。
在对报文1执行完DPI业务之后,进行报文转发之前,设备1还可以判断上述报文1是否为设备2透传的报文。
若设备1经检测发现上述报文1中带有透传标识,则说明上述报文1是由设备2透传过来的报文,这种情况下向设备2透传执行DPI业务后的上述报文1,这样设备2可以对接收到的报文进行转发。
若设备1经检测发现上述报文1中不带有透传标识,则说明上述报文1不是设备2透传过来的报文,而是PC1或者PC2发送至设备1的报文,这种情况下设备1直接转发执行DPI业务后的上述报文1。
本申请的另一个实施例中,参见图2c,提供了第三种报文转发方法的流程示意图,在第一设备本地不存在第一会话信息的情况下,说明第一设备首次接收到上述报文所属流的流量,也就说,上述报文为该报文所属流的首包报文。
鉴于上述情况,上述报文转发方法还可以包括:
S209:获得上述报文的会话信息,作为第一会话信息,并向第二设备透传上述第一会话信息。
具体的,第一设备向第二设备透传上述第一会话信息时,可以先为上述第一会话信息增加透传标识,然后再将增加透传标识后的第一会话信息透传至第二设备。
当然,第一设备也可以直接向第二设备透传上述第一会话信息,第二设备接收到第一设备透传的第一会话信息后,再自行为上述第一会话信息增加透传标识。
S210:对上述报文执行DPI业务,并转发执行DPI业务后的上述报文。
由于针对报文执行DPI业务时,是以流为单位进行的。在第一设备接收的上述报文为首包报文的情况下,虽然能够执行DPI业务,但是由于第一设备已得到的上述报文所属流的信息不是很多,所以执行DPI业务时,可能不会得到较好的检测效果,为保证后续能够有效执行DPI业务,第一设备除了转发上述报文之外,还可以对上述报文进行报文存储等操作。
由以上可见,应用本实施例提供的方案进行报文转发时,在第一设备本地不存在第一会话信息时,说明第一设备接收的报文为首包报文,这种情况下,第一设备获得第一会话信息后将第一会话信息透传至第二设备,这样后续是第二设备而非第一设备接收到上述报文所属流的非首包报文时,第二设备依然能够成功进行会话信息匹配,从而识别出相匹配的会话信息是否为第一设备透传的会话信息,是第一设备透传的情况下,由第一设备协助第二设备实现DPI业务。也就是,在第二设备所接收报文属于非对称流量时,依然能够有效实现DPI业务。
本申请的一个实施例中,根据实际应用需求,并非需要第一设备针对接收的所有报文均执行DPI业务,为此,在接收上述报文之后,还可以判断是否需要针对上述报文执行DPI业务,若为需要,再执行上述在第一设备本地存在与上述报文相匹配的第一会话信息的情况下,判断第一会话信息是否为第二设备透传至第一设备的会话信息的步骤。
具体的,可以根据预先设定的安全策略判断是否需要针对上述报文执行DPI业务。例如,上述安全策略中可以需要执行DPI业务的报文的源IP地址、目的IP地址等等,当上述报文的源IP地址、目的IP地址等信息与安全策略中规定的源IP地址、目的IP地址等信息一致时,则可以认为需要针对上述报文执行DPI业务。
应用本实施例提供的方案进行报文转发时,并非对所接收的报文均执行DPI业务,从提高报文转发的速度。
与上述报文转发方法相对应,本申请实施例还提供了一种报文转发装置。
图3a为本申请实施例提供的第一种报文转发装置的结构示意图,该装置应用于第一设备,包括:
报文接收模块301,用于接收报文;
会话信息判断模块302,用于在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息,若为是,触发报文发送模块303;
所述报文发送模块303,用于向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
第一报文转发模块304,用于接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
由以上可见,应用本实施例提供的方案转发报文时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息是第二设备透传至第一设备的会话信息,说明第二设备已接收到过上述报文所属流的首包报文。为此,向第二设备透传上述报文,这样第二设备能够获得上述报文所属流的对称流量,进而可以针对上述报文有效执行DPI业务。第二设备针对上述报文执行DPI业务后,向上述第一设备透传执行DPI业务后的上述报文,第一设备对所接收的报文进行转发,进而实现报文转发。所以综上,应用本实施例提供的方案进行报文转发时,第一设备所接收报文所属流的首包报文是由第二设备接收的,而上述报文作为非首包报文是由第一设备接收的,所以应用本实施例提供的方案不仅能够实现了报文转发,而且实现的是严格意义上的非对称报文转发,除此之外,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
本申请的另一个实施例中,参见图3b,提供了第二种报文转发方法的流程示意图,在所述第一会话信息不是所述第二设备透传至所述第一设备的会话信息的情况下,还包括:
业务执行模块305,用于对所述报文执行DPI业务;
第一报文判断模块306,用于判断所述报文是否为所述第二设备透传的报文,若为是,触发报文透传模块307,若为否,触发第二报文转发模块308;
所述报文透传模块307,用于向所述第二设备透传执行DPI业务后的所述报文,以使得所述第二设备对接收到的报文进行转发;
所述第二报文转发模块308,用于直接转发执行DPI业务后的所述报文。
由以上可见,应用本实施例提供的方案进行报文转发时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息不是第二设备透传至第一设备的会话信息的情况下,说明第一设备接收到过上述报文所属流的首包报文。进而第一设备能够获得上述报文所属流的对称流量,因此,能够针对上述报文有效执行DPI业务。除此之外,在上述报文是第二设备透传的报文时,将执行DPI业务后的上述报文再透传回第二设备,由第二设备完成报文转发。在上述报文不是第二设备透传的报文时,直接进行报文转发。所以综上,应用本实施例提供的方案进行报文转发时,不仅能够实现报文转发,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
本申请的一个实施例中,所述第一报文判断模块306,
具体用于确定所述报文的出接口;判断所述出接口是否为聚合接口,其中,所述聚合接口对应于所述第一设备所在组网中一台设备的一个物理接口;若是聚合接口,判断所述出接口是否为所述第一设备的物理接口;若不是所述第一设备的物理接口,判定所述报文为所述第二设备透传的报文;若是所述第一设备的物理接口,判定所述报文不为所述第二设备透传的报文;
或者,
具体用于判断所述报文是否携带有透传标记;若携带有透传标记,则判定所述报文为所述第二设备透传的报文;否则,判定所述报文不为所述第二设备透传的报文。
本申请的另一个实施例中,参见图3c,提供了第三种报文转发方法的流程示意图,在所述第一设备本地不存在所述第一会话信息的情况下,还包括:
会话信息透传模块309,用于获得所述报文的会话信息,作为第一会话信息,并向所述第二设备透传所述第一会话信息;
第三报文转发模块310,用于对所述报文执行DPI业务,并转发执行DPI业务后的所述报文。
由以上可见,应用本实施例提供的方案进行报文转发时,在第一设备本地不存在第一会话信息时,说明第一设备接收的报文为首包报文,这种情况下,第一设备获得第一会话信息后将第一会话信息透传至第二设备,这样后续是第二设备而非第一设备接收到上述报文所属流的非首包报文时,第二设备依然能够成功进行会话信息匹配,从而识别出相匹配的会话信息是否为第一设备透传的会话信息,是第一设备透传的情况下,由第一设备协助第二设备实现DPI业务。也就是,在第二设备所接收报文属于非对称流量时,依然能够有效实现DPI业务。
本申请的另一个实施例中,所述报文转发装置还可以包括:
第二报文判断模块,用于在所述报文接收模块接收所述报文之后,判断是否需要针对所述报文执行DPI业务,若为是,触发所述会话信息判断模块302。
应用本实施例提供的方案进行报文转发时,并非对所接收的报文均执行DPI业务,从提高报文转发的速度。
与上述报文转发方法相对应,本申请实施例还提供了一种设备。
图4为本申请实施例提供的一种设备的结构示意图,作为第一设备,该设备包括:处理器401和机器可读存储介质402,所述机器可读存储介质402存储有能够被所述处理器401执行的机器可执行指令,所述处理器401被所述机器可执行指令促使:实现本申请实施例提供的报文转发方法。
本申请的一个实施例中,提供了一种报文转发方法,应用于第一设备,所述方法包括:
接收报文,在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息;
若为是,向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
需要说明的是,上述处理器401被机器可执行指令促使实现的报文转发方法的其他实施例,与前述方法实施例部分所提及的实施例相同,这里不再赘述。
由以上可见,应用本实施例提供的设备转发报文时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息是第二设备透传至第一设备的会话信息,说明第二设备已接收到过上述报文所属流的首包报文。为此,向第二设备透传上述报文,这样第二设备能够获得上述报文所属流的对称流量,进而可以针对上述报文有效执行DPI业务。第二设备针对上述报文执行DPI业务后,向上述第一设备透传执行DPI业务后的上述报文,第一设备对所接收的报文进行转发,进而实现报文转发。所以综上,应用本实施例提供的方案进行报文转发时,第一设备所接收报文所属流的首包报文是由第二设备接收的,而上述报文作为非首包报文是由第一设备接收的,所以应用本实施例提供的方案不仅能够实现了报文转发,而且实现的是严格意义上的非对称报文转发,除此之外,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
与上述报文转发方法相对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例提供的报文转发方法。
本申请的一个实施例中,提供了一种报文转发方法,应用于第一设备,所述方法包括:
接收报文,在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息;
若为是,向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
需要说明的是,上述机器可执行指令促使处理器实现的报文转发方法的其他实施例,与前述方法实施例部分所提及的实施例相同,这里不再赘述。
由以上可见,执行本实施例提供的机器可读存储介质中存储的机器可执行指令转发报文时,第一设备在接收到报文后,若确定第一设备本地存在与上述报文相匹配的第一会话信息,说明上述报文不是所属流的首包报文。这种情况下,若进一步确定上述第一会话信息是第二设备透传至第一设备的会话信息,说明第二设备已接收到过上述报文所属流的首包报文。为此,向第二设备透传上述报文,这样第二设备能够获得上述报文所属流的对称流量,进而可以针对上述报文有效执行DPI业务。第二设备针对上述报文执行DPI业务后,向上述第一设备透传执行DPI业务后的上述报文,第一设备对所接收的报文进行转发,进而实现报文转发。所以综上,应用本实施例提供的方案进行报文转发时,第一设备所接收报文所属流的首包报文是由第二设备接收的,而上述报文作为非首包报文是由第一设备接收的,所以应用本实施例提供的方案不仅能够实现了报文转发,而且实现的是严格意义上的非对称报文转发,除此之外,还能够在所接收的报文所属流为非对称流量时,有效执行DPI业务。
需要说明的是,上述机器可读存储介质可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,上述机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种报文转发方法,其特征在于,应用于第一设备,所述方法包括:
接收报文,在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息;
若为是,向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
2.根据权利要求1所述的方法,其特征在于,在所述第一会话信息不是所述第二设备透传至所述第一设备的会话信息的情况下,还包括:
对所述报文执行DPI业务;
判断所述报文是否为所述第二设备透传的报文;
若为是,向所述第二设备透传执行DPI业务后的所述报文,以使得所述第二设备对接收到的报文进行转发;
若为否,直接转发执行DPI业务后的所述报文。
3.根据权利要求2所述的方法,其特征在于,所述判断所述报文是否为所述第二设备透传的报文,包括:
确定所述报文的出接口;
判断所述出接口是否为聚合接口,其中,所述聚合接口对应于所述第一设备所在组网中一台设备的一个物理接口;
若是聚合接口,判断所述出接口是否为所述第一设备的物理接口;
若不是所述第一设备的物理接口,判定所述报文为所述第二设备透传的报文;
若是所述第一设备的物理接口,判定所述报文不为所述第二设备透传的报文;或者,
判断所述报文是否携带有透传标记;
若携带有透传标记,则判定所述报文为所述第二设备透传的报文;否则,判定所述报文不为所述第二设备透传的报文。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述第一设备本地不存在所述第一会话信息的情况下,还包括:
获得所述报文的会话信息,作为第一会话信息,并向所述第二设备透传所述第一会话信息;
对所述报文执行DPI业务,并转发执行DPI业务后的所述报文。
5.根据权利要求1-3中任一项所述的方法,其特征在于,在所述接收报文之后,还包括:
判断是否需要针对所述报文执行DPI业务;
若为是,执行所述在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息的步骤。
6.一种报文转发装置,其特征在于,应用于第一设备,所述装置包括:
报文接收模块,用于接收报文;
会话信息判断模块,用于在所述第一设备本地存在与所述报文相匹配的第一会话信息的情况下,判断所述第一会话信息是否为第二设备透传至所述第一设备的会话信息,若为是,触发报文发送模块;
所述报文发送模块,用于向所述第二设备透传所述报文,以使得所述第二设备针对所述报文执行深度报文检测DPI业务;
第一报文转发模块,用于接收所述第二设备透传的执行DPI业务后的所述报文,并转发所接收的报文。
7.根据权利要求6所述的装置,其特征在于,在所述第一会话信息不是所述第二设备透传至所述第一设备的会话信息的情况下,还包括:
业务执行模块,用于对所述报文执行DPI业务;
第一报文判断模块,用于判断所述报文是否为所述第二设备透传的报文,若为是,触发报文透传模块,若为否,触发第二报文转发模块;
所述报文透传模块,用于向所述第二设备透传执行DPI业务后的所述报文,以使得所述第二设备对接收到的报文进行转发;
所述第二报文转发模块,用于直接转发执行DPI业务后的所述报文。
8.根据权利要求7所述的装置,其特征在于,所述第一报文判断模块,
具体用于确定所述报文的出接口;判断所述出接口是否为聚合接口,其中,所述聚合接口对应于所述第一设备所在组网中一台设备的一个物理接口;若是聚合接口,判断所述出接口是否为所述第一设备的物理接口;若不是所述第一设备的物理接口,判定所述报文为所述第二设备透传的报文;若是所述第一设备的物理接口,判定所述报文不为所述第二设备透传的报文;
或者,
具体用于判断所述报文是否携带有透传标记;若携带有透传标记,则判定所述报文为所述第二设备透传的报文;否则,判定所述报文不为所述第二设备透传的报文。
9.根据权利要求6-8中任一项所述的装置,其特征在于,在所述第一设备本地不存在所述第一会话信息的情况下,还包括:
会话信息透传模块,用于获得所述报文的会话信息,作为第一会话信息,并向所述第二设备透传所述第一会话信息;
第三报文转发模块,用于对所述报文执行DPI业务,并转发执行DPI业务后的所述报文。
10.根据权利要求6-8中任一项所述的装置,其特征在于,所述装置还包括:
第二报文判断模块,用于在所述报文接收模块接收所述报文之后,判断是否需要针对所述报文执行DPI业务,若为是,触发所述会话信息判断模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445847.3A CN110166359B (zh) | 2019-05-27 | 2019-05-27 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445847.3A CN110166359B (zh) | 2019-05-27 | 2019-05-27 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166359A CN110166359A (zh) | 2019-08-23 |
CN110166359B true CN110166359B (zh) | 2022-02-25 |
Family
ID=67629153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910445847.3A Active CN110166359B (zh) | 2019-05-27 | 2019-05-27 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166359B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104523B (zh) * | 2020-09-11 | 2022-04-12 | 中国联合网络通信集团有限公司 | 流量透传的检测方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530144A (zh) * | 2015-12-16 | 2016-04-27 | 北京浩瀚深度信息技术股份有限公司 | 非对称路由环境中的业务识别方法和系统 |
CN104145451B (zh) * | 2012-08-23 | 2017-07-14 | 华为技术有限公司 | 报文处理方法、深度包检测请求网元和深度包检测设备 |
CN107948266A (zh) * | 2017-11-17 | 2018-04-20 | 武汉绿色网络信息服务有限责任公司 | 非对称路由环境中http上行流量的处理方法及系统 |
CN108206788A (zh) * | 2016-12-16 | 2018-06-26 | 中国移动通信有限公司研究院 | 一种流量的业务识别方法及相关设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2482497B1 (en) * | 2009-09-21 | 2013-12-04 | Huawei Technologies Co., Ltd. | Data forwarding method, data processing method, system and device thereof |
US9929945B2 (en) * | 2015-07-14 | 2018-03-27 | Microsoft Technology Licensing, Llc | Highly available service chains for network services |
CN106941517A (zh) * | 2017-02-10 | 2017-07-11 | 北京浩瀚深度信息技术股份有限公司 | 一种非对称条件下的五元组话单合成方法及装置 |
-
2019
- 2019-05-27 CN CN201910445847.3A patent/CN110166359B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145451B (zh) * | 2012-08-23 | 2017-07-14 | 华为技术有限公司 | 报文处理方法、深度包检测请求网元和深度包检测设备 |
CN105530144A (zh) * | 2015-12-16 | 2016-04-27 | 北京浩瀚深度信息技术股份有限公司 | 非对称路由环境中的业务识别方法和系统 |
CN108206788A (zh) * | 2016-12-16 | 2018-06-26 | 中国移动通信有限公司研究院 | 一种流量的业务识别方法及相关设备 |
CN107948266A (zh) * | 2017-11-17 | 2018-04-20 | 武汉绿色网络信息服务有限责任公司 | 非对称路由环境中http上行流量的处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110166359A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3516833B1 (en) | Methods, systems, and computer readable media for discarding messages during a congestion event | |
US9369435B2 (en) | Method for providing authoritative application-based routing and an improved application firewall | |
KR102536676B1 (ko) | 패킷 처리 방법 및 장치, 및 관련 디바이스들 | |
US9210180B2 (en) | Techniques for separating the processing of clients' traffic to different zones in software defined networks | |
EP3146682B1 (en) | Method and system for managing flows in a network | |
US10135785B2 (en) | Network security system to intercept inline domain name system requests | |
CN109995746B (zh) | 用于用户数据协议(udp)业务的分组丢失检测 | |
CN110557342B (zh) | 用于分析和减轻丢弃的分组的设备 | |
US10291584B2 (en) | Dynamic prioritization of network traffic based on reputation | |
CN110798400B (zh) | 报文转发方法及装置 | |
CN105991617B (zh) | 使用网络评分来选择安全路径的计算机实施系统及方法 | |
CN108737217B (zh) | 一种抓包方法及装置 | |
CN105991347A (zh) | Dns请求报文的重定向方法和装置 | |
EP3624401B1 (en) | Systems and methods for non-intrusive network performance monitoring | |
Dumne et al. | Cooperative bait detection scheme to prevent collaborative blackhole or grayhole attacks by malicious nodes in MANETs | |
US11245668B1 (en) | Critical firewall functionality management | |
CN110166359B (zh) | 一种报文转发方法及装置 | |
US11818051B2 (en) | Distributed node processing of network traffic | |
CN113452663B (zh) | 基于应用特征的网络业务控制 | |
US11012378B2 (en) | Methods and apparatus for shared buffer allocation in a transport node | |
CN110768975B (zh) | 流量清洗方法、装置、电子设备及机器可读存储介质 | |
CN107888624B (zh) | 一种防护网络安全的方法和装置 | |
US20150215330A1 (en) | Methods and systems of controlling distribution of personal data over network(s) | |
US20230164149A1 (en) | Causing or preventing an update to a network address translation table | |
KR101707073B1 (ko) | Sdn 기반의 에러 탐색 네트워크 시스템 |
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 |