CN117278482A - 令牌桶的实现方法及装置 - Google Patents
令牌桶的实现方法及装置 Download PDFInfo
- Publication number
- CN117278482A CN117278482A CN202311050855.0A CN202311050855A CN117278482A CN 117278482 A CN117278482 A CN 117278482A CN 202311050855 A CN202311050855 A CN 202311050855A CN 117278482 A CN117278482 A CN 117278482A
- Authority
- CN
- China
- Prior art keywords
- service
- service board
- actual rate
- board
- notification message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000005540 biological transmission Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
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
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种令牌桶的实现方法及装置,所述方法包括:当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种令牌桶的实现方法及装置。
背景技术
对于网络业务,影响服务质量(英文:Quality of Service,简称:QoS)的因素包括传输的带宽、传送的时延、数据的丢包率等等。在网络中,可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。网络资源总是有限的,在保证某类业务的服务质量的同时,可能就会损害其它业务的服务质量。因此,管理人员需根据各类业务的特点,对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。
QoS技术包括流分类、流量监管、流量整形、限速、拥塞管理、拥塞避免等等。在上述多个QoS技术中,流量监管,也称之为限速,是指对进入或者流出网络设备的流量进行监管,以保护网络资源不受损害。流量监管广泛地用于监管进入网络业务提供商(英文:InternetService Provider,简称:ISP)的网络流量。流量监管还包括对所监管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。监管动作可包括转发、丢弃、改变优先级并转发、改变优先级并进入下一级监管以及进入下一级的监管。
目前,在对单租户跨多个网络设备的流量进行限速时,出现流量翻倍的问题。比如,运营商为租户分配的带宽为10M,租户的业务流量流经网络设备的两块板卡。此时,该租户使用的总带宽达到20M,带宽扩大了一倍。造成实际流量翻倍的原因在于:两块板卡的令牌桶为独立计算,也即是每块板卡内配置一个10M的令牌桶,如此,只要每个令牌桶内包含足够的令牌,则两个令牌桶可以输出20M实际流量。
随着网络中租户数量的大规模增长、业务流量的增多、网络设备的扩容,上述问题逐渐引起运营商的关注,亟待新技术解决该问题。在现有技术方案中,通过软件配置,将属于相同租户的流量引流至同一块板卡内,以实现限速。
但是,上述现有技术方案也暴露出下述问题:板卡件流量透传,将加重对CPU资源的消耗以及CPU资源的浪费。
发明内容
有鉴于此,本申请提供了一种令牌桶的实现方法及装置,用以解决现有技术方案中板卡件流量透传,将加重对CPU资源消耗以及CPU资源浪费的问题。
第一方面,本申请提供了一种令牌桶的实现方法,所述方法应用于网络设备包括的第一业务板,所述网络设备还包括至少一个第二业务板,所述第一业务板与每个第二业务板均用于对同一租户的业务流量进行转发处理,所述方法包括:
当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;
通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;
利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
第二方面,本申请提供了一种令牌桶的实现装置,所述方法应用于网络设备包括的第一业务板,所述网络设备还包括至少一个第二业务板,所述第一业务板与每个第二业务板均用于对同一租户的业务流量进行转发处理,所述方法包括:
获取单元,用于当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;
接收单元,用于通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
计算单元,用于根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;
调整单元,用于利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,应用本申请提供的令牌桶的实现方法及装置,当接收到所述业务流量时,第一业务板获取为租户分配的总带宽以及业务流量的第一实际速率;通过已建立的组播组,第一业务板接收每个第二业务板发送的第一通知消息,该第一通知消息包括第二实际速率,第二实际速率由第二业务板接收到业务流量时,统计的所述业务流量的实际速率;根据总带宽、第一实际速率以及至少一个第二实际速率,第一业务板计算第一业务板的第一分配带宽;利用第一分配带宽,第一业务板对第一业务板中令牌桶的桶深进行调整。
如此,利用组播通道收集每个业务板上业务流量的实际速率,动态分配各个业务板的带宽,并对自身令牌桶的桶深进行调整,达到线速的目的。解决了现有板卡件流量透传,将加重对CPU资源消耗以及CPU资源浪费的问题。同时,也提高了CPU的利用率,减少了板间透传的负担。
附图说明
图1为本申请实施例提供的令牌桶的实现方法的流程图;
图2-A为本申请实施例提供的一种多业务板传输业务流量示意图;
图2-B为本申请实施例提供的业务板内多模块结构示意图;
图2-C为本申请实施例提供的另一种多业务板传输业务流量示意图;
图2-D为本申请实施例提供的再一种多业务板传输业务流量示意图;
图3为本申请实施例提供的令牌桶的实现装置结构图;
图4为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的令牌桶的实现方法进行详细地说明。参见图1,图1为本申请实施例提供的令牌桶的实现方法的流程图。该方法应用于第一业务板,本申请实施例提供的令牌桶的实现方法可包括如下所示步骤。
步骤110、当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;
具体地,如图2-A所示,图2-A为本申请实施例提供的一种多业务板传输业务流量示意图。在图2中,网络设备内包括第一业务板以及第二业务板。第一业务板、第二业务板均用于转发同一租户业务流量。通过现有组播组建立方式,第一业务板与第二业务板均加入组播组,组播组内各成员通过建立组播通道相互通信。
可选地,在执行本步骤之前,各业务板为自身配置初始带宽。
进一步地,管理人员获取运营商为该租户分配的总带宽,例如,100M。管理人员通过命令行的形式,分别向第一业务板、第二业务板输入配置指令,该配置指令包括总带宽以及业务板的个数。业务板的个数是指为相同租户处理业务流量且在位的业务板总数。
业务板接收到配置指令后,从中获取总带宽以及业务板的个数。业务板将总带宽与业务板的个数的商作为初始带宽。在本申请实施例中,总带宽为100M,转发同一租户业务流量的业务板的个数为2。因此,每个业务板的初始带宽为50M。根据初始带宽,每个网络设备自动配置与初始带宽对应的令牌桶的桶深CBS。
第一业务板经过上述配置后,当第一业务板接收到租户的业务流量时,第一业务板获取总带宽以及业务流量的第一实际速率。
其中,第一实际速率可由第一业务板包括的软件统计模块计算得到。软件统计模块统计第n秒发送报文的数量以及第n+1秒发送报文的数量。软件统计模块计算第n秒发送报文的数量与第n+1秒发送报文的数量的差值,并将差值与1秒的商作为第一实际速率。
同理,当第二业务板接收到租户的业务流量时,第二业务板获取总带宽以及业务流量的第二实际速率。
其中,第二实际速率可由第二业务板包括的软件统计模块计算得到。软件统计模块统计第n秒发送报文的数量以及第n+1秒发送报文的数量。软件统计模块计算第n秒发送报文的数量与第n+1秒发送报文的数量的差值,并将差值与1秒的商作为第二实际速率。
例如,在图2-A中,第一业务板中业务流量的第一实际速率为180M;第二业务板中业务流量的第二实际速率为20M。
在本申请实施例中,第一业务板还包括速率收集模块。软件统计模块计算得到第一实际速率后,向速率收集模块传输第一实际速率。同理,第二业务板也包括速率收集模块。第二业务板包括的软件统计模块计算得到第二实际速率后,向速率收集模块传输第二实际速率。
步骤120、通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
具体地,根据步骤110的描述,第二业务板获取第二实际速率后,生成第一通知消息,该第一通知消息包括第二实际速率。
第二业务板在组播组内发送第一通知消息。组播组内的各组成员通过组播通道均接收到第一通知消息。第一业务板接收到第一通知消息后,从中获取第二实际速率。
在本申请实施例中,第二业务板包括的软件统计模块计算得到第二实际速率后,软件统计模块生成第一通知消息,并向组播组发送第一通知消息。处于组播组内的第一业务板接收到第一通知消息后,向自身包括的速率收集模块传输第一通知消息。第一业务板包括的速率收集模块从第一通知消息中,获取第二实际速率。
步骤130、根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;
具体地,根据步骤110、步骤120的描述,第一业务板获取到总带宽、第一实际速率以及第二实际速率后,计算第一业务板的第一分配带宽。
可选地,上述根据总带宽、第一实际速率以及第二实际速率,第一业务板计算自身的第一分配带宽,具体过程为:第一业务板计算每个实际速率之间的比例关系,并累计比例关系的比例和值,该实际速率包括第一实际速率以及至少一个第二实际速率;第一业务板计算第一实际速率与比例和值的商;第一业务板将商与总带宽的乘积作为第一分配带宽。
例如,在图2-A中,总带宽为100M,第一实际速率为180M,第二实际速率为20M,则实际速率之间的比例关系为9:1,比例和值为10。第一实际速率与比例和值的商为9/10。第一分配带宽为100M*(9/10)=90M。
需要说明的是,第一分配带宽可由第一业务板包括的速率收集模块计算得到。
可选地,在本申请实施例中,第一业务板获取到第一实际速率后,也生成第二通知消息,该第二通知消息包括第一实际速率。
第一业务板在组播组内发送第二通知消息。组播组内的各组成员通过组播通道均接收到第二通知消息。第二业务板接收到第二通知消息后,从中获取第一实际速率。
同理,第二业务板根据总带宽、第一实际速率以及第二实际速率,计算自身的第二分配带宽。
例如,在图2-A中,总带宽为100M,第一实际速率为180M,第二实际速率为20M,则实际速率之间的比例关系为9:1,比例和值为10。第一实际速率与比例和值的商为9/10。第二分配带宽为100M*(1/10)=10M。
在本申请实施例中,第一业务板包括的软件统计模块计算得到第一实际速率后,软件统计模块生成第二通知消息,并向组播组发送第二通知消息。处于组播组内的第二业务板接收到第二通知消息后,向自身包括的速率收集模块传输第二通知消息。第二业务板包括的速率收集模块从第二通知消息中,获取第一实际速率。
需要说明的是,第一分配带宽与第二分配带宽的和不大于总带宽。第二分配带宽可由第二业务板包括的速率收集模块计算得到。
步骤140、利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
具体地,根据步骤130的描述,第一业务板计算出第一分配带宽后,根据第一业务板,自动调整与第一分配带宽对应的令牌桶的桶深CBS。
可选地,上述利用第一分配带宽,第一业务板对已配置的令牌桶的桶深进行调整,具体过程为:第一业务板将第一分配带宽与第一值的乘积作为令牌桶的桶深。其中,第一值具体为62.5,也即是,令牌桶的桶深是分配带宽的62.5倍。
在本申请实施例中,第一业务板还包括令牌桶分配模块。速率收集模块计算出第一分配带宽后,将第一分配带宽传输至令牌桶分配模块。令牌桶分配模块得到第一分配带宽后,对令牌桶的桶深CBS进行调整。后续,第一业务板也将按照第一分配带宽,对接收到的业务流量进行转发处理。
下面对本申请实施例提供的业务板内部结构进行详细地说明。参见图2-B,图2-B为本申请实施例提供的业务板内多模块结构示意图。图2中以多个业务板为例进行说明。
在图2中,业务板内包括软件统计模块、速率收集模块、令牌桶分配模块以及令牌桶。软件统计模块用于对业务板当前的实际速率进行计算;速率收集模块用于获取其他业务板当前的实际速率,利用总带宽、本业务板当前的实际速率以及其他业务板当前的实际速率,计算本业务板当前的分配带宽,并将本业务板当前的分配带宽传输至令牌桶分配模块;令牌桶分配模块用于根据本业务板当前的分配带宽对令牌桶的桶深进行及时调整。
网络设备中业务板的角色可由管理人员配置或者选举产生。多个业务板中包括一个主控板角色。当然,也可为主控板配置一个备板,该备板也为业务板。可以理解的是,针对主控板当前的分配带宽,其可无需向备板同步。若发生主备倒换,备板升级为新主控板。新主控板可参照前述实施例的过程,重新收集每个业务板的实际速率,并重新计算自身当前的分配带宽。
因此,应用本申请提供的令牌桶的实现方法,当接收到所述业务流量时,第一业务板获取为租户分配的总带宽以及业务流量的第一实际速率;通过已建立的组播组,第一业务板接收每个第二业务板发送的第一通知消息,该第一通知消息包括第二实际速率,第二实际速率由第二业务板接收到业务流量时,统计的所述业务流量的实际速率;根据总带宽、第一实际速率以及至少一个第二实际速率,第一业务板计算第一业务板的第一分配带宽;利用第一分配带宽,第一业务板对第一业务板中令牌桶的桶深进行调整。
如此,利用组播通道收集每个业务板上业务流量的实际速率,动态分配各个业务板的带宽,并对自身令牌桶的桶深进行调整,达到线速的目的。解决了现有板卡件流量透传,将加重对CPU资源消耗以及CPU资源浪费的问题。同时,也提高了CPU的利用率,减少了板间透传的负担。
可选地,在本申请实施例中,还包括网络设备中业务板插拔后,各业务板重新计算分配带宽的过程。
具体地,网络设备中包括多个业务板时,多个业务板包括一个主控板。可以理解的是,主控板作为业务板也执行前述步骤110-步骤140的过程。主控板可感知每个业务板的在位状态,也即是,当存在业务板插拔、故障时,主控板均可通过物理连接感知到。
在一种实现方式中,主控板感知到新插入业务板并确定该业务板配置为用于处理租户的业务流量后,主控板先向新插入业务板发送组播组信息(主控板可根据租户标识确定对应的组播组信息),以使得新插入业务板加入至组播组中。主控板向组播组发送第四通知消息,以使得组播组中各业务板在组播组中发布当前统计的实际速率。
管理人员通过命令行的形式,向新插入业务板输入配置指令。该配置指令包括总带宽以及业务板的个数。新插入业务板为自身计算初始带宽,并自动配置与初始带宽对应的令牌桶的桶深CBS。新插入业务板经过上述配置后,接收租户的业务流量。
各业务板(包括组播组中在位的业务板,即新插入业务板以及在先已在位业务板)生成第三通知消息,该第三通知消息包括第三实际速率。第三实际速率由每个第三业务板接收到业务流量时,统计的业务流量的实际速率。
第一业务板接收到第三通知消息后,从中获取第三实际速率。根据总带宽、第一实际速率以及至少一个第三实际速率,第一业务板计算自身的第三分配带宽;利用第三分配带宽,第一业务板对第一业务板中令牌桶的桶深进行调整。
例如,第一业务板以及第二业务板对租户1的业务流量进行转发,第一业务板为主控板。此时,第一业务板感知到第三业务板为新插入业务板,且通过管理人员下发的配置,确定第三业务板也用于处理租户1的业务流量。第一业务板先根据租户1的租户标识确定组播组信息,并向第三业务板发送组播组信息。根据组播组信息,第三业务板加入组播组中。
第一业务板向组播组发送第四通知消息,以使得各业务板(包括第一业务板、第二业务板以及第三业务板)在组播组中发布当前统计的实际速率。
第一业务板、第二业务板、第三业务板进生成第三通知消息并在组播组内发送。第一业务板通过第三通知消息获取到第三实际速率(第二业务板、第三业务板当前统计的实际速率)后,可参照前述步骤130的过程,计算第三分配带宽。
同理,第二业务板、第三业务板也可参照前述步骤130的过程,计算第三分配带宽。
在另一种实现方式中,主控板感知到业务板拔出或者故障后,主控板向组播组发送第四通知消息,以使得组播组中除拔出、故障之外的剩余业务板在组播组中发布当前统计的实际速率。
各业务板(包括播组中在位的业务板,即主控板以及剩余业务板)生成第三通知消息,该第三通知消息包括第三实际速率。第三实际速率由每个第三业务板接收到业务流量时,统计的业务流量的实际速率。
第一业务板接收到第三通知消息后,从中获取第三实际速率。根据总带宽、第一实际速率以及至少一个第三实际速率,第一业务板计算自身的第三分配带宽;利用第三分配带宽,第一业务板对第一业务板中令牌桶的桶深进行调整。
例如,第一业务板、第二业务板以及第三业务板对租户1的业务流量进行转发,第一业务板为主控板。此时,第一业务板感知到第二业务板已拔出。第一业务板向组播组发送第四通知消息,以使得各业务板(包括第一业务板以及第三业务板)在组播组中发布当前统计的实际速率。
第一业务板以及第三业务板进生成第三通知消息并在组播组内发送。第一业务板通过第三通知消息获取到第三实际速率(第三业务板当前统计的实际速率)后,可参照前述步骤130的过程,计算第三分配带宽。
同理,第三业务板也可参照前述步骤130的过程,计算第三分配带宽。
如图2-C、图2-D所示,图2-C为本申请实施例提供的另一种多业务板传输业务流量示意图;图2-D为本申请实施例提供的再一种多业务板传输业务流量示意图。在图2-C、图2-D中表示网络设备包括的其中一个业务板故障后,剩余业务板的分配带宽的变化。
在图2-C中,第一业务板以第一分配带宽处理业务流量;第二业务板以第二分配带宽处理业务流量。此时,若第一业务板故障或拔出,则第二业务板持续未接收到第一业务板发送的第三通知消息。第二业务板根据总带宽,计算自身的第三分配带宽为100M,并利用第三分配带宽对第二业务板中令牌桶的桶深进行调整。
在图2-D中,第一业务板以第一分配带宽处理业务流量;第二业务板以第二分配带宽处理业务流量。此时,若第二业务板故障或拔出,则第一业务板持续未接收到第二业务板发送的第三通知消息。第一业务板根据总带宽,计算自身的第三分配带宽为100M,并利用第三分配带宽对第一业务板中令牌桶的桶深进行调整。
在图2-C、图2-D中,网络设备内剩余业务板的个数为1,则剩余业务板的分配带宽即为总带宽。在实际应用中,网络设备内剩余业务板的个数大于1时,则剩余业务板仍按照步骤130的过程计算分配带宽。
可选地,在本申请实施例中,还包括第一业务板确定网络设备内存在新插入业务板后,发送第五通知消息的过程。
具体地,主控板感知到业务板插入、拔出或者故障后,主控板向组播组发送第四通知消息,该第四通知消息包括每个业务板的状态,以使得组播组中在位的业务板在组播组中发布当前统计的实际速率。
第一业务板接收到第四通知消息后,从中获取每个业务板的状态。根据每个业务板的状态,第一业务板生成第五通知消息,该第五通知消息包括第一实际速率。第一业务板在组播组内发送第五通知消息。组播组内的各组成员(每个在位业务板)通过组播通道均接收到第五通知消息。每个在位业务板根据总带宽、第一实际速率以及当前实际速率(每个在位业务板当前统计的实际速率),计算自身的第四分配带宽。
可选地,在本申请实施例中,还包括在第一业务板执行通过组播通道,向每个第二业务板发送第二通知消息之前,执行判断当前丢包数的过程。
具体地,第一业务板判断业务流量的当前丢包数;若当前丢包数与在先丢包数相同,则第一业务板在组播组内发送第二通知消息。若当前丢包数与在先丢包数不同,则第一业务板在组播组内不发送第二通知消息。
需要说明的是,若丢包数未变,则说明第一业务板当前带宽存在剩余,可以承载更多的业务流量。此时,发送通知消息,可使得存在剩余带宽的业务板在计算分配带宽时,为自身计算更多的分配带宽,以承载更多的业务流量。
通常情况下,若丢包数未变,则每个业务板每隔1s将在组播组内发送一次通知消息。但是,在实际情况中,由于业务板可能会存在丢包情况,而此时业务板在组播组内不发送通知消息,使得业务板之间不知道其他业务板的实际速率,可能将导致业务板之间丢包不是等比例的。因此,可以增加每隔10s,各业务板统一在组播组内发送通知消息,保证丢包情况下,各业务板等比例丢包。
可选地,上述通过组播组,第一业务板向每个第二业务板发送第二通知消息,具体过程为:在预设的发布周期内,通过组播组,第一业务板向每个第二业务板发送第二通知消息。其中,预设的发布周期为每隔10s。同理,第二业务板也是每隔10s,在组播组内发送第一通知消息。
在上述多个步骤中,业务板在向组播组内发送自身的实际速率时,均通过业务板包括的软件统计模块发送。业务板包括的软件统计模块还将接收到的携带实际速率的通知消息传输至速率收集模块中。业务板在计算分配带宽时,均通过业务板包括的速率收集模块计算。
基于同一发明构思,本申请实施例还提供了令牌桶的实现方法对应的令牌桶的实现装置。参见图3,图3为本申请实施例提供的令牌桶的实现装置,所述方法应用于网络设备包括的第一业务板,所述网络设备还包括至少一个第二业务板,所述第一业务板与每个第二业务板均用于对同一租户的业务流量进行转发处理,所述方法包括:
获取单元310,用于当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;
接收单元320,用于通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
计算单元330,用于根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;
调整单元340,用于利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
可选地,所述装置还包括:发送单元(图中未示出),用于通过所述组播组,向所述每个第二业务板发送第二通知消息,所述第二通知消息包括所述第一实际速率,以使得所述每个第二业务板根据所述总带宽、所述第一实际速率以及所述至少一个第二实际速率,计算所述第二业务板的第二分配带宽。
可选地,所述计算单元330具体用于,计算每个实际速率之间的比例关系,并累计比例关系的比例和值,所述实际速率包括所述第一实际速率以及所述至少一个第二实际速率;
计算所述第一实际速率与所述比例和值的商;
将所述商与所述总带宽的乘积作为所述第一分配带宽。
可选地,所述接收单元320还用于,接收每个第三业务板发送的第三通知消息,所述第三通知消息包括第三实际速率,所述第三实际速率由所述每个第三业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
所述计算单元330还用于,根据所述总带宽、所述第一实际速率以及至少一个第三实际速率,计算所述第一业务板的第三分配带宽;
所述调整单元340还用于,利用所述第三分配带宽,对所述第一业务板中令牌桶的桶深进行调整;
其中,所述第三业务板包括所述至少一个第二业务板以及新插入业务板,或者,所述第三业务板包括所述至少一个第二业务板中除拔出、故障业务板之外的剩余业务板。
可选地,所述接收单元320还用于,接收主控板发送的第四通知消息,所述第四通知消息包括每个业务板的状态;
所述发送单元(图中未示出)还用于,根据所述每个业务板的状态,通过所述组播组,向每个在位业务板发送第五通知消息,所述第五通知消息包括所述第一实际速率,以使得所述每个在位业务板根据所述总带宽、所述第一实际速率以及在位业务板的当前实际速率,计算所述在位业务板的第四分配带宽。
可选地,所述接收单元320还用于,接收管理人员输入的配置指令,所述配置指令包括所述总带宽以及业务板的个数;
所述装置还包括:处理单元(图中未示出),用于将所述总带宽与转发同一租户业务流量的业务板的个数的商作为所述第一业务板的初始带宽;
配置单元(图中未示出),用于利用所述初始带宽,对所述第一业务板中个令牌桶进行配置。
可选地,所述装置还包括:判断单元(图中未示出),用于判断所述业务流量的当前丢包数;
所述发送单元(图中未示出)还用于,若所述当前丢包数与在先丢包数相同,则通过所述组播组,向所述每个第二业务板发送所述第二通知消息。
可选地,所述发送单元(图中未示出)具体用于,在预设的发布周期内,通过所述组播组,向所述每个第二业务板发送第二通知消息。
可选地,所述调整单元340具体用于,将所述第一分配带宽与第一值的乘积作为所述令牌桶的桶深。
因此,应用本申请提供的令牌桶的实现装置,当接收到所述业务流量时,第一业务板获取为租户分配的总带宽以及业务流量的第一实际速率;通过已建立的组播组,第一业务板接收每个第二业务板发送的第一通知消息,该第一通知消息包括第二实际速率,第二实际速率由第二业务板接收到业务流量时,统计的所述业务流量的实际速率;根据总带宽、第一实际速率以及至少一个第二实际速率,第一业务板计算第一业务板的第一分配带宽;利用第一分配带宽,第一业务板对第一业务板中令牌桶的桶深进行调整。
如此,利用组播通道收集每个业务板上业务流量的实际速率,动态分配各个业务板的带宽,并对自身令牌桶的桶深进行调整,达到线速的目的。解决了现有板卡件流量透传,将加重对CPU资源消耗以及CPU资源浪费的问题。同时,也提高了CPU的利用率,减少了板间透传的负担。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图4所示,包括处理器410、收发器420和机器可读存储介质430,机器可读存储介质430存储有能够被处理器410执行的机器可执行指令,处理器410被机器可执行指令促使执行本申请实施例所提供的令牌桶的实现方法。前述图3所示的令牌桶的实现装置,可采用如图4所示的网络设备硬件结构实现。
上述计算机可读存储介质430可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质430还可以是至少一个位于远离前述处理器410的存储装置。
上述处理器410可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器410通过读取机器可读存储介质430中存储的机器可执行指令,被机器可执行指令促使能够实现处理器410自身以及调用收发器420执行前述本申请实施例描述的令牌桶的实现方法。
另外,本申请实施例提供了一种机器可读存储介质430,机器可读存储介质430存储有机器可执行指令,在被处理器410调用和执行时,机器可执行指令促使处理器410自身以及调用收发器420执行前述本申请实施例描述的令牌桶的实现方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于令牌桶的实现装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种令牌桶的实现方法,其特征在于,所述方法应用于网络设备包括的第一业务板,所述网络设备还包括至少一个第二业务板,所述第一业务板与每个第二业务板均用于对同一租户的业务流量进行转发处理,所述方法包括:
当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;
通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;
利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述组播组,向所述每个第二业务板发送第二通知消息,所述第二通知消息包括所述第一实际速率,以使得所述每个第二业务板根据所述总带宽、所述第一实际速率以及所述至少一个第二实际速率,计算所述第二业务板的第二分配带宽。
3.根据权利要求1所述的方法,其特征在于,所述根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽,具体包括:
计算每个实际速率之间的比例关系,并累计比例关系的比例和值,所述实际速率包括所述第一实际速率以及所述至少一个第二实际速率;
计算所述第一实际速率与所述比例和值的商;
将所述商与所述总带宽的乘积作为所述第一分配带宽。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收每个第三业务板发送的第三通知消息,所述第三通知消息包括第三实际速率,所述第三实际速率由所述每个第三业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
根据所述总带宽、所述第一实际速率以及至少一个第三实际速率,计算所述第一业务板的第三分配带宽;
利用所述第三分配带宽,对所述第一业务板中令牌桶的桶深进行调整;
其中,所述第三业务板包括所述至少一个第二业务板以及新插入业务板,或者,所述第三业务板包括所述至少一个第二业务板中除拔出、故障业务板之外的剩余业务板。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收主控板发送的第四通知消息,所述第四通知消息包括每个业务板的状态;
根据所述每个业务板的状态,通过所述组播组,向每个在位业务板发送第五通知消息,所述第五通知消息包括所述第一实际速率,以使得所述每个在位业务板根据所述总带宽、所述第一实际速率以及在位业务板的当前实际速率,计算所述在位业务板的第四分配带宽。
6.根据权利要求1所述的方法,其特征在于,所述当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率之前,所述方法还包括:
接收管理人员输入的配置指令,所述配置指令包括所述总带宽以及业务板的个数;
将所述总带宽与转发同一租户业务流量的业务板的个数的商作为所述第一业务板的初始带宽;
利用所述初始带宽,对所述第一业务板中令牌桶进行配置。
7.根据权利要求2所述的方法,其特征在于,所述通过所述组播组,向所述每个第二业务板发送第二通知消息之前,所述方法还包括:
判断所述业务流量的当前丢包数;
若所述当前丢包数与在先丢包数相同,则通过所述组播组,向所述每个第二业务板发送所述第二通知消息。
8.根据权利要求7所述的方法,其特征在于,所述通过所述组播组,向所述每个第二业务板发送第二通知消息,具体包括:
在预设的发布周期内,通过所述组播组,向所述每个第二业务板发送第二通知消息。
9.根据权利要求1所述的方法,其特征在于,所述利用所述第一分配带宽,对已配置的令牌桶的桶深进行调整,具体包括:
将所述第一分配带宽与第一值的乘积作为所述令牌桶的桶深。
10.一种令牌桶的实现装置,其特征在于,所述装置应用于网络设备包括的第一业务板,所述网络设备还包括至少一个第二业务板,所述第一业务板与每个第二业务板均用于对同一租户的业务流量进行转发处理,所述装置包括:
获取单元,用于当接收到所述业务流量时,获取为所述租户分配的总带宽以及所述业务流量的第一实际速率;
接收单元,用于通过已建立的组播组,接收所述每个第二业务板发送的第一通知消息,所述第一通知消息包括第二实际速率,所述第二实际速率由所述第二业务板接收到所述业务流量时,统计的所述业务流量的实际速率;
计算单元,用于根据所述总带宽、所述第一实际速率以及至少一个第二实际速率,计算所述第一业务板的第一分配带宽;
调整单元,用于利用所述第一分配带宽,对所述第一业务板中令牌桶的桶深进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311050855.0A CN117278482A (zh) | 2023-08-17 | 2023-08-17 | 令牌桶的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311050855.0A CN117278482A (zh) | 2023-08-17 | 2023-08-17 | 令牌桶的实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117278482A true CN117278482A (zh) | 2023-12-22 |
Family
ID=89203454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311050855.0A Pending CN117278482A (zh) | 2023-08-17 | 2023-08-17 | 令牌桶的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117278482A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117793014A (zh) * | 2024-02-23 | 2024-03-29 | 北京中科网芯科技有限公司 | 一种令牌桶的实现方法 |
-
2023
- 2023-08-17 CN CN202311050855.0A patent/CN117278482A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117793014A (zh) * | 2024-02-23 | 2024-03-29 | 北京中科网芯科技有限公司 | 一种令牌桶的实现方法 |
CN117793014B (zh) * | 2024-02-23 | 2024-05-07 | 北京中科网芯科技有限公司 | 一种令牌桶的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112751691B (zh) | 网络流量的限速方法、装置、中控设备和网关 | |
CN103999414B (zh) | 一种归因针对相应用户寄存器的共享资源的拥塞贡献的方法和装置 | |
EP3264723B1 (en) | Method, related apparatus and system for processing service request | |
US20220038374A1 (en) | Microburst detection and management | |
WO2012145841A1 (en) | Hierarchical profiled scheduling and shaping | |
CN117278482A (zh) | 令牌桶的实现方法及装置 | |
CN109412977B (zh) | 一种域名带宽调节方法及相关设备 | |
CN107404443A (zh) | 队列缓存资源控制方法及装置、服务器及存储介质 | |
WO2012155406A1 (zh) | 业务分流方法、装置及系统 | |
CN111371690A (zh) | 流量调控方法、装置、网络设备及计算机可读存储介质 | |
CN113395671B (zh) | 消息推送速率的调节方法、装置和服务器 | |
CN104718735A (zh) | 网络中的拥塞通知 | |
CN111092819B (zh) | 一种收发组播业务报文的方法及设备 | |
CN108199975B (zh) | 一种流量控制方法及装置 | |
CN112804145B (zh) | 基于分段标识列表的流量统计方法及装置 | |
CN106209676A (zh) | 基于多设备的云主机系统的数据处理方法及装置 | |
WO2021238694A1 (zh) | 确定传输业务流的带宽的方法、设备和系统 | |
CN103516738A (zh) | 消息的分发方法、装置及系统 | |
CN113852554A (zh) | 一种数据传输方法、装置及设备 | |
CN117278480A (zh) | 网络设备协同限速的方法及装置 | |
US20190349081A1 (en) | Bandwidth control method and apparatus for solving service quality degradation caused by traffic overhead in sdn-based communication node | |
CN117278481A (zh) | 网络设备协同限速的方法及装置 | |
CN115037692A (zh) | 通信方法及装置 | |
CN112099949B (zh) | 一种任务分发的控制方法、装置、电子设备及存储介质 | |
Chen et al. | Transmission delay simulation for edge computing network with service integrating mode |
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 |