CN116319557A - 一种报文处理方法及分布式设备 - Google Patents
一种报文处理方法及分布式设备 Download PDFInfo
- Publication number
- CN116319557A CN116319557A CN202211104328.9A CN202211104328A CN116319557A CN 116319557 A CN116319557 A CN 116319557A CN 202211104328 A CN202211104328 A CN 202211104328A CN 116319557 A CN116319557 A CN 116319557A
- Authority
- CN
- China
- Prior art keywords
- node
- network message
- configuration information
- speed limiting
- chain configuration
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种报文处理方法及分布式设备,用以实现进入虚拟设备的流量的精准限速。该报文处理方法应用于分布式设备中用于流量限速的限速节点;该方法,包括:接收网络报文;根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;根据所述虚拟设备的限速目标,对所述网络报文进行限速处理;获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;根据所述第一服务链配置信息,确定下一跳节点;将所述网络报文发送给所述下一跳节点。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法及分布式设备。
背景技术
分布式设备典型配置包括2块互为备份的控制板、若干业务板和一块接口板。当一块控制板因为种种原因需要重启时,另一块控制板自动升级为主控板;若干块业务板用来承担转发任务,当其中一块或几块业务板重启或者被拔出时,流量会自动迁移到其他业务板上。这样一台分布式设备的性能相当于多台独立设备性能的叠加,从而成为提供更高转发性能的单台设备,在安全性上也远远高于单台独立设备。
然而分布式设备在进行虚拟化时,每块业务板上都有一个对应的虚拟设备,当需要对虚拟设备进行报文限速时,只能针对单块业务板进行限速操作,而接口板在上送流量时会根据报文的三元组或五元组的哈希计算结果将报文按照一定的规则上送到不同的板上,这样每块板上的流量是不均匀的,极端情况下会出现流量都上送到了一块业务板上而导致其他的业务板上的流量为空的现象,从而导致无法对虚拟设备进行精确的限速。比如,需要对虚拟设备A限速100000pps,那么如果有三块业务板,目前只能做到针对三块业务板分别限速33333pps,但是每块业务板的流量是非均匀的,所以无法做到精确的限速。
因此,如何通过对分布式设备中的流量做限速处理,以实现进入虚拟设备的流量的精准限速是值得考虑的技术问题之一。
发明内容
有鉴于此,本申请提供一种报文处理方法及分布式设备,用以实现进入虚拟设备的流量的精准限速。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种报文处理方法,应用于分布式设备中用于流量限速的限速节点;所述方法,包括:
接收网络报文;
根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;
根据所述虚拟设备的限速目标,对所述网络报文进行限速处理;
获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;
根据所述第一服务链配置信息,确定下一跳节点;
将所述网络报文发送给所述下一跳节点。
根据本申请的第二方面,提供一种报文处理方法,应用于分布式设备中的接口节点,所述方法,包括:
接收外部设备发送的网络报文;
从所述网络报文中解析出MAC地址,根据所述MAC地址确定所述网络报文对应的虚拟设备;
获取所述虚拟设备对应的第二服务链配置信息,所述第二服务链配置信息包括所述分布式设备中处理所述网络报文的处理路径信息;
根据所述第二服务链配置信息,确定下一跳节点;
将所述网络报文发送给所述下一跳节点,所述下一跳节点包括所述分布式设备中的限速节点。
根据本申请的第三方面,提供一种分布式设备,包括限速节点、接口节点和业务节点,其中:
所述限速节点,用于接收网络报文;根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;根据所述虚拟设备的限速目标,对所述网络报文进行限速处理;获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;根据所述第一服务链配置信息,确定下一跳节点;将所述网络报文发送给所述下一跳节点,所述下一跳节点为业务节点或接口节点。
本申请实施例的有益效果:
本申请实施例提供的报文处理方法,在分布式设备中增加限速节点,由该限速节点针对性的对每个虚拟设备的流量进行限速,从而达到精准限速的目标,即,限速节点在接收到网络报文后,会根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;然后根据所述虚拟设备的限速目标,对所述网络报文进行限速处理,从而实现对该虚拟设备的流量的精准限速处理。此外,为了保证网络报文的正常处理,限速节点会获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;这样,限速节点就可以根据所述第一服务链配置信息,确定下一跳节点,从而将网络报文发送给下一跳节点。至此,不仅实现了对虚拟设备的流量的控制,而且也能保证网络报文的正常处理。
附图说明
图1是本申请实施例提供的一种报文处理方法的流程示意图;
图2是本申请实施例提供的另一种报文处理方法的流程示意图;
图3是本申请实施例提供的一种分布式设备的结构示意图;
图4是本申请实施例提供的一种报文不限速的应用场景示意图;
图5是本申请实施例提供的一种发送流量限速的应用场景示意图;
图6是本申请实施例提供的一种接收流量限速的应用场景示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请提供的报文处理方法进行详细地说明。
参见图1,图1是本申请提供的一种报文处理方法的流程图,该方法可以应用于分布式设备中用于流量限速的限速节点中,该限速节点实施该方法时,可包括如下所示步骤:
S101、接收网络报文。
本步骤中,限速节点接收到的网络报文均为需要执行流量限速的报文。
S102、根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备。
本步骤中,由于接收到的网络报文可能会被分配到不同的虚拟设备上,而不同的虚拟设备在实际场景中的设置的限速目标是可能是相同或不同的,因此,为了满足用户针对到达虚拟设备的流量的限速需求,即实现到达虚拟设备的流量的实际限速满足用户针对该虚拟设备的实际限速需求,分布式设备会针对每个虚拟设备进行针对性的限速处理,在此基础之上,限速节点接收到该网络报文后,会从网络报文中解析出目的MAC地址,然后以确定该目的MAC地址对应的虚拟设备。
S103、根据所述虚拟设备的限速目标,对所述网络报文进行限速处理。
本步骤中,为了实现针对不同的虚拟设备有针对性的流量限速,分布式设备会设置主控节点,该主控节点会在限速节点中下发针对每个虚拟设备的流量控制策略,该流量控制策略包括限速目标,这样一来,在基于步骤S102确定出虚拟设备后,就可以获取该虚拟设备的流量控制策略,然后基于该流量控制策略对发往该虚拟设备的网络报文进行流量控制,从而在限速节点上也就实现了对发往每个虚拟设备的流量进行精准限速。
需要说明的是,该主控节点可以为主控板,实际应用中,分布式设备中可以配置2个控制板,其中1个控制板为主控板,另1个是备用板,当主控板发生故障时,备用板自动切换为主控板,承担本分布式设备的业务处理。
需要说明的是,限速节点在进行限速处理时,可以但不限于采用令牌桶算法执行限速过程。
S104、获取所述虚拟设备的第一服务链配置信息。
其中,上述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息。
本步骤中,由于限速节点执行限速处理后,还需要保证该网络报文的正常处理,因此,限速节点中会存储所能处理的虚拟设备的服务链配置信息,例如,限速节点中会记录每个虚拟设备的MAC地址与服务链配置信息之间的对应关系,在此基础上,当从网络报文中解析出虚拟设备的MAC地址后,就可以基于上述对应关系确定出该MAC地址对应的服务链配置信息,为了将该服务链配置信息与后续的其他服务链配置信息相区分,可以将确定出的该虚拟设备的服务链配置信息记为第一服务链配置信息。
具体地,由于分布式设备一般会连接多个虚拟设备,相应地,用于处理该虚拟设备的节点可能有多个,因此,为了方便查找下一跳节点,网络运维人员会在分布式设备中配置的服务链配置信息中写入处理该虚拟设备的网络报文的处理路径信息,然后由主控节点将每个虚拟设备的服务链配置信息下发给对应的节点。这样,限速节点在对网络报文进行限速处理后,需要发送给下一跳节点时,就可以该虚拟设备的第一服务链配置信息。
具体来说,限速节点中可以记录虚拟设备的标识信息与第一服务链配置信息之间的对应关系,然后就可以基于该对应关系确定出步骤S102的虚拟设备对应的第一服务链配置信息。需要说明的是,上述虚拟设备的标识信息可以但不限于为虚拟设备的MAC地址。
S105、根据所述第一服务链配置信息,确定下一跳节点。
本步骤中,在获取到该虚拟设备的第一服务链配置信息后,就可以从中获取到处理路径信息,然后根据该处理路径信息确定处理该网络报文的下一跳节点的节点信息。
以分布式设备包括限速节点、节点1、节点2、节点3和节点4为例进行说明,则用于处理虚拟设备1的网络报文的处理路径信息可以节点1---限速节点---节点2---节点4;用于处理虚拟设备2的网络报文的处理路径信息可以为节点1---节点2---限速节点---节点3等等。以当限速节点解析出的目的MAC地址为虚拟设备1的MAC地址时,虚拟设备1接收到的网络报文为节点1发送的网络报文,通过执行上述步骤S101~S104的限速处理后,在执行本步骤时,可以从虚拟设备1的处理路径信息可知,限速节点的下一跳节点为节点2。
需要说明的是,分布式设备中除了包括主控节点、限速节点外,还包括接口节点和至少一个业务节点,上述节点1~节点4可以但不限于为上述接口节点和业务节点中的一个,但一般情况下,一个路径信息中包含一个接口节点。
S106、将所述网络报文发送给所述下一跳节点。
具体地,在基于步骤S105确定出下一跳节点后,就可以将网络报文发送给下一跳节点,以便下一跳节点对该网络报文执行对应的处理过程。
通过实施本申请提供的报文处理方法,在分布式设备中增加限速节点,由该限速节点针对性的对每个虚拟设备的流量进行限速,从而达到精准限速的目标,即,限速节点在接收到网络报文后,会根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;然后根据所述虚拟设备的限速目标,对所述网络报文进行限速处理,从而实现对该虚拟设备的流量的精准限速处理。此外,为了保证网络报文的正常处理,限速节点会获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;这样,限速节点就可以根据所述第一服务链配置信息,确定下一跳节点,从而将网络报文发送给下一跳节点。至此,不仅实现了对虚拟设备的流量的控制,而且也能保证网络报文的正常处理。
可选地,基于上述实施例,上述第一服务链配置信息还包括第一匹配条件;在此基础上,可以按照下述过程执行步骤S105:利用网络报文的五元组信息匹配第一匹配条件;当匹配成功时,将第一服务链配置信息中的下一跳节点信息对应的下一跳节点确定为下一跳节点。
具体地,为了保证分布式设备的安全性,以及将安全的网络报文发送至虚拟设备时虚拟设备,以保证虚拟设备的安全性,会在第一服务链配置信息中配置匹配条件,为了方便区分将配置的匹配条件记为第一匹配条件,这样,限速节点会在匹配上第一匹配条件时,才会确认下一跳节点。在匹配第一匹配条件时,限速节点可以从网络报文中解析出五元组信息,然后利用该五元组信息来匹配第一匹配条件,当匹配成功时,则再将第一服务链配置信息中处理路径信息中的下一跳节点信息确定为该限速节点的下一跳节点。这样一来,就能够保证流入虚拟设备的网络报文是安全的,从而保证虚拟设备的安全性。
需要说明的是,上述第一匹配条件可以但不限于为安全策略等等。
基于上述任一实施例,当分布式设备包括接口节点和业务节点时,上述网络报文的发送方可以为接口节点或业务节点,当网络报文为接口节点发送的,则下一跳节点为所述业务节点;当网络报文为业务节点发送的,则下一跳节点为接口节点。
具体地,当限速节点接收到接口节点作为入接口节点发送的网络报文时,则表明该网络报文是刚进入分布式设备中,即入方向的网络报文,接口节点将网络报文发送给限速节点后,表明该网络报文是需要限速的,则此时限速节点就可以采用上述任一实施例提供的报文处理方法涉及的步骤来确定下一跳节点,由于该网络报文是进入分布式设备中,因此,此时的下一跳节点为业务节点。当限速节点接收到的是业务节点发送的网络报文时,则表明该网络报文有可能是需要对外发送的网络报文,即出方向的网络报文。由于进入限速节点的网络报文是需要限速的。因此,限速节点在采用上述任一实施例提供的报文处理方法涉及的步骤来确定下一跳节点时,由于该网络报文是从业务节点接收到的,因此,该下一跳节点为接口节点,此时的接口节点作为出接口节点将接收到的网络报文对外发送。
值得注意的是,当限速节点接收的是接口节点作为入接口节点发送的网络报文时,则作为入接口节点的接口节点接收到外边发送的网络报文后,为了确认下一跳节点,该接口节点也会接收到主控节点下发的各虚拟设备的服务链配置信息,这样,当接收到网络报文时,先获取网络报文中的目的MAC地址,并根据MAC地址确定所对应的虚拟设备,然后再获取该虚拟设备的服务链配置信息,由于服务链配置信息中包括处理路径信息,由此接口节点就可以确定出该接口节点的下一跳节点,然后将网络报文发送给下一跳节点,例如发送给限速节点,由限速节点执行限速处理。
基于上述任一实施例,本实施例中,无论是接收流量限速还是发送流量限速,网络报文都只需要经过限速节点一次,所以只要是经过限速节点的报文都需要进行限速处理。由于限速节点上有多个CPU,为提高限速效率可以对CPU进行分类,将限速节点分为用于分发报文的分发中央处理单元CPU和用于流量限速的限速CPU;分发CPU用于将MAC地址为同一虚拟设备的网络报文分发给同一限速CPU,由该限速CPU根据所述虚拟设备的限速目标,对接收到的网络报文进行限速处理。
具体地,分发CPU只负责报文的分发,通过网络报文中的MAC地址可以确定出报文所属的虚拟设备,然后根据设定算法将报文分配给固定的限速CPU。限速CPU只负责报文的限速,由于分发CPU只会把同一个虚拟设备的网络报文分配给固定的限速CPU,所以限速CPU不需要顾及CPU之间的限速数据的同步处理,也就不需要对限速数据进行加锁同步处理,能够极大的提高CPU的使用效率。
需要说明的是,限速节点的处理性能需要大于业务节点处理的性能之和,否则限速节点会成为分布式设备的性能瓶颈,进而导致分布式设备的整体性能下降。此外,由于限速节点只需要做限速处理操作,且对CPU做了分类使用,所以性能会非常高,和其他业务节点使用相同的硬件即可,不需要专门定制。
可选地,上述接口节点可以但不限于为接口板,上述业务节点可以但不限于为业务板。
基于同一发明构思,本申请还提供了一种报文处理方法,应用于分布式设备中的接口节点,该接口节点实施上述方法时可参考图2所示的步骤实施:
S201、接收外部设备发送的网络报文。
S202、从所述网络报文中解析出MAC地址,根据所述MAC地址确定所述网络报文对应的虚拟设备。
本步骤中,分布式设备中接口节点作为入接口节点当接收到外部设备发送的网络报文后,由于需要上送到虚拟设备的,因此,接口节点需要从网络报文中解析出目的MAC地址,然后基于该目的MAC地址就可以确定出网络报文的目的接收方---虚拟设备。
S203、获取所述虚拟设备对应的第二服务链配置信息。
其中,上述第二服务链配置信息包括所述分布式设备中处理所述网络报文的处理路径信息。
本步骤中,由于接口节点接收到网络报文后,是需要发送到其他节点,以由其他节点处理该业务报文的,因此,分布式设备中主控节点会将各虚拟设备的服务链配置信息下发给接口节点,为了与上述第一服务链配置信息相区分,可以将接口节点的服务链配置信息记做第二服务链配置信息。这样,接口节点接收到网络报文后,在基于步骤S202确定出虚拟设备后,就可以确定该虚拟设备对应的第二服务链配置信息。
具体来说,接口节点可以记录虚拟设备与服务链配置信息之间的对应关系,这样,在基于步骤S202确定出虚拟设备后,就可以基于上述对应关系来确定对应的服务链配置信息。
S204、根据所述第二服务链配置信息,确定下一跳节点。
本步骤中,接口节点可以查询该第二服务链配置信息中的处理路径信息,以确定用于处理该网络报文的下一跳节点,确定方法可以参考限速节点中确定下一跳节点的方法,此处不再一一详细说明。
S205、将所述网络报文发送给所述下一跳节点,所述下一跳节点包括所述分布式设备中的限速节点。
本步骤中,在确定出下一跳节点后,就可以将网络报文发送给下一跳节点。
例如,该下一跳节点可以但不限于为限速节点。
通过实施上述提供的报文处理方法,既可以实现了对虚拟设备的流量的控制,而且也能保证网络报文的正常处理。
可选地,基于上述实施例,本实施例中的第二服务链配置信息还包括第二匹配条件;则可以按照下述过程执行步骤S204:利用所述网络报文的五元组信息匹配所述第二匹配条件;当匹配成功时,将所述第二服务链配置信息中的下一跳节点信息对应的下一跳节点确定为所述下一跳节点。
具体地,为了保证分布式设备的安全性,以及将安全的网络报文发送至虚拟设备时虚拟设备,以保证虚拟设备的安全性,会在第二服务链配置信息中配置匹配条件,为了方便区分将配置的匹配条件记为第二匹配条件,这样,接口节点会在匹配上第二匹配条件时,才会确认下一跳节点。在匹配第二匹配条件时,接口节点可以从网络报文中解析出五元组信息,然后利用该五元组信息来匹配第二匹配条件,当匹配成功时,则再将第二服务链配置信息中处理路径信息中的下一跳节点信息确定为该接口节点的下一跳节点。这样一来,就能够保证流入虚拟设备的网络报文是安全的,从而保证虚拟设备的安全性。
需要说明的是,上述第二匹配条件可以但不限于为安全策略等等。
基于上述任一实施例,本实施例中的下一跳节点还可以为业务节点等等。
需要说明的是,当不需要对网络报文进行限速时,即第二服务链配置信息中的处理路径信息不包括限速节点的节点信息时,则此时就不需要将网络报文发送给限速节点,直接发送给业务节点,由业务节点处理后发送给虚拟设备。
可选地,上述接口节点可以但不限于为接口板,上述业务节点可以但不限于为业务板。
基于同一发明构思,本申请还提供了与上述分布式设备,该分布式设备可以但不限于包括限速节点、接口节点和业务节点,参考图3所示,其中:
限速节点,用于接收网络报文;根据网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;根据所述虚拟设备的限速目标,对所述网络报文进行限速处理;获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;根据所述第一服务链配置信息,确定下一跳节点;将所述网络报文发送给所述下一跳节点,所述下一跳节点为业务节点或接口节点。
具体地,上述限速节点可以但不限于为限速板,参考图3所示;上述接口节点可以作为入接口节点也可以作为出接口节点,当既充当出接口也作为入接口时,可以记为图3中的出入口节点,该接口节点可以但不限于为接口板,也请参考图3所示,需要说明的是,该接口节点的数量可以根据所在应用场景进行配置;相应地,上述业务节点可以但不限于为业务板,如图3所示的业务板1~业务板n,n具体取何值可以根据分布式设备所在应用场景来定。
需要说明的是,上述限速节点实施过程可以参考前述限速节点实施报文处理方法中的相关描述,此处不再一一详细说明。
可选地,基于上述实施例,本实施例提供的分布式设备还可以包括主控节点,也请参考图3所示,其中:主控节点,用于为每个虚拟设备配置对应的服务链配置信息;将配置的服务链配置信息下发给用于处理该虚拟设备的网络报文的各节点。
具体地,主控节点当需要对虚拟设备进行限速时,需要针对这个虚拟设备下发一条服务链配置信息,然后分别下发到各节点,如业务节点、限速节点和接口节点,这样每个节点都可以通过查询服务链配置信息获知下一步应该把网络报文发送到哪一个节点。此外,为了让限速节点针对性的执行虚拟设备的限速,主控节点还需要下发针对需要限速的虚拟设备的流量控制策略,该流量控制策略包括限速目标。
需要说明的是,上述主控节点可以包括主用主控板和至少一个备用主控板,也请参考图3所示,当主用主控板故障时,至少一个备用主控板中的一个备用主控板会自动切换为主用主控板。可选地,上述控制板可以但不限于为VCFC控制器。
可选地,基于上述任一实施例,本实施例中的接口节点,用于接收外部设备发送的网络报文;从所述网络报文中解析出MAC地址,根据所述MAC地址确定所述网络报文对应的虚拟设备;获取所述虚拟设备对应的第二服务链配置信息,所述第二服务链配置信息包括所述分布式设备中处理所述网络报文的处理路径信息;根据所述第二服务链配置信息,确定下一跳节点;当所述下一跳节点为限速节点时,则将所述网络报文发送给所述限速节点。
需要说明的是,接口节点只需要对入方向的网络报文进行特殊处理,而对出接口方向的网络报文直接发送即可。具体来说,在收到入方向的网络报文后,通过网络报文的目的MAC地址可以确定网络报文所属的虚拟设备,然后接口节点通过查询服务链配置信息来确认下一跳节点。最后将网络报文发送到下一跳节点即可。如果没查到下一跳节点,则默认网络报文是发送到业务节点的,则将网络报文发送给处理该网络报文的业务节点。
需要说明的是,一个业务节点可以对应多个虚拟设备,相应地,一个虚拟设备可以由多个业务节点来处理流向该虚拟设备的网络报文。
可选地,基于上述任一实施例,本实施例中的限速节点,具体用于当接收到所述接口节点发送的网络报文时,则根据所述第一服务链配置信息,确定出的下一跳节点为业务节点;将所述网络报文发送给所述业务节点,以由所述业务节点对所述网络报文执行业务处理;
该限速节点,还用于当接收到所述业务节点发送的网络报文时,则根据所述第一服务链配置信息,确定出的下一跳节点为接口节点,则将所述网络报文发送给所述接口节点,以由所述接口节点将所述网络报文对外发送。
具体地,接收流量的限速处理过程为:作为入接口的接口节点接收到外部设备发送的网络报文后,该接口节点会从网络报文中解析出目的MAC地址,然后根据该目的MAC地址确定对应的虚拟设备,然后获取该虚拟设备对应的服务链配置信息,从中确定出用于处理该虚拟设备的网络报文的下一跳节点,若该下一跳节点为限速节点,则将该网络报文全部上送到限速节点。这样,限速节点根据配置情况对网络报文进行限速后,再基于对应的服务链配置信息决定将网络报文上送到业务节点还是丢弃处理。当网络报文被上送到业务节点后,业务节点进行相应的业务处理之后,如果需要继续转发则直接将网络报文发送到作为出接口的接口节点,此时就不会再发送给限速节点。由此,既可以实现针对虚拟设备的网络报文的限速处理,同时也保证了报文的正常处理。
而针对发送流量的限速处理过程为:作为入接口的接口节点在收到网络报文后直接将网络报文上送到业务节点,业务节点处理完网络报文后,由于是需要对出方向的流量进行限速处理,则此时如果需要继续转发则将网络报文发送到限速节点,由限速节点根据本申请任一实施例提供的报文处理方法对网络报文进行限速处理,然后再决定将网络报文丢弃或者发送到作为出接口的接口节点。由此,既可以实现针对虚拟设备的网络报文的限速处理,同时也保证了报文的正常处理。
可选地,基于上述任一实施例,无论是接收流量限速还是发送流量限速,网络报文都只需要经过限速节点一次,所以只要是经过限速节点的报文都需要进行限速处理。由于限速节点上有多个CPU,为提高限速效率可以对CPU进行分类,将限速节点分为用于分发报文的分发中央处理单元CPU和用于流量限速的限速CPU,其中:
上述分发CPU,用于将接收到的MAC地址为同一虚拟设备的网络报文分发给同一限速CPU;
上述限速CPU,用于根据所述虚拟设备的限速目标,对接收到的网络报文进行限速处理。
具体地,分发CPU只负责报文的分发,通过网络报文中的MAC地址可以确定出报文所属的虚拟设备,然后根据设定算法将报文分配给固定的限速CPU。限速CPU只负责报文的限速,由于分发CPU只会把同一个虚拟设备的网络报文分配给固定的限速CPU,所以限速CPU不需要顾及CPU之间的限速数据的同步处理,也就不需要对限速数据进行加锁同步处理,能够极大的提高CPU的使用效率。
需要说明的是,限速节点的处理性能需要大于业务节点处理的性能之和,否则限速节点会成为分布式设备的性能瓶颈,进而导致分布式设备的整体性能下降。此外,由于限速节点只需要做限速处理操作,且对CPU做了分类使用,所以性能会非常高,和其他业务节点使用相同的硬件即可,不需要专门定制。
此外,上述业务节点在当前业务处理流程的基础上,只需要在发送网络报文之前查询一下服务链配置信息来确认下一跳节点,然后将网络报文发送给该下一跳节点即可。如果没查到下一跳节点,则默认将网络报文发送给作为出接口的接口节点,以实现对外转发。
值得注意的是,虚拟设备和接口节点是一对多的关系,也就是说某个接口节点只能属于某一个虚拟设备,而不能同一个接口同时属于两个或者两个以上的虚拟设备,否则就没法区分网络报文是属于哪个虚拟设备,而接口节点上的MAC地址是全局唯一的,所以可以通过网络报文中的MAC地址确定网络报文所属的虚拟设备。
为了更好地理解本实施例,请参考图4所示,当主控节点未下发针对任何限速相关的配置,网络报文进入入口节点后,由于网络报文查不到任何服务链配置信息,则会默认需要上送至业务节点,则将网络报文发送给业务节点,参考标号1的报文流向示意。当业务节点做完业务处理且需要转发时也查询不到任何服务链配置信息,则将网络报文默认直接发送给出口节点,参考图4中标号2的报文流向示意,出口节点会将网络报文转发出去。
当需要对发送流量进行限速时,参考图5所示的报文处理示意图,当网络报文进入到入口节点后,入口节点通过网络报文中的目的MAC地址查询到该网络报文所属的虚拟设备后,再通过查询服务链配置信息若确认下一跳节点是业务节点,则将网络报文转发到业务节点,参考图5中标号1的报文流向示意。业务节点执行完业务处理且需要转发时则可以查询服务链配置信息,若确认下一跳节点是限速节点,则将网络报文发送到限速节点,参考图5中标号2所指示的报文流向。这样,限速节点接收到该网络报文后,通过查询网络报文中的目的MAC地址确认网络报文所属的虚拟设备,然后根据算法将网络报文分发给该虚拟设备对应的限速CPU,限速CPU进行限速后,如果需要继续转发则查询服务链配置信息,若发现下一跳节点是出口节点,则将网络报文发送到出口节点,还请参考图5中标号3所指示的报文流向示意,出口节点将接收到的网络报文转发出去。
当需要对接收流量进行限速时,参考图6所示的报文处理示意图,当网络报文进入到入口节点后,入口节点通过网络报文中的目的MAC地址查询到网络报文所属的虚拟设备,再通过查询服务链配置信息,若确认下一跳节点是限速节点,则将网络报文转发给限速节点,如图6中标号1所示的报文流向示意。当限速节点接收到网络报文后,通过网络报文中的目的MAC地址可以查询到网络报文所属的虚拟设备,然后根据算法将网络报文发送给固定的限速CPU,限速CPU进行限速后,如果需要继续转发则查询服务链配置信息,若确认下一跳节点是业务节点,则将网络报文发送到业务节点,如图6所示的标号2的报文流向示意。当业务节点对接收到的网络报文执行完业务处理后,如果需要转发则可以查询服务链配置信息,若查询到下一跳节点是出口节点,则将网络报文发送到出口节点,请继续参考图6中标号3所示的报文流向示意,这样,出口节点就可以将接收到的网络报文转发出去。
通过提供上述分布式设备,在分布式设备上插入一块专用的限速板来实现流量限速,当不需要限速时可以将限速板换成普通的业务板,不需要对硬件设备的布局等进行更改,提高了分布式设备的灵活性,能够对虚拟设备实现精准的流量控制,从而满足对不同等级的客户提供不同的资源服务。此外,对限速板上的CPU进行分类,分为分发CPU和限速CPU,这样就可以不用关心限速数据在不同CPU之间的同步问题,大大提高了单板的限速性能。最后,本申请基于服务链的设计思想,将主控板作为控制器,用于下发配置,从而将接口板、限速板和业务板链接起来,从而灵活地实现了接收流量的限速和发送流量的限速,同时也能满足不限速的功能。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种报文处理方法,其特征在于,应用于分布式设备中用于流量限速的限速节点;所述方法,包括:
接收网络报文;
根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;
根据所述虚拟设备的限速目标,对所述网络报文进行限速处理;
获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;
根据所述第一服务链配置信息,确定下一跳节点;
将所述网络报文发送给所述下一跳节点。
2.根据权利要求1所述的方法,其特征在于,所述限速节点包括用于分发报文的分发中央处理单元CPU和用于流量限速的限速CPU;分发CPU用于将MAC地址为同一虚拟设备的网络报文分发给同一限速CPU,由该限速CPU根据所述虚拟设备的限速目标,对接收到的网络报文进行限速处理。
3.根据权利要求1所述的方法,其特征在于,所述第一服务链配置信息还包括第一匹配条件;
根据所述第一服务链配置信息,确定下一跳节点,包括:
利用所述网络报文的五元组信息匹配所述第一匹配条件;
当匹配成功时,将所述第一服务链配置信息中的下一跳节点信息对应的下一跳节点确定为所述下一跳节点。
4.根据权利要求1所述的方法,其特征在于,所述分布式设备还包括接口节点和业务节点;
当所述网络报文为接口节点发送的,则所述下一跳节点为所述业务节点;
当所述网络报文为业务节点发送的,则所述下一跳节点为接口节点。
5.一种报文处理方法,其特征在于,应用于分布式设备中的接口节点,所述方法,包括:
接收外部设备发送的网络报文;
从所述网络报文中解析出MAC地址,根据所述MAC地址确定所述网络报文对应的虚拟设备;
获取所述虚拟设备对应的第二服务链配置信息,所述第二服务链配置信息包括所述分布式设备中处理所述网络报文的处理路径信息;
根据所述第二服务链配置信息,确定下一跳节点;
将所述网络报文发送给所述下一跳节点,所述下一跳节点包括所述分布式设备中的限速节点。
6.根据权利要求5所述的方法,其特征在于,所述第二服务链配置信息还包括第二匹配条件;
根据所述服务链配置信息,确定下一跳节点,包括:
利用所述网络报文的五元组信息匹配所述第二匹配条件;
当匹配成功时,将所述第二服务链配置信息中的下一跳节点信息对应的下一跳节点确定为所述下一跳节点。
7.一种分布式设备,其特征在于,包括限速节点、接口节点和业务节点,其中:
所述限速节点,用于接收网络报文;根据所述网络报文中的媒体访问控制MAC地址,确定所述网络报文所属的虚拟设备;根据所述虚拟设备的限速目标,对所述网络报文进行限速处理;获取所述虚拟设备的第一服务链配置信息,所述第一服务链配置信息包括所述分布式设备中用于处理MAC地址为所述虚拟设备的网络报文的处理路径信息;根据所述第一服务链配置信息,确定下一跳节点;将所述网络报文发送给所述下一跳节点,所述下一跳节点为业务节点或接口节点。
8.根据权利要求7所述的分布式设备,其特征在于,还包括:
主控节点,用于为每个虚拟设备配置对应的服务链配置信息;将配置的服务链配置信息下发给用于处理该虚拟设备的网络报文的各节点。
9.根据权利要求7所述的分布式设备,其特征在于,
所述接口节点,用于接收外部设备发送的网络报文;从所述网络报文中解析出MAC地址,根据所述MAC地址确定所述网络报文对应的虚拟设备;获取所述虚拟设备对应的第二服务链配置信息,所述第二服务链配置信息包括所述分布式设备中处理所述网络报文的处理路径信息;根据所述第二服务链配置信息,确定下一跳节点;当所述下一跳节点为限速节点时,则将所述网络报文发送给所述限速节点。
10.根据权利要求7所述的分布式设备,其特征在于,
所述限速节点,具体用于当接收到所述接口节点发送的网络报文时,则根据所述第一服务链配置信息,确定出的下一跳节点为业务节点;将所述网络报文发送给所述业务节点,以由所述业务节点对所述网络报文执行业务处理;
所述限速节点,还用于当接收到所述业务节点发送的网络报文时,则根据所述第一服务链配置信息,确定出的下一跳节点为接口节点,则将所述网络报文发送给所述接口节点,以由所述接口节点将所述网络报文对外发送。
11.根据权利要求7所述的分布式设备,其特征在于,所述限速节点包括分发CPU和限速CPU,其中:
所述分发CPU,用于将接收到的MAC地址为同一虚拟设备的网络报文分发给同一限速CPU;
所述限速CPU,用于根据所述虚拟设备的限速目标,对接收到的网络报文进行限速处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211104328.9A CN116319557A (zh) | 2022-09-09 | 2022-09-09 | 一种报文处理方法及分布式设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211104328.9A CN116319557A (zh) | 2022-09-09 | 2022-09-09 | 一种报文处理方法及分布式设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319557A true CN116319557A (zh) | 2023-06-23 |
Family
ID=86834669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211104328.9A Pending CN116319557A (zh) | 2022-09-09 | 2022-09-09 | 一种报文处理方法及分布式设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319557A (zh) |
-
2022
- 2022-09-09 CN CN202211104328.9A patent/CN116319557A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9379975B2 (en) | Communication control system, control server, forwarding node, communication control method, and communication control program | |
US11075948B2 (en) | Method and system for virtual machine aware policy management | |
US9094308B2 (en) | Finding latency through a physical network in a virtualized network | |
US8589503B2 (en) | Prioritizing network traffic | |
EP2882162B1 (en) | Data stream security processing method and apparatus | |
US20060182033A1 (en) | Fast multicast path switching | |
US10476807B2 (en) | User equipment processing method and device | |
JP2015503274A (ja) | 仮想レーンの動的割り当てを用いてファットツリートポロジにおける輻輳を緩和するためのシステムおよび方法 | |
US9311123B2 (en) | Distributed virtual security appliance and flow-based forwarding system using virtual machines | |
US10084702B2 (en) | Packet processing method and system, and device | |
CN108390954B (zh) | 一种报文传输方法和设备 | |
JP2017152852A (ja) | 通信システム、通信装置、および通信システムの通信制御方法 | |
US8630296B2 (en) | Shared and separate network stack instances | |
US20130275620A1 (en) | Communication system, control apparatus, communication method, and program | |
CN106375355B (zh) | 负载均衡处理方法及装置 | |
CN107566298B (zh) | 一种生成表项的方法和设备 | |
CN107135166B (zh) | 一种流量管理系统及方法 | |
CN106789671B (zh) | 一种业务报文转发方法及设备 | |
US20220377008A1 (en) | Lawfully intercepting traffic and providing the traffic to a content destination based on content destination availabilities and priorities | |
CN116319557A (zh) | 一种报文处理方法及分布式设备 | |
US8948171B1 (en) | System and method for IP multicast | |
US7209450B2 (en) | Data transmission system having a plurality of dynamic route control units | |
CN111654558B (zh) | Arp交互与内网流量转发方法、装置和设备 | |
CN110620785B (zh) | 一种基于报文标记数据流的并行检测方法、系统及存储介质 | |
TWI714969B (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 |