CN109039917B - 报文查询的方法、装置、设备及存储介质 - Google Patents

报文查询的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109039917B
CN109039917B CN201811125915.XA CN201811125915A CN109039917B CN 109039917 B CN109039917 B CN 109039917B CN 201811125915 A CN201811125915 A CN 201811125915A CN 109039917 B CN109039917 B CN 109039917B
Authority
CN
China
Prior art keywords
query
acl
interface
shunting
matched
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
Application number
CN201811125915.XA
Other languages
English (en)
Other versions
CN109039917A (zh
Inventor
黄正亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201811125915.XA priority Critical patent/CN109039917B/zh
Publication of CN109039917A publication Critical patent/CN109039917A/zh
Application granted granted Critical
Publication of CN109039917B publication Critical patent/CN109039917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了报文查询的方法、装置、设备及存储介质,包括:获取查询条件,查询条件包括查询五元组和查询输入接口;获取与查询五元组匹配,并且与查询输入接口存在交集的分流ACL表项;根据查询输入接口和分流ACL表项生成查询ACL表项;利用查询ACL表项对网络设备接收到的报文进行查询。当查询输入接口是聚合输入接口时,与查询输入接口存在交集的分流ACL表项,可以是以该聚合输入接口作为输入接口的分流ACL表项,也可以包括以该聚合输入接口的成员接口作为输入接口的分流ACL表项,即获得的分流ACL表项全面,因此,所生成的查询ACL表项也全面,提高报文查询结果的准确度。

Description

报文查询的方法、装置、设备及存储介质
技术领域
本申请涉及通信技术领域,特别涉及报文查询的方法、装置、设备及存储介质。
背景技术
访问控制列表(Access Control List,ACL)是一种流量访问控制技术,通过在网络设备内设置ACL表项,当该网络设备接收的报文与ACL表项匹配时,按照该ACL表项指定的报文处理动作对报文进行处理。其中,ACL表项包括分流ACL表项和查询ACL表项。
通常情况下,网络设备中的芯片中,存在两个硬件隔离的分区,一个分区是分流片区,该分流片区中内置有管理员通过用户界面配置的分流ACL表项,该分流ACL表项能够指示所接收的报文的输出接口或者丢弃处理;另一个分区是查询片区,该查询片区中内置有符合管理员设置的查询条件的查询ACL表项,该查询ACL表项能够查询和统计报文的转发路径。
其中,分流ACL表项是由管理员通过用户界面配置的。而查询ACL表项并不是由管理员直接配置的,而是由管理员在用户界面配置查询条件,将分流ACL表项与查询条件进行匹配,将匹配查询条件的分流ACL表项作为查询ACL表项。
按照上述方式获得查询ACL表项存在如下问题:若网络设备中存在聚合接口(聚合输入接口,聚合输出接口),查询条件中的接口与分流ACL接口不能完全匹配时,例如查询条件的接口是分流ACL表项中聚合接口中的其中一个成员接口,又或者,例如分流ACL表项是查询条件的聚合接口中的其中一个成员接口,会导致分流ACL表项与查询条件不匹配,所得的查询ACL表项存在遗漏,报文查询结果也会不准确。
发明内容
本申请提供报文查询的方法、装置、设备及存储介质,查询条件中的查询输入接口与分流ACL表项中的输入接口存在交集时,则获取该分流ACL表项生成查询表项,以获得精确的报文查询结果。
具体地,本申请是通过如下技术方案实现的:
本申请第一方面提供一种报文查询的方法,所述方法包括:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
在一个示例中,所述根据所述查询输入接口和所述分流ACL表项生成查询ACL表项包括:
当所述查询输入接口与所述分流ACL表项中的输入接口都是同一个聚合接口时,生成聚合接口中每一个成员接口对应的查询ACL表项,每个所述查询ACL表项包括该查询ACL表项对应的成员接口。
在一个示例中,所述根据所述查询输入接口和所述分流ACL表项生成查询ACL表项包括:
当所述查询输入接口是聚合接口,所述分流ACL表项中的输入接口是所述查询输入接口的一个成员接口;或者,所述分流ACL表项中的输入接口是聚合接口,所述查询输入接口是所述分流ACL表项中的输入接口的一个成员接口时,生成一个包括所述成员接口的查询ACL表项。
在一个示例中,所述查询条件还包括查询输出接口,所述根据所述查询输入接口和所述分流ACL表项生成查询ACL表项包括:
根据所述查询输入接口和所述分流ACL表项生成匹配分流ACL表项;
根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项。
在一个示例中,所述根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项包括:
当所述匹配分流ACL表项的输出接口是聚合接口,所述查询输出接口是所述匹配分流ACL表项的输出接口的一个成员接口时,确定所述匹配分流ACL表项的输出成员接口;
获取以所述查询输出接口为输出成员接口的匹配分流ACL表项作为查询ACL表项。
在一个示例中,所述根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项包括:
当所述匹配分流ACL表项的输出接口和所述查询输出接口都是同一个聚合接口时,确定所述匹配分流ACL表项的输出成员接口;
生成每个输出成员接口对应的查询ACL表项。
在一个示例中,所述确定所述匹配分流ACL表项的输出成员接口包括:
所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
在一个示例中,所述确定所述匹配分流ACL表项的输出成员接口包括:
所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;
根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
本申请第二方面提供一种报文查询的装置,所述装置包括:
获取模块,用于获取查询条件,所述查询条件包括查询五元组和查询输入接口;
匹配模块,用于获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
生成模块,用于根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
查询模块,用于利用所述查询ACL表项对网络设备接收到的报文进行查询。
在一个示例中,所述生成模块包括:
所述第一生成单元,用于当所述查询输入接口与所述分流ACL表项中的输入接口都是同一个聚合接口时,生成聚合接口中每一个成员接口对应的查询ACL表项,每个所述查询ACL表项包括该查询ACL表项对应的成员接口。
在一个示例中,所述生成模块包括:
第二生成单元,用于当所述查询输入接口是聚合接口,所述分流ACL表项中的输入接口是所述查询输入接口的一个成员接口;或者,所述分流ACL表项中的输入接口是聚合接口,所述查询输入接口是所述分流ACL表项中的输入接口的一个成员接口时,生成一个包括所述成员接口的查询ACL表项。
在一个示例中,所述查询条件还包括查询输出接口,所述生成模块包括:
第三生成单元,用于根据所述查询输入接口和所述分流ACL表项生成匹配分流ACL表项;
第四生成单元,用于根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项。
在一个示例中,所述第四生成单元包括:
确定子单元,用于当所述匹配分流ACL表项的输出接口是聚合接口,所述查询输出接口是所述匹配分流ACL表项的输出接口的一个成员接口时,确定所述匹配分流ACL表项的输出成员接口;
第一生成子单元,用于获取以所述查询输出接口为输出成员接口的匹配分流ACL表项生成查询ACL表项。
在一个示例中,所述第四生成单元包括:
确定子单元,用于当所述匹配分流ACL表项的输出接口和所述查询输出接口都是同一个聚合接口时,确定所述匹配分流ACL表项的输出成员接口;
第二生成子单元,用于生成每个输出成员接口对应的查询ACL表项。
在一个示例中,
所述确定子单元,用于所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
在一个示例中,
所述确定子单元,用于所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
本申请第三方面提供一种报文查询的设备,所述设备包括:内部总线,以及通过内部总线连接的存储器、处理器和外部接口;其中,
所述存储器,用于存储文件存储的控制逻辑对应的机器可读指令;
所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
本申请第四方面提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
本申请实施例提供的技术方案,包括:获取查询条件,查询条件包括查询五元组和查询输入接口;获取与查询五元组匹配,并且与查询输入接口存在交集的分流ACL表项;根据查询输入接口和分流ACL表项生成查询ACL表项;利用查询ACL表项对网络设备接收到的报文进行查询。当查询输入接口是聚合输入接口时,与查询输入接口存在交集的分流ACL表项,可以是以该聚合输入接口作为输入接口的分流ACL表项,也可以包括以该聚合输入接口的成员接口作为输入接口的分流ACL表项,即获得的分流ACL表项全面,因此,所生成的查询ACL表项也全面,提高报文查询结果的准确度。
附图说明
图1是本申请实施例示出的报文查询的方法流程图;
图2是本申请实施例示出的报文查询的方法另一流程图;
图3是本申请实施例示出的报文查询的装置结构示意图;
图4为本申请实施例示出的报文查询的设备结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
网络设备的芯片,其分流片区中内置有预先配置的分流ACL表项,当需要查询网络设备所接收的报文的转发路径时,即查询报文进入该网络设备的输入接口,报文从该网络设备转出的输出接口,或对该报文执行丢弃等,获取预先配置的查询条件,根据与该查询条件匹配的分流ACL表项以获得查询ACL表项,将该查询ACL表项下发至网络设备的查询片区,对网络设备接收的报文进行车查询统计。
可以理解的是,若预先配置的查询条件中包括五元组和输入接口中的全部信息,即查询条件包括源IP地址,目的IP地址,源端口号,目的端口号,通信协议,以及输入接口,则若存在,也只存在一个与查询条件匹配的分流ACL表项,将该分流ACL表项下发至查询片区作为查询ACL表项。查询片区对与该查询ACL表项匹配的报文进行统计,其中,统计到的报文的输出接口与该查询ACL表项中的输出接口一致,则可以获得报文的转发路径。
另一种情况下,若预先配置的查询条件中包括五元组和输入接口中的部分信息时,可能存在多个与查询条件匹配的分流ACL表项,获取符合查询条件的所有分流ACL表项。其中,对于任意一个匹配的分流ACL表项,需要执行如下处理:将源IP地址/目的IP地址按照全1掩码(掩码为255.255.255.255)拆分,确定源IP地址/目的IP地址的第一种类数;对于源端口号/目的端口号,取值范围为0~65535,按照取值范围确定源端口号/目的端口号的第二种类数;确定输入接口的第三种类数,计算所有种类数的乘积,则获得查询ACL表项的查询表项个数。则生成查询表项个数的查询ACL表项,每个查询ACL表项中的五元组和输入接口都唯一确定,下发所生成的查询ACL表项,对报文进行查询。
举例说明:表1为本申请示出的网络设备的芯片中预先配置的分流ACL表项。
表1.分流ACL表项示例
Figure BDA0001812382920000071
Figure BDA0001812382920000081
第一实例,查询条件包括五元组和输入接口全部信息:
查询条件:源IP地址为192.168.1.8,目的IP地址为8.1.1.1,通信协议为TCP,源端口号为20000,目的端口号为53,入接口为eth1。
分流ACL表项a的源IP地址与查询条件不匹配,分流ACL表项b与查询条件匹配,其中:源IP地址相同,目的IP地址任意与查询条件目的IP地址8.1.1.1匹配,通信协议相同,源端口号任意与查询条件的源端口号为20000匹配,目的端口号任意与查询条件的目的端口号为53匹配,输入接口相同,分流ACL表项c的目的IP地址与查询条件不匹配,分流ACL表项d的目的IP地址与查询条件不匹配,分流ACL表项e完全匹配。由于分流ACL表项e非常低,因此,匹配查询条件得到的分流ACL表项只有分流ACL表项b。
根据分流ACL表项b和查询条件生成查询ACL表项,所得的查询ACL表项如下:
Figure BDA0001812382920000082
将所生成的查询ACL表项下发至查询片区,对网络设备所接收到的报文进行查询统计。
第二实例,查询条件包括五元组和输入接口部分信息:
查询条件:源IP地址为192.168.1.8,目的IP地址任意,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口任意。
分流ACL表项a和b的通信协议与查询条件不匹配;分流ACL表项c和查询条件匹配,其中,分流ACL表项c的源IP地址任意与查询条件中的源IP地址为192.168.1.8匹配,分流ACL表项c目的IP地址/掩码1.1.1.1/255.255.255.255,与查询条件的目的IP地址任意匹配,分流ACL表项c的通信协议,源端口号,以及目的端口号都为任意,与查询条件通信协议为UDP,源端口号为20000,目的端口号为53分别匹配,分流ACL表项c的输入接口为eth0和eth1,与查询条件的输入接口任意匹配;分流ACL表项d和查询条件匹配,其中,分流ACL表项d的源IP地址与查询条件中的源IP地址匹配,分流ACL表项d目的IP地址/掩码1.1.1.0/255.255.255.0,与查询条件的目的IP地址任意匹配,分流ACL表项d的通信协议UDP与查询条件通信协议为UDP匹配,分流ACL表项d的源端口号,以及目的端口号都为任意,与查询条件源端口号为20000,目的端口号为53分别匹配,分流ACL表项d的输入接口为eth0和eth1,与查询条件的输入接口任意匹配;分流ACL表项e的五元组和输入接口都为任意,与查询条件匹配。因此,匹配查询条件得到的分流ACL表项包括分流ACL表项c,d和e。
根据分流ACL表项c和查询条件生成查询ACL表项,各属性的属性值求交集,源IP地址/掩码为192.168.1.8/255.255.255.255,目的IP地址/掩码为1.1.1.1/255.255.255.255,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口eth0和eth1。源IP地址,目的IP地址,通信协议,源端口号和目的端口号都只有一种,输入接口存在2种,则生成的查询ACL表项有2种。
根据分流ACL表项d和查询条件生成查询ACL表项,各属性的属性值求交集,源IP地址/掩码为192.168.1.8/255.255.255.255,目的IP地址/掩码为1.1.1.0、1.1.1.2~1.1.1.255/255.255.255.255,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口eth0和eth1。源IP地址只有1种,目的IP地址有255种,通信协议,源端口号和目的端口号都只有一种,输入接口存在2种,则生成的查询ACL表项有510种。
根据分流ACL表项e和查询条件生成查询ACL表项,各属性的属性值求交集,源IP地址/掩码为192.168.1.8/255.255.255.255,目的IP地址任意,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口eth0和eth1。源IP地址只有1种,目的IP地址有255种,通信协议,源端口号和目的端口号都只有一种,输入接口任意,则生成的查询ACL表项有1种。
则所生成的查询ACL表项包括:
Figure BDA0001812382920000101
将所属生成的查询ACL表项下发至查询片区,对网络设备接收的报文进行统计,返回如下列表。
Figure BDA0001812382920000102
在上述方式中,无论是查询条件还是分流ACL表项,其中的接口都采用的是明确的接口,若查询条件的接口是分流ACL表项中聚合接口中的其中一个成员接口,又或者,例如分流ACL表项是查询条件的聚合接口中的其中一个成员接口,会导致分流ACL表项与查询条件不匹配,所得的查询ACL表项存在误差,报文查询结果不准确。
为了解决上述问题,本申请提供了报文查询的方案,提高报文查询结果的准确度,下面结合幅图对本申请提供的报文查询的方案进行详细说明。
示例性方法
图1为本申请提供的报文查询的方法流程图,包括:
101:获取查询条件,查询条件包括查询五元组和查询输入接口。
查询条件,是根据实际需要预先配置的查询五元组和查询输入接口。其中,查询五元组和查询输入接口,可以全部都存在指定的属性值;也可以部分存在指定的属性值,其它的属性值为任意。
例如,当需要查询特定源IP地址,目的IP地址,源端口号,目的端口号,通信协议,以及输入接口的报文时,则查询条件中源IP地址,目的IP地址,源端口号,目的端口号,通信协议,以及查询输入接口都会存在指定的属性值。当需要查询特定源IP地址,源端口号,以及通信协议的报文时,查询条件中源IP地址,源端口号,以及通信协议存在特定的属性值,而目的IP地址,目的端口号,以及查询输入接口为任意。
可以理解的是,源IP地址,目的IP地址,源端口号,目的端口号,通信协议,以及查询输入接口的属性值,根据实际情况具体设置,这里不再一一赘述。
102:获取与查询五元组匹配,并且与查询输入接口存在交集的分流ACL表项。
确定与查询五元组匹配的分流ACL表项,实现方法与现有技术类似,参考上述描述,这里不再赘述。
从与查询五元组匹配的分流ACL表项中,获取还与查询输入接口存在交集的分流ACL表项。即,若查询输入接口与分流ACL表项为同一聚合接口,则查询输入接口与分流ACL表项匹配;若查询输入接口为聚合接口,分流ACL表项的输入接口为该查询输入接口的成员接口,则查询输入接口与分流ACL表项匹配;若查询输入接口为聚合接口的成员接口,分流ACL表项的输入接口为该聚合接口,则查询输入接口与分流ACL表项匹配。
103:根据查询输入接口和分流ACL表项生成查询ACL表项。
根据查询输入接口,以及步骤102所获得的分流ACL表项,生成查询ACL表项。
一种场景下,当所述查询输入接口与分流ACL表项中的输入接口都是同一个聚合接口时,生成聚合接口中每一个成员接口对应的查询ACL表项,每个查询ACL表项包括该查询ACL表项对应的成员接口。
查询输入接口与步骤102所获得的分流ACL表项的输入接口都是同一个聚合接口,则表示需要查询从该聚合接口的每一个成员接口接收的报文都需要查询,则需要生成每一个该聚合接口的成员接口对应的查询ACL表项。一个成员接口对应的查询ACL表项中,该成员接口作为该查询ACL表项的输入接口。其中,一个成员接口对应的查询ACL表项,可能为一个,也可能为多个。
另一种场景下,当查询输入接口是聚合接口,分流ACL表项中的输入接口是查询输入接口的一个成员接口时,生成一个包括成员接口的查询ACL表项。
当查询输入接口是聚合接口时,需要查询该聚合接口的每一个成员接口接收的报文;而匹配的得到的分流ACL表项的输入接口为该查询输入接口的一个成员接口时,则只能接收从该聚合接口的成员接口接收的报文,不存在该聚合接口的其它成员接口对应的分流ACL表项,即也只能查询到从该成员接口接收的报文。因此,生成的查询ACL表项的输入接口即为该分流ACL表项中的输入接口,即查询输入接口的成员接口。
又一种场景下,分流ACL表项中的输入接口是聚合接口,查询输入接口是分流ACL表项中的输入接口的一个成员接口时,生成一个包括成员接口的查询ACL表项。
查询输入接口是一个聚合接口的成员接口,分流ACL表项的输入接口是该聚合接口,则表示需要查询该聚合接口的成员接口处所接收的报文,该聚合接口的其它成员接口接收的报文不满足查询条件,是不需要进行查询的报文。因此,只需要生成对应该成员接口的查询ACL表项,所生成的查询ACL表项的输入接口即为该聚合接口的成员接口,即查询输入接口。
其中,除了查询ACL表项的输入接口以外,确定该查询ACL表项的五元组的属性值时,与现有技术类似,参考上述对现有技术的描述,这里不再赘述。
104:利用查询ACL表项对网络设备接收到的报文进行查询。
生成了查询ACL表项后,利用生成的查询ACL表项对网络设备接收到的报文进行查询,由于生成查询ACL表项时,考虑了聚合接口的影响,所生成的查询ACL表项更精确,则用按照上述方式所生成的查询ACL表项对网络设备接收到的报文进行查询,所得的查询结果准确度更高。
这里需要说明的是,上述实现方式中,查询条件中,并未限定输出接口,则查询结果中的输出接口,能够根据查询ACL表项所依据的分流ACL表项确定。若该分流ACL表项中的输出接口为聚合接口的成员接口,则该查询ACL表项的输出接口则为该成员接口。若该分流ACL表项中的输出接口为聚合接口,其一,该分流ACL表项的源IP地址和目的IP地址唯一确定,则根据该唯一的源IP地址和目的IP地址确定查询ACL表项的输出成员接口;其二,该分流ACL表项存在多个源IP地址和目的IP地址,则按照源IP地址和目的IP地址进行拆分,获得多个查询ACL表项,每个查询ACL表项包括唯一的源IP地址和目的IP地址,根据各查询ACL表项的唯一的源IP地址和目的IP地址,确定该查询ACL表项的输出成员接口。
在另一个场景中,该查询条件不仅包括查询五元组和查询输入接口,还包括查询输出接口,图2为本申请示出的的另一个报文查询的方法流程图,包括:
201:获取查询条件,查询条件包括查询五元组,查询输入接口和查询输出接口。
查询条件,是根据实际需要预先配置的查询五元组和查询输入接口。其中,查询五元组和查询输入接口,可以全部都存在指定的属性值;也可以部分存在指定的属性值,其它的属性值为任意。
例如,当需要查询特定源IP地址,目的IP地址,源端口号,目的端口号,通信协议,输入接口,以及输出接口的报文时,则查询条件中源IP地址,目的IP地址,源端口号,目的端口号,通信协议,查询输入接口,以及查询输出接口都会存在指定的属性值。当需要查询特定源IP地址,源端口号,通信协议,以及输出接口的报文时,查询条件中源IP地址,源端口号,通信协议以及查询输出接口存在特定的属性值,而目的IP地址,目的端口号,以及查询输入接口为任意。
在图2所示的实例场景中,查询输入接口必须存在预先制定的属性值,可以是聚合接口,也可以是聚合接口的成员接口。可以理解的是,源IP地址,目的IP地址,源端口号,目的端口号,通信协议,查询输入接口,查询输出接口的属性值,根据实际情况具体设置,这里不再一一赘述。
202:获取与查询五元组匹配,并且与查询输入接口存在交集的分流ACL表项。
确定与查询五元组匹配的分流ACL表项,实现方法与现有技术类似,参考上述描述,这里不再赘述。
从与查询五元组匹配的分流ACL表项中,获取还与查询输入接口存在交集的分流ACL表项。即,若查询输入接口与分流ACL表项为同一聚合接口,则查询输入接口与分流ACL表项匹配;若查询输入接口为聚合接口,分流ACL表项的输入接口为该查询输入接口的成员接口,则查询输入接口与分流ACL表项匹配;若查询输入接口为聚合接口的成员接口,分流ACL表项的输入接口为该聚合接口,则查询输入接口与分流ACL表项匹配。
203:根据查询输入接口和分流ACL表项生成匹配分流ACL表项。
根据查询输入接口,以及步骤202所获得的分流ACL表项,生成匹配分流ACL表项。
其一,查询输入接口与步骤202所获得的分流ACL表项的输入接口为同一个确定的输入接口时,可以是同一个特定的非聚合接口,也可以是同一个聚合接口的成员接口,按照现有技术的方式,生成匹配分流ACL表项,该匹配分流ACL表项的输入接口即为该查询输入接口。
其二,查询输入接口与步骤202所获得的分流ACL表项的输入接口都是同一个聚合接口,则表示需要查询从该聚合接口的每一个成员接口接收的报文都需要查询,则需要生成每一个该聚合接口的成员接口对应的匹配分流ACL表项。一个成员接口对应的匹配分流ACL表项中,该成员接口作为该匹配分流ACL表项的输入接口。其中,一个成员接口对应的匹配分流ACL表项,可能为一个,也可能为多个。
其三,当查询输入接口是聚合接口时,需要查询该聚合接口的每一个成员接口接收的报文;而匹配的得到的分流ACL表项的输入接口为该查询输入接口的一个成员接口时,则只能接收从该聚合接口的成员接口接收的报文,不存在该聚合接口的其它成员接口对应的分流ACL表项,即也只能查询到从该成员接口接收的报文。因此,生成的匹配分流ACL表项的输入接口即为该分流ACL表项中的输入接口,即查询输入接口的成员接口。
其四,查询输入接口是一个聚合接口的成员接口,而匹配的到的分流ACL表项的输入接口是该聚合接口,则表示需要查询该聚合接口的成员接口处所接收的报文,该聚合接口的其它成员接口接收的报文不满足查询条件,是不需要进行查询的报文。因此,只需要生成对应该成员接口的匹配分流ACL表项,所生成的匹配分流ACL表项的输入接口即为该聚合接口的成员接口,即查询输入接口。
其中,除了输入接口以外,确定该匹配分流ACL表项的五元组的属性值时,与现有技术类似,参考上述对现有技术的描述,这里不再赘述。
204:根据查询输出接口,以及匹配分流ACL表项生成查询ACL表项。
匹配分流ACL表项中的五元组和输入接口确定,为了能够得到全面的查询结果,还需要进一步确定各匹配分流ACL表项的输出成员接口,以确定该匹配分流ACL表项的输出成员接口是否符合查询条件的查询输出接口。该匹配分流ACL表项的输出成员接口符合查询条件的查询输出接口时,生成对应于该匹配分流ACL表项的查询ACL表项;该匹配分流ACL表项的输出成员接口不符合查询条件的查询输出接口时,无需生成对应于该匹配分流ACL表项的查询ACL表项,即无法得到符合查询条件的查询ACL表项。
根据查询输出接口,以及匹配分流ACL表项生成查询ACL表项,至少存在如下三种可能的实现方式。
在第一种可能的实现方式中,当所述匹配分流ACL表项的输出接口是聚合接口,所述查询输出接口是所述匹配分流ACL表项的输出接口的一个成员接口时,确定所述匹配分流ACL表项的输出成员接口;
获取以所述查询输出接口为输出成员接口的匹配分流ACL表项作为查询ACL表项。
对于任意一个步骤203所得的匹配分流ACL表项来说,若匹配分流ACL表项的输出接口是聚合接口,查询输出接口是该聚合接口的一个成员接口。则需要先确定各匹配分流ACL表项的输出成员接口。
确定匹配分流ACL表项的输出成员接口,在一个示例中,所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
若匹配分流ACL表项的源IP地址和目的IP地址唯一确定,则根据源IP地址和目的IP地址,采用聚合算法确定匹配分流ACL表项的输出成员接口。其中,该聚合算法所采用的是现有技术的方法,这里不再赘述。
确定匹配分流ACL表项的输出成员接口,在另一个示例中,所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;
根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
若匹配分流ACL表项的源IP地址是一个地址范围,和/或,目的IP地址是一个地址范围,即源IP地址和目的IP地址不是唯一确定的,则需要先对该匹配分流ACL表项的源IP地址和目的IP地址进行拆分,拆分成多个匹配分流ACL表项,确保每个匹配分流ACL表项存在一个唯一确定的源IP地址和目的IP地址。然后,根据源IP地址和目的IP地址,采用聚类算法,给每一个拆分所得的匹配分流ACL表项确定一个输出成员接口。
确定了匹配分流ACL表项的输出成员接口后,查询条件中的查询输出接口是一个成员接口时,查看匹配分流ACL表项的输出成员接口与查询输出接口是否一致。
如果一致,则与该匹配分流ACL表项匹配的报文符合查询条件,将该匹配分流ACL表项作为查询ACL表项,查询输出接口,匹配分流ACL表项的输出成员接口,以及查询ACL表项的输出接口都相同。
如果不一致,则与该匹配分流ACL表项匹配的报文不符合查询条件,该匹配分流ACL表项不能生成复合查询条件的查询ACL表项,丢弃该匹配分流ACL表项。
在第二种可能的实现方式中,当所述匹配分流ACL表项的输出接口和所述查询输出接口都是同一个聚合接口时,确定所述匹配分流ACL表项的输出成员接口;
生成每个输出成员接口对应的查询ACL表项。
当匹配分流ACL表项的输出接口和查询输出接口是同一个聚合接口时,则需要确定所接收的报文从该聚合接口的哪个成员接口转发出去,得到报文的精确转发路径。因此,需要确定各匹配分流ACL表项的输出成员接口。
确定匹配分流ACL表项的输出成员接口,在一个示例中,所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
若匹配分流ACL表项的源IP地址和目的IP地址唯一确定,则根据源IP地址和目的IP地址,采用聚合算法确定匹配分流ACL表项的输出成员接口。其中,该聚合算法所采用的是现有技术的方法,这里不再赘述。
确定匹配分流ACL表项的输出成员接口,在另一个示例中,所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;
根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
若匹配分流ACL表项的源IP地址是一个地址范围,和/或,目的IP地址是一个地址范围,即源IP地址和目的IP地址不是唯一确定的,则需要先对该匹配分流ACL表项的源IP地址和目的IP地址进行拆分,拆分成多个匹配分流ACL表项,确保每个匹配分流ACL表项存在一个唯一确定的源IP地址和目的IP地址。然后,根据源IP地址和目的IP地址,采用聚类算法,给每一个拆分所得的匹配分流ACL表项确定一个输出成员接口。
确定了匹配分流ACL表项的输出成员接口后,以每个输出成员接口作为输出接口,生成一个查询ACL表项。任意一个所生成的查询ACL表项中,五元组和输入接口与该匹配分流ACL表项的一致,输出接口为按照上述方式确定的该匹配分流ACL表项的一个输出成员接口。
在第三种可能的实现方式中,当查询输出接口是一个聚合接口,匹配分流ACL表项的输出成员接口是该聚合接口的成员接口,与该匹配分流ACL表项匹配的报文,都从该聚合接口的成员接口转发出去,该匹配分流ACL表项的输出成员接口唯一确定,则将该匹配分流ACL表项作为查询ACL表项。
205:利用查询ACL表项对网络设备接收到的报文进行查询。
生成了查询ACL表项后,利用生成的查询ACL表项对网络设备接收到的报文进行查询,由于生成查询ACL表项时,考虑了聚合接口的影响,所生成的查询ACL表项更精确,则用按照上述方式所生成的查询ACL表项对网络设备接收到的报文进行查询,所得的查询结果准确度更高。
为了更好的说明本申请提供的报文查询的方法,下面对上述方式进行举例描述。表2为本申请示出的网络设备的芯片中预先配置的分流ACL表项。
表2.分流ACL表项示例
Figure BDA0001812382920000181
其中,bond1的成员接口为gige0_1,gige0_2,bond2的成员接口为gige0_3,gige0_4。
第三实例:查询条件中未设置查询输出接口。
查询条件:源IP地址为192.168.1.8,目的IP地址为任意,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口为bond2。
其中,分流ACL表项a和b的通信协议与查询条件不匹配。分流ACL表项d和e与查询条件匹配。分流ACL表项c的输入接口gige0_3,是聚合接口bond2的一个成员接口,则分流ACL表项c与查询条件也匹配。所获取的分流ACL表项包括c,d和e,根据分流ACL表项c,d和e生成查询ACL表项。
针对分流ACL表项c,生成的查询ACL表项包括:源IP地址/掩码为192.168.1.8/255.255.255.255,目的IP地址/掩码为1.1.1.1/255.255.255.255,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口为gige0_3。生成1种查询ACL表项。
针对分流ACL表项d,生成的查询ACL表项包括:源IP地址/掩码为192.168.1.8/255.255.255.255,目的IP地址/掩码为1.1.1.0、1.1.1.2~1.1.1.255/255.255.255.255,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口为gige0_3、gige0_4。生成510种查询ACL表项。
针对分流ACL表项e,生成的查询ACL表项包括:源IP地址/掩码为192.168.1.8/255.255.255.255,目的IP地址/掩码为任意,通信协议为UDP,源端口号为20000,目的端口号为53,输入接口为任意。
所得的查询ACL表项如下:
Figure BDA0001812382920000191
Figure BDA0001812382920000201
将所生成的查询ACL表项下发至查询片区,对网络设备所接收到的报文进行查询统计。
第四实例:查询条件设置查询输出接口。
查询条件:源IP地址为任意,目的IP地址为2.2.2.2,通信协议为TCP,源端口号为20000,目的端口号为53,输入接口为bond1,输出接口为bond2。
其中,分流ACL表项a与查询条件匹配,分流ACL表项b,c,d和e都与查询条件不匹配。
针对分流ACL表项a,生成的查询ACL表项,包括:
源IP地址/掩码为192.168.0.0~192.168.0.255/255.255.255.255,目的IP地址/掩码为2.2.2.2/255.255.255.255,通信协议为TCP,源端口号为20000,目的端口号为53,入接口分别为gige0_1,gige0_2。生成510种查询ACL表项。源IP地址不唯一确定,查分后采用聚合算法确定各查询ACL表项的输出成员接口。
所得的查询ACL表项如下:
Figure BDA0001812382920000202
将所生成的查询ACL表项下发至查询片区,对网络设备所接收到的报文进行查询统计。
这里需要说明的是,上述实例仅为了更好的对本申请提供的报文查询的方法进行说明,并不限于上述实例的描述。
实例性装置
图3为本申请提供的报文查询的装置结构示意图,包括:
获取模块301,用于获取查询条件,所述查询条件包括查询五元组和查询输入接口。
匹配模块302,用于获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项。
生成模块303,用于根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
查询模块304,用于利用所述查询ACL表项对网络设备接收到的报文进行查询。
在一个示例中,所述生成模块包括:
所述第一生成单元,用于当所述查询输入接口与所述分流ACL表项中的输入接口都是同一个聚合接口时,生成聚合接口中每一个成员接口对应的查询ACL表项,每个所述查询ACL表项包括该查询ACL表项对应的成员接口。
在一个示例中,所述生成模块包括:
第二生成单元,用于当所述查询输入接口是聚合接口,所述分流ACL表项中的输入接口是所述查询输入接口的一个成员接口;或者,所述分流ACL表项中的输入接口是聚合接口,所述查询输入接口是所述分流ACL表项中的输入接口的一个成员接口时,生成一个包括所述成员接口的查询ACL表项。
在一个示例中,所述查询条件还包括查询输出接口,所述生成模块包括:
第三生成单元,用于根据所述查询输入接口和所述分流ACL表项生成匹配分流ACL表项;
第四生成单元,用于根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项。
在一个示例中,所述第四生成单元包括:
确定子单元,用于当所述匹配分流ACL表项的输出接口是聚合接口,所述查询输出接口是所述匹配分流ACL表项的输出接口的一个成员接口时,确定所述匹配分流ACL表项的输出成员接口;
第一生成子单元,用于获取以所述查询输出接口为输出成员接口的匹配分流ACL表项生成查询ACL表项。
在一个示例中,所述第四生成单元包括:
确定子单元,用于当所述匹配分流ACL表项的输出接口和所述查询输出接口都是同一个聚合接口时,确定所述匹配分流ACL表项的输出成员接口;
第二生成子单元,用于生成每个输出成员接口对应的查询ACL表项。
在一个示例中,所述确定子单元,用于所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
在一个示例中,所述确定子单元,用于所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
图3所示的装置,是与示例性方法中所述的方法对应的装置,具体实现方法与示例性方法所述的方法类似,参考示例性方法中的描述,这里不再赘述。
参见图4,为本申请报文查询的设备的一个实施例示意图,该报文查询的设备可以包括:内部总线410,以及通过内部总线410连接的存储器420、处理器430和外部接口440。
其中,所述存储器420,用于存储文件存储的控制逻辑对应的机器可读指令;
所述处理器430,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
此外,本申请实施例示出的报文查询的流程还可以被包括在计算机可读存储介质中,该存储介质可以与执行指令的处理设备连接,该存储介质上存储有文件存储的控制逻辑对应的机器可读指令,这些指令能够被处理设备执行,上述机器可读指令用于实现如下操作:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
在本申请实施例中,计算机可读存储介质可以是多种形式,比如,在不同的例子中,所述机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,所述的计算机可读介质还可以是纸张或者其他合适的能够打印程序的介质。使用这些介质,这些程序可以被通过电学的方式获取到(例如,光学扫描)、可以被以合适的方式编译、解释和处理,然后可以被存储到计算机介质中。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (18)

1.一种报文查询的方法,其特征在于,所述方法包括:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询输入接口和所述分流ACL表项生成查询ACL表项包括:
当所述查询输入接口与所述分流ACL表项中的输入接口都是同一个聚合接口时,生成聚合接口中每一个成员接口对应的查询ACL表项,每个所述查询ACL表项包括该查询ACL表项对应的成员接口。
3.根据权利要求1所述的方法,其特征在于,所述根据所述查询输入接口和所述分流ACL表项生成查询ACL表项包括:
当所述查询输入接口是聚合接口,所述分流ACL表项中的输入接口是所述查询输入接口的一个成员接口;或者,所述分流ACL表项中的输入接口是聚合接口,所述查询输入接口是所述分流ACL表项中的输入接口的一个成员接口时,生成一个包括所述成员接口的查询ACL表项。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述查询条件还包括查询输出接口,所述根据所述查询输入接口和所述分流ACL表项生成查询ACL表项包括:
根据所述查询输入接口和所述分流ACL表项生成匹配分流ACL表项;
根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项。
5.根据权利要求4所述的方法,其特征在于,所述根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项包括:
当所述匹配分流ACL表项的输出接口是聚合接口,所述查询输出接口是所述匹配分流ACL表项的输出接口的一个成员接口时,确定所述匹配分流ACL表项的输出成员接口;
获取以所述查询输出接口为输出成员接口的匹配分流ACL表项作为查询ACL表项。
6.根据权利要求4所述的方法,其特征在于,所述根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项包括:
当所述匹配分流ACL表项的输出接口和所述查询输出接口都是同一个聚合接口时,确定所述匹配分流ACL表项的输出成员接口;
生成每个输出成员接口对应的查询ACL表项。
7.根据权利要求5-6任意一项所述的方法,其特征在于,所述确定所述匹配分流ACL表项的输出成员接口包括:
所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
8.根据权利要求5-6任意一项所述的方法,其特征在于,所述确定所述匹配分流ACL表项的输出成员接口包括:
所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;
根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
9.一种报文查询的装置,其特征在于,所述装置包括:
获取模块,用于获取查询条件,所述查询条件包括查询五元组和查询输入接口;
匹配模块,用于获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
生成模块,用于根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
查询模块,用于利用所述查询ACL表项对网络设备接收到的报文进行查询。
10.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
第一生成单元,用于当所述查询输入接口与所述分流ACL表项中的输入接口都是同一个聚合接口时,生成聚合接口中每一个成员接口对应的查询ACL表项,每个所述查询ACL表项包括该查询ACL表项对应的成员接口。
11.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
第二生成单元,用于当所述查询输入接口是聚合接口,所述分流ACL表项中的输入接口是所述查询输入接口的一个成员接口;或者,所述分流ACL表项中的输入接口是聚合接口,所述查询输入接口是所述分流ACL表项中的输入接口的一个成员接口时,生成一个包括所述成员接口的查询ACL表项。
12.根据权利要求9-11任意一项所述的装置,其特征在于,所述查询条件还包括查询输出接口,所述生成模块包括:
第三生成单元,用于根据所述查询输入接口和所述分流ACL表项生成匹配分流ACL表项;
第四生成单元,用于根据所述查询输出接口,以及所述匹配分流ACL表项生成查询ACL表项。
13.根据权利要求12所述的装置,其特征在于,所述第四生成单元包括:
确定子单元,用于当所述匹配分流ACL表项的输出接口是聚合接口,所述查询输出接口是所述匹配分流ACL表项的输出接口的一个成员接口时,确定所述匹配分流ACL表项的输出成员接口;
第一生成子单元,用于获取以所述查询输出接口为输出成员接口的匹配分流ACL表项生成查询ACL表项。
14.根据权利要求12所述的装置,其特征在于,所述第四生成单元包括:
确定子单元,用于当所述匹配分流ACL表项的输出接口和所述查询输出接口都是同一个聚合接口时,确定所述匹配分流ACL表项的输出成员接口;
第二生成子单元,用于生成每个输出成员接口对应的查询ACL表项。
15.根据权利要求13-14任意一项所述的装置,其特征在于,
所述确定子单元,用于所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址时,根据该唯一的源IP地址和目的IP地址确定所述匹配分流ACL表项的输出成员接口。
16.根据权利要求13-14任意一项所述的装置,其特征在于,
所述确定子单元,用于所述匹配分流ACL表项包括多个源IP地址和目的IP地址时,对所述匹配分流ACL表项按照源IP地址和目的IP地址进行拆分,获得多个所述匹配分流ACL表项,每个所述匹配分流ACL表项包括唯一的源IP地址和目的IP地址;根据唯一的源IP地址和目的IP地址确定每个所述匹配分流ACL表项的输出成员接口。
17.一种报文查询的设备,其特征在于,所述设备包括:内部总线,以及通过内部总线连接的存储器、处理器和外部接口;其中,
所述存储器,用于存储文件存储的控制逻辑对应的机器可读指令;
所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
18.一种机器可读存储介质,其特征在于,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
获取查询条件,所述查询条件包括查询五元组和查询输入接口;
获取与所述查询五元组匹配,并且与所述查询输入接口存在交集的分流ACL表项;
根据所述查询输入接口和所述分流ACL表项生成查询ACL表项;
利用所述查询ACL表项对网络设备接收到的报文进行查询。
CN201811125915.XA 2018-09-26 2018-09-26 报文查询的方法、装置、设备及存储介质 Active CN109039917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811125915.XA CN109039917B (zh) 2018-09-26 2018-09-26 报文查询的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811125915.XA CN109039917B (zh) 2018-09-26 2018-09-26 报文查询的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109039917A CN109039917A (zh) 2018-12-18
CN109039917B true CN109039917B (zh) 2021-04-27

Family

ID=64618053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811125915.XA Active CN109039917B (zh) 2018-09-26 2018-09-26 报文查询的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109039917B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131045B (zh) * 2019-12-04 2022-04-26 杭州迪普科技股份有限公司 报文转发方法和网络设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357446A (zh) * 2016-09-20 2017-01-25 杭州迪普科技有限公司 一种流量转发路径的获取方法及装置
CN106992915A (zh) * 2016-01-21 2017-07-28 中兴通讯股份有限公司 一种报文解封装处理、数据写入方法及装置
JP2018093440A (ja) * 2016-12-07 2018-06-14 三菱電機インフォメーションシステムズ株式会社 経路解析処理装置および経路解析処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7808929B2 (en) * 2008-09-30 2010-10-05 Oracle America, Inc. Efficient ACL lookup algorithms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992915A (zh) * 2016-01-21 2017-07-28 中兴通讯股份有限公司 一种报文解封装处理、数据写入方法及装置
CN106357446A (zh) * 2016-09-20 2017-01-25 杭州迪普科技有限公司 一种流量转发路径的获取方法及装置
JP2018093440A (ja) * 2016-12-07 2018-06-14 三菱電機インフォメーションシステムズ株式会社 経路解析処理装置および経路解析処理プログラム

Also Published As

Publication number Publication date
CN109039917A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN108206814B (zh) 一种防御dns攻击的方法、装置及系统
EP3035613B1 (en) Ccn routing using hardware-assisted hash tables
CN103825976B (zh) 分布式系统架构中的nat处理方法及装置
CN106790170B (zh) 一种数据包过滤方法及装置
TWI635726B (zh) 巨網路流量偵測方法與軟體定義網路交換器
US10621080B2 (en) Pipelined hash table with reduced collisions
CN109067585B (zh) 一种查询acl表项下发方法及装置
US10659361B2 (en) Packet processing
US20200296041A1 (en) System and method for range matching
CN107579973B (zh) 一种网络空间探测方法、装置及计算设备
US20160156552A1 (en) Flow table entry in software defined networking
CN110061921B (zh) 一种云平台数据包分发方法及系统
WO2018001020A1 (zh) 一种基于聚合链路的报文转发方法和装置
CN105991444A (zh) 业务处理的方法和装置
CN108881036B (zh) 一种基于查表运算的网络通信快速匹配方法及设备
US11606295B2 (en) Search apparatus and method
CN109039917B (zh) 报文查询的方法、装置、设备及存储介质
CN107483341B (zh) 一种跨防火墙报文快速转发方法及装置
JP2016167799A (ja) ネットワークモニタリング方法及び装置、並びにパケットフィルタリング方法及び装置
CN109672594B (zh) IPoE报文处理方法、装置及宽带远程接入服务器
US10091074B2 (en) Hardware acceleration architecture for signature matching applications for deep packet inspection
US20150195122A1 (en) Method and System for Transparent Network Acceleration
CN110086727B (zh) 一种cgn板间负载分担方法及装置
CN107547382B (zh) 一种邻居关系发现方法和装置
EP3026862A1 (en) Routing loop determining method

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