CN114363257A - 隧道报文的五元组匹配方法及装置 - Google Patents
隧道报文的五元组匹配方法及装置 Download PDFInfo
- Publication number
- CN114363257A CN114363257A CN202111642170.6A CN202111642170A CN114363257A CN 114363257 A CN114363257 A CN 114363257A CN 202111642170 A CN202111642170 A CN 202111642170A CN 114363257 A CN114363257 A CN 114363257A
- Authority
- CN
- China
- Prior art keywords
- quintuple
- inner layer
- data
- matching
- outer layer
- 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.)
- Granted
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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开涉及一种隧道报文的五元组匹配方法、装置、电子设备及计算机可读介质。该方法包括:对隧道报文进行解析获取内层五元组数据和外层五元组数据;将所述内层五元组数据和五元组匹配规则进行匹配;在所述内层五元组数据命中规则时,存储内层命中信息;将所述内层五元组数据和所述外层五元组数据进行替换;将所述外层五元组数据和五元组匹配规则进行匹配;在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。本申请涉及的隧道报文的五元组匹配方法、装置、电子设备及计算机可读介质,能够实现隧道报文内和外规则的匹配功能,为隧道报文内层外层命中信息的比较和灵活使用提供了基础。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种隧道报文的五元组匹配方法、装置、电子设备及计算机可读介质。
背景技术
隧道报文的识别与其五元组匹配是流控设备的重要功能之一,根据内外层五元组匹配方式不同,分为内、外层匹配和内或外匹配。内或外则是通过将内层和外层分成两次进行查找匹配,其中内层五元组或外层五元组有一个命中则算作命中。
如图1所示,隧道报文在经过解析模块时,会获得内层与外层的五元组,在进行隧道报文内或外的匹配模式时,外层五元组会跟据储存报文时分配给报文的储存地址一一对应进行储存,内层五元组作为去进行业务匹配的五元组。在内层五元组查找后,通过命中信息与地址对应的外层五元组重组再进行一次查找。
在隧道报文的五元组匹配到规则并获取业务号后,会以业务号为地址匹配查找这个业务对应的隧道报文开关状态(内层,外层,内或外等)来决定这个隧道报文是否真正命中业务。
隧道报文内或外的匹配方案不能有效保留内层五元组业务匹配命中后的业务和规则id,无法进行隧道报文内和外模式的匹配,隧道报文内和外需要内外层命中同一业务才算内和外规则命中,同时隧道报文内和外在规则id计数时,内层和外层的规则id都需要统计,这是现有技术中的隧道报文内且外和内或外匹配都无法实现的。
因此,需要一种新的隧道报文的五元组匹配方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种隧道报文的五元组匹配方法、装置、电子设备及计算机可读介质,能够实现隧道报文内和外规则的匹配功能,为隧道报文内层外层命中信息的比较和灵活使用提供了基础。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种隧道报文的五元组匹配方法,该方法包括:对隧道报文进行解析获取内层五元组数据和外层五元组数据;将所述内层五元组数据和五元组匹配规则进行匹配;在所述内层五元组数据命中规则时,存储内层命中信息;将所述内层五元组数据和所述外层五元组数据进行替换;将所述外层五元组数据和五元组匹配规则进行匹配;在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
在本申请的一种示例性实施例中,在所述内层五元组数据命中规则时,存储内层命中信息,包括:在所述内层五元组数据命中规则时,基于所述隧道报文的存储地址包首地址生成内层命中信息的内层存储地址;将所述内层命中信息存储在所述内层存储地址中。
在本申请的一种示例性实施例中,将所述内层命中信息存储在所述内层存储地址中,包括:将内层命中信息中的命中的业务号、规则标识、隧道报文类型存储在所述内层存储地址中。
在本申请的一种示例性实施例中,将所述内层五元组数据和所述外层五元组数据进行替换之前,还包括:根据内层五元组数据命中的规则确定目标业务;基于所述目标业务获取所述隧道报文对应的报文开关状态。
在本申请的一种示例性实施例中,基于所述目标业务获取所述隧道报文对应的报文开关状态,包括:将所述目标业务的的标识作为地址,由业务隧道表中提取所述目标业务对应的隧道报文的开关状态。
在本申请的一种示例性实施例中,将所述内层五元组数据和所述外层五元组数据进行替换,包括:在所述隧道报文对应的隧道开关状态为“内或外”状态时,在所述内层五元组数据和所述外层五元组数据替换后,所述外层五元组数据携带所述内层命中信息。
在本申请的一种示例性实施例中,在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果,包括:在所述外层五元组数据命中规则时,由内层命中信息中提取内层命中的业务号;由外层命中信息中提取外层命中的业务号;将内层命中的业务号和外层命中的业务号进行比较以生成匹配结果。
在本申请的一种示例性实施例中,将所述内层五元组数据和所述外层五元组数据进行替换,包括:在所述隧道报文对应的隧道开关状态为“内和外”状态时,在所述内层五元组数据和所述外层五元组数据替换后,所述外层五元组数据不携带所述内层命中信息。
在本申请的一种示例性实施例中,在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果,包括:
在所述外层五元组数据命中规则时,由内层存储地址中获取内层命中信息;由外层命中信息中提取外层命中的业务号;将内层命中的业务号和外层命中的业务号进行比较以生成匹配结果。
根据本申请的一方面,提出一种隧道报文的五元组匹配装置,该装置包括:解析模块,用于对隧道报文进行解析获取内层五元组数据和外层五元组数据;内层匹配模块,用于将所述内层五元组数据和五元组匹配规则进行匹配;存储模块,用于在所述内层五元组数据命中规则时,存储内层命中信息;替换模块,用于将所述内层五元组数据和所述外层五元组数据进行替换;外层匹配模块,用于将所述外层五元组数据和五元组匹配规则进行匹配;结果模块,用于在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的隧道报文的五元组匹配方法、装置、电子设备及计算机可读介质,通过对隧道报文进行解析获取内层五元组数据和外层五元组数据;将所述内层五元组数据和五元组匹配规则进行匹配;在所述内层五元组数据命中规则时,存储内层命中信息;将所述内层五元组数据和所述外层五元组数据进行替换;将所述外层五元组数据和五元组匹配规则进行匹配;在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果的方式,能够实现隧道报文内和外规则的匹配功能,为隧道报文内层外层命中信息的比较和灵活使用提供了基础。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中隧道报文的五元组匹配方法的示意图。
图2是根据一示例性实施例示出的一种隧道报文的五元组匹配方法及装置的应用场景图。
图3是根据一示例性实施例示出的一种隧道报文的五元组匹配方法的流程图。
图4是根据另一示例性实施例示出的一种隧道报文的五元组匹配方法的示意图。
图5是根据另一示例性实施例示出的一种隧道报文的五元组匹配方法的流程图。
图6是根据另一示例性实施例示出的一种隧道报文的五元组匹配装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/ 步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
隧道:是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装、传输和解包在内的全过程。
内或外:隧道报文内或外规则,对隧道报文的内外五元组分别进行匹配,有其中一种命中即为命中。
内和外:隧道报文内和外规则,对隧道报文的内外五元组分别进行匹配,必须均命中才是命中。
五元组:TCP/IP协议中数据报文的必要属性元组,包括协议类型、源IP 地址、源端口、目的IP地址、目的端口共五个元素。
包首地址:报文进入流控设备时,储存报文时分配给报文的唯一地址,在报文出设备后地址会释放。
五元组查找:流控设备内部的各种五元组匹配功能,若五元组命中对应规则,则会获得业务号和规则id。
图2是根据一示例性实施例示出的一种隧道报文的五元组匹配方法、装置的应用场景图。
如图2所示,系统架构20可以包括终端设备201、202、203,网络204 和匹配设备205。网络204用以在终端设备202、202、203和匹配设备205 之间提供通信链路的介质。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备202、202、203通过网络204与匹配设备205交互,以接收或发送消息等。终端设备202、202、203上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备202、202、203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
匹配设备205可以是提供五元组匹配服务的电子设备,例如网关、交换机、防火墙等等。
匹配设备205可例如对隧道报文进行解析获取内层五元组数据和外层五元组数据;匹配设备205可例如将所述内层五元组数据和五元组匹配规则进行匹配;匹配设备205可例如在所述内层五元组数据命中规则时,存储内层命中信息;匹配设备205可例如将所述内层五元组数据和所述外层五元组数据进行替换;匹配设备205可例如将所述外层五元组数据和五元组匹配规则进行匹配;匹配设备205可例如在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
需要说明的是,本申请实施例所提供的隧道报文的五元组匹配方法可以由匹配设备205执行,相应地,隧道报文的五元组匹配装置可以设置于匹配设备205中。
图3是根据一示例性实施例示出的一种隧道报文的五元组匹配方法的流程图。隧道报文的五元组匹配方法30至少包括步骤S302至S312。图4是针对隧道报文的五元组匹配方法30的步骤进行的辅助描述图。
如图3所示,在S302中,对隧道报文进行解析获取内层五元组数据和外层五元组数据。
在S304中,将所述内层五元组数据和五元组匹配规则进行匹配。
在S306中,在所述内层五元组数据命中规则时,存储内层命中信息。在设备内五元组规则查找完成后,一旦隧道报文命中信息储存模块识别到这个已经匹配完规则的五元组是隧道报文的内层五元组,就会将命中信息中的的业务号、规则id、隧道报文类型跟据包首地址储存在一个RAM中。
在一个实施例中,可在所述内层五元组数据命中规则时,基于所述隧道报文的存储地址包首地址生成内层命中信息的内层存储地址;将所述内层命中信息存储在所述内层存储地址中。在隧道报文内或外匹配方式的基础上,内和外需要对内层五元组的命中信息进行储存。为了让同一条隧道报文的内外层五元组命中信息在使用时能相互对应,在本申请中,使用报文在设备中唯一的存储地址包首地址作为储存内层五元组命中信息的地址。
更具体的,可将内层命中信息中的命中的业务号、规则标识、隧道报文类型存储在所述内层存储地址中。
在S308中,将所述内层五元组数据和所述外层五元组数据进行替换。可根据隧道报文对应的报文开关状态对内层五元组数据和外层五元组数据进行替换。
其中,将所述内层五元组数据和所述外层五元组数据进行替换之前,还包括:根据内层五元组数据命中的规则确定目标业务;基于所述目标业务获取所述隧道报文对应的报文开关状态。
更具体的,将所述目标业务的的标识作为地址,由业务隧道表中提取所述目标业务对应的隧道报文的开关状态。在内层或外层五元组信息命中并匹配到业务后,以命中的业务标识(8位)为地址,去读取一个256宽度的RAM。在这个RAM中保存着每个业务的隧道报文开关状态。
在S310中,将所述外层五元组数据和五元组匹配规则进行匹配。
在S312中,在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。根据外层五元组数据命中的规则,还有外层五元组数据对应的隧道报文的开关状态,综合考虑所述内层命中信息和外层命中信息生成匹配结果。
根据本申请的隧道报文的五元组匹配方法,通过对隧道报文进行解析获取内层五元组数据和外层五元组数据;将所述内层五元组数据和五元组匹配规则进行匹配;在所述内层五元组数据命中规则时,存储内层命中信息;将所述内层五元组数据和所述外层五元组数据进行替换;将所述外层五元组数据和五元组匹配规则进行匹配;在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果的方式,能够实现隧道报文内和外规则的匹配功能,为隧道报文内层外层命中信息的比较和灵活使用提供了基础。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图5是根据另一示例性实施例示出的一种隧道报文的五元组匹配方法的流程图。图5所示的流程50是对图3所示的流程的详细描述。
如图5所示,在S502中,根据内层五元组数据命中的规则确定目标业务。
在S504中,基于所述目标业务获取所述隧道报文对应的报文开关状态。在内层五元组信息命中并匹配到业务后,以命中的业务为地址,由一个256 宽度的RAM中获取该业务的隧道报文开关状态。
在S506中,在所述隧道报文对应的隧道开关状态为“内或外”状态时,在所述内层五元组数据和所述外层五元组数据替换后,所述外层五元组数据携带所述内层命中信息。
在S508中,在所述外层五元组数据命中规则时,由内层命中信息中提取内层命中的业务号;由外层命中信息中提取外层命中的业务号;将内层命中的业务号和外层命中的业务号进行比较以生成匹配结果。
对于隧道报文内或外匹配模式,在外层继续进行查找时,是可以携带着它内层命中的业务号的,因为再次进行查找会跟据五元组规则命中情况对命中信息进行替换,若在内或外开关匹配状态下隧道报文的内层和外层都命中,则会选择算作优先级高的业务作为它所命中的业务,因此是有必要在外层查找时携带其内层命中信息的。
在S510中,在所述隧道报文对应的隧道开关状态为“内和外”状态时,在所述内层五元组数据和所述外层五元组数据替换后,所述外层五元组数据不携带所述内层命中信息。在内层五元组被替换成外层五元组时,将它的命中信息(业务号,规则id,命中标志位)清零,但是存储在内层存储位置的内层信息仍旧存在,只是将暂存的命中信息清零。
而对于内和外的匹配模式,内层在业务命中同时符合内和外开关状态时,内和外规则不是确定命中的,因为外层五元组是否命中同一业务尚不可知。因此如果携带内层五元组的命中信息的话,一旦业务优先级较高,就会影响外层的命中业务选择,从而影响到隧道报文其它开关状态的匹配。而且内和外的匹配需要内外命中相同业务,内层的命中的业务号在之后外层的查找过程中并不需要。所以在确定内层为内和外状态命中时,替换外层五元组时要将内层的命中信息清除。
在S512中,在所述外层五元组数据命中规则时,由内层存储地址中获取内层命中信息;由外层命中信息中提取外层命中的业务号;将内层命中的业务号和外层命中的业务号进行比较以生成匹配结果。
再进行外层五元组规则的匹配查找后,这时外层五元组带着其命中信息,再判断外层命中的业务隧道报文开关状态也是内和外后,读取其对应的内层五元组命中信息,若此时内外五元组所携带的命中信息中业务相同,则视为这条隧道报文命中了内和外规则。
在确定内和外规则命中后,在报文命中信息中多携带一个规则id,两个规则id分别对应内层和外层五元组所命中的规则。
本申请的隧道报文的五元组匹配方法,通过使用包首地址实现对内层命中信息的储存;并且清除内层查找命中内和外开关状态后的命中信息的方式,使得用户可灵活运用已有的隧道报文内外层五元组的命中信息实现对内和外规则的匹配;用户也能灵活对内外层前后两次的命中信息的比较与运用;
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由 CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6是根据另一示例性实施例示出的一种隧道报文的五元组匹配装置的框图。如图6所示,隧道报文的五元组匹配装置60包括:解析模块602,内层匹配模块604,存储模块606,替换模块608,外层匹配模块610,结果模块612。
解析模块602用于对隧道报文进行解析获取内层五元组数据和外层五元组数据;
内层匹配模块604用于将所述内层五元组数据和五元组匹配规则进行匹配;
存储模块606用于在所述内层五元组数据命中规则时,存储内层命中信息;
替换模块608用于将所述内层五元组数据和所述外层五元组数据进行替换;
外层匹配模块610用于将所述外层五元组数据和五元组匹配规则进行匹配;
结果模块612用于在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
根据本申请的隧道报文的五元组匹配装置,通过对隧道报文进行解析获取内层五元组数据和外层五元组数据;将所述内层五元组数据和五元组匹配规则进行匹配;在所述内层五元组数据命中规则时,存储内层命中信息;将所述内层五元组数据和所述外层五元组数据进行替换;将所述外层五元组数据和五元组匹配规则进行匹配;在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果的方式,能够实现隧道报文内和外规则的匹配功能,为隧道报文内层外层命中信息的比较和灵活使用提供了基础。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本申请的这种实施方式的电子设备700。图7 显示的电子设备700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700 的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图3,图5中所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备700’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备700交互的设备通信,和/或该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750 进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络 (例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图8所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:对隧道报文进行解析获取内层五元组数据和外层五元组数据;将所述内层五元组数据和五元组匹配规则进行匹配;在所述内层五元组数据命中规则时,存储内层命中信息;将所述内层五元组数据和所述外层五元组数据进行替换;将所述外层五元组数据和五元组匹配规则进行匹配;在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种隧道报文的五元组匹配方法,其特征在于,包括:
对隧道报文进行解析获取内层五元组数据和外层五元组数据;
将所述内层五元组数据和五元组匹配规则进行匹配;
在所述内层五元组数据命中规则时,存储内层命中信息;
将所述内层五元组数据和所述外层五元组数据进行替换;
将所述外层五元组数据和五元组匹配规则进行匹配;
在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
2.如权利要求1所述的五元组匹配方法,其特征在于,在所述内层五元组数据命中规则时,存储内层命中信息,包括:
在所述内层五元组数据命中规则时,基于所述隧道报文的存储地址包首地址生成内层命中信息的内层存储地址;
将所述内层命中信息存储在所述内层存储地址中。
3.如权利要求2所述的五元组匹配方法,其特征在于,将所述内层命中信息存储在所述内层存储地址中,包括:
将内层命中信息中的命中的业务号、规则标识、隧道报文类型存储在所述内层存储地址中。
4.如权利要求1所述的五元组匹配方法,其特征在于,将所述内层五元组数据和所述外层五元组数据进行替换之前,还包括:
根据内层五元组数据命中的规则确定目标业务;
基于所述目标业务获取所述隧道报文对应的报文开关状态。
5.如权利要求4所述的五元组匹配方法,其特征在于,基于所述目标业务获取所述隧道报文对应的报文开关状态,包括:
将所述目标业务的的标识作为地址,由业务隧道表中提取所述目标业务对应的隧道报文的开关状态。
6.如权利要求1所述的五元组匹配方法,其特征在于,将所述内层五元组数据和所述外层五元组数据进行替换,包括:
在所述隧道报文对应的隧道开关状态为“内或外”状态时,在所述内层五元组数据和所述外层五元组数据替换后,所述外层五元组数据携带所述内层命中信息。
7.如权利要求6所述的五元组匹配方法,其特征在于,在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果,包括:
在所述外层五元组数据命中规则时,由内层命中信息中提取内层命中的业务号;
由外层命中信息中提取外层命中的业务号;
将内层命中的业务号和外层命中的业务号进行比较以生成匹配结果。
8.如权利要求1所述的五元组匹配方法,其特征在于,将所述内层五元组数据和所述外层五元组数据进行替换,包括:
在所述隧道报文对应的隧道开关状态为“内和外”状态时,在所述内层五元组数据和所述外层五元组数据替换后,所述外层五元组数据不携带所述内层命中信息。
9.如权利要求8所述的五元组匹配方法,其特征在于,在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果,包括:
在所述外层五元组数据命中规则时,由内层存储地址中获取内层命中信息;
由外层命中信息中提取外层命中的业务号;
将内层命中的业务号和外层命中的业务号进行比较以生成匹配结果。
10.一种隧道报文的五元组匹配装置,其特征在于,包括:
解析模块,用于对隧道报文进行解析获取内层五元组数据和外层五元组数据;
内层匹配模块,用于将所述内层五元组数据和五元组匹配规则进行匹配;
存储模块,用于在所述内层五元组数据命中规则时,存储内层命中信息;
替换模块,用于将所述内层五元组数据和所述外层五元组数据进行替换;
外层匹配模块,用于将所述外层五元组数据和五元组匹配规则进行匹配;
结果模块,用于在所述外层五元组数据命中规则时,基于所述内层命中信息和外层命中信息生成匹配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642170.6A CN114363257B (zh) | 2021-12-29 | 2021-12-29 | 隧道报文的五元组匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642170.6A CN114363257B (zh) | 2021-12-29 | 2021-12-29 | 隧道报文的五元组匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114363257A true CN114363257A (zh) | 2022-04-15 |
CN114363257B CN114363257B (zh) | 2023-10-17 |
Family
ID=81102889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111642170.6A Active CN114363257B (zh) | 2021-12-29 | 2021-12-29 | 隧道报文的五元组匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363257B (zh) |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009070994A1 (fr) * | 2007-11-30 | 2009-06-11 | Hangzhou H3C Technologies Co., Ltd. | Procédé et dispositif d'appariement de règle de messagerie |
CN101938415A (zh) * | 2010-08-30 | 2011-01-05 | 北京傲天动联技术有限公司 | 网络转发设备的快速转发方法 |
CN104410541A (zh) * | 2014-11-18 | 2015-03-11 | 盛科网络(苏州)有限公司 | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 |
CN104796353A (zh) * | 2014-01-17 | 2015-07-22 | 华为技术有限公司 | 报文转发方法、交换机 |
US9356866B1 (en) * | 2014-01-10 | 2016-05-31 | Juniper Networks, Inc. | Receive packet steering for virtual networks |
CN105874755A (zh) * | 2014-05-19 | 2016-08-17 | 华为技术有限公司 | 数据包转发处理方法及装置 |
WO2017133647A1 (zh) * | 2016-02-06 | 2017-08-10 | 华为技术有限公司 | 一种报文处理方法、流分类器和业务功能实例 |
CN107707479A (zh) * | 2017-10-31 | 2018-02-16 | 北京锐安科技有限公司 | 五元组规则的查找方法及装置 |
CN108076066A (zh) * | 2017-12-27 | 2018-05-25 | 杭州迪普科技股份有限公司 | 一种防护gre报文的方法及装置 |
CN109039916A (zh) * | 2018-09-13 | 2018-12-18 | 迈普通信技术股份有限公司 | 报文转发方法、装置及储存介质 |
CN109617927A (zh) * | 2019-01-30 | 2019-04-12 | 新华三信息安全技术有限公司 | 一种匹配安全策略的方法及装置 |
CN110247908A (zh) * | 2019-06-11 | 2019-09-17 | 优刻得科技股份有限公司 | 基于可编程网络交换技术的数据发送的方法、装置和系统 |
CN110535748A (zh) * | 2019-09-09 | 2019-12-03 | 北京科东电力控制系统有限责任公司 | 一种vpn隧道模式优化方法及系统 |
CN110808963A (zh) * | 2019-10-17 | 2020-02-18 | 新华三信息安全技术有限公司 | 安全策略规则匹配方法、装置及防火墙设备 |
CN111654474A (zh) * | 2020-05-19 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种安全检测的方法和装置 |
CN111817960A (zh) * | 2020-07-23 | 2020-10-23 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112118167A (zh) * | 2020-08-17 | 2020-12-22 | 深圳市风云实业有限公司 | 一种跨网隧道数据快速传输方法 |
CN112398755A (zh) * | 2020-11-23 | 2021-02-23 | 北京锐安科技有限公司 | 一种流量转发方法、业务卡和系统 |
CN112615781A (zh) * | 2020-12-09 | 2021-04-06 | 网宿科技股份有限公司 | 一种在dpdk中实现bgp报文交互的方法及服务器 |
CN112994983A (zh) * | 2021-04-01 | 2021-06-18 | 杭州迪普信息技术有限公司 | 流量统计方法、装置和电子设备 |
KR102270141B1 (ko) * | 2019-12-20 | 2021-06-28 | 주식회사 아라드네트웍스 | 통신 제어 방법 및 이를 이용한 장치 |
CN113452594A (zh) * | 2021-06-28 | 2021-09-28 | 新华三信息安全技术有限公司 | 一种隧道报文的内层报文匹配方法及装置 |
-
2021
- 2021-12-29 CN CN202111642170.6A patent/CN114363257B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009070994A1 (fr) * | 2007-11-30 | 2009-06-11 | Hangzhou H3C Technologies Co., Ltd. | Procédé et dispositif d'appariement de règle de messagerie |
CN101938415A (zh) * | 2010-08-30 | 2011-01-05 | 北京傲天动联技术有限公司 | 网络转发设备的快速转发方法 |
US9356866B1 (en) * | 2014-01-10 | 2016-05-31 | Juniper Networks, Inc. | Receive packet steering for virtual networks |
CN104796353A (zh) * | 2014-01-17 | 2015-07-22 | 华为技术有限公司 | 报文转发方法、交换机 |
CN105874755A (zh) * | 2014-05-19 | 2016-08-17 | 华为技术有限公司 | 数据包转发处理方法及装置 |
CN104410541A (zh) * | 2014-11-18 | 2015-03-11 | 盛科网络(苏州)有限公司 | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 |
WO2017133647A1 (zh) * | 2016-02-06 | 2017-08-10 | 华为技术有限公司 | 一种报文处理方法、流分类器和业务功能实例 |
CN107707479A (zh) * | 2017-10-31 | 2018-02-16 | 北京锐安科技有限公司 | 五元组规则的查找方法及装置 |
CN108076066A (zh) * | 2017-12-27 | 2018-05-25 | 杭州迪普科技股份有限公司 | 一种防护gre报文的方法及装置 |
CN109039916A (zh) * | 2018-09-13 | 2018-12-18 | 迈普通信技术股份有限公司 | 报文转发方法、装置及储存介质 |
CN109617927A (zh) * | 2019-01-30 | 2019-04-12 | 新华三信息安全技术有限公司 | 一种匹配安全策略的方法及装置 |
CN110247908A (zh) * | 2019-06-11 | 2019-09-17 | 优刻得科技股份有限公司 | 基于可编程网络交换技术的数据发送的方法、装置和系统 |
CN110535748A (zh) * | 2019-09-09 | 2019-12-03 | 北京科东电力控制系统有限责任公司 | 一种vpn隧道模式优化方法及系统 |
CN110808963A (zh) * | 2019-10-17 | 2020-02-18 | 新华三信息安全技术有限公司 | 安全策略规则匹配方法、装置及防火墙设备 |
KR102270141B1 (ko) * | 2019-12-20 | 2021-06-28 | 주식회사 아라드네트웍스 | 통신 제어 방법 및 이를 이용한 장치 |
CN111654474A (zh) * | 2020-05-19 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种安全检测的方法和装置 |
CN111817960A (zh) * | 2020-07-23 | 2020-10-23 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112118167A (zh) * | 2020-08-17 | 2020-12-22 | 深圳市风云实业有限公司 | 一种跨网隧道数据快速传输方法 |
CN112398755A (zh) * | 2020-11-23 | 2021-02-23 | 北京锐安科技有限公司 | 一种流量转发方法、业务卡和系统 |
CN112615781A (zh) * | 2020-12-09 | 2021-04-06 | 网宿科技股份有限公司 | 一种在dpdk中实现bgp报文交互的方法及服务器 |
CN112994983A (zh) * | 2021-04-01 | 2021-06-18 | 杭州迪普信息技术有限公司 | 流量统计方法、装置和电子设备 |
CN113452594A (zh) * | 2021-06-28 | 2021-09-28 | 新华三信息安全技术有限公司 | 一种隧道报文的内层报文匹配方法及装置 |
Non-Patent Citations (2)
Title |
---|
余思东;黄欣;万荣泽;: "基于IPv6的入侵检测系统", 桂林电子科技大学学报, no. 03 * |
刘彤;李华伟;李晓维;宫曙光;: "一种基于子元组划分的快速两维包分类算法", 计算机研究与发展, no. 10 * |
Also Published As
Publication number | Publication date |
---|---|
CN114363257B (zh) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9787693B2 (en) | Graph caching | |
CN111817960B (zh) | 流控设备的报文转发方法及装置 | |
EP2215565B1 (en) | Deterministic finite automata (dfa) graph compression | |
US8819217B2 (en) | Intelligent graph walking | |
US7949683B2 (en) | Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph | |
US8655805B2 (en) | Method for classification of objects in a graph data stream | |
US7941606B1 (en) | Identifying a flow identification value mask based on a flow identification value of a packet | |
US20100114973A1 (en) | Deterministic Finite Automata Graph Traversal with Nodal Bit Mapping | |
US8024787B2 (en) | Packet firewalls of particular use in packet switching devices | |
CN110719215B (zh) | 虚拟网络的流信息采集方法及装置 | |
CN107534690A (zh) | 采集域名系统流量 | |
CN114760108B (zh) | 报文匹配方法及装置 | |
CN114285781B (zh) | Srv6业务流量统计方法、装置、电子设备及介质 | |
CN113691589B (zh) | 报文传输方法、装置及系统 | |
CN114124822B (zh) | 报文匹配处理装置及方法 | |
CN114006868B (zh) | 流量筛选方法及装置 | |
CN114338498A (zh) | 基于SRv6的报文处理方法、系统、电子设备及介质 | |
CN114363257B (zh) | 隧道报文的五元组匹配方法及装置 | |
CN114006831B (zh) | 报文数据处理方法及装置 | |
CN114338529B (zh) | 五元组规则匹配方法及装置 | |
CN116600031B (zh) | 报文处理方法、装置、设备及存储介质 | |
CN115225545B (zh) | 一种报文传输方法及装置 | |
CN115250254B (zh) | Netflow报文分发处理方法及装置 | |
KR102229554B1 (ko) | 해시 키 생성 방법 및 그 장치 | |
CN118590438A (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 |