CN111385220B - 传输报文的方法和装置 - Google Patents
传输报文的方法和装置 Download PDFInfo
- Publication number
- CN111385220B CN111385220B CN201811630475.3A CN201811630475A CN111385220B CN 111385220 B CN111385220 B CN 111385220B CN 201811630475 A CN201811630475 A CN 201811630475A CN 111385220 B CN111385220 B CN 111385220B
- Authority
- CN
- China
- Prior art keywords
- message
- tokens
- token
- bucket
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
Abstract
本申请提供了一种传输报文的方法和装置,包括:接收第一报文;当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率。本申请实施例中传输报文的方法,能够降低报文在拥塞的时候被丢弃的概率。
Description
技术领域
本申请涉及通信领域,并且更具体地,涉及一种传输报文的方法和装置。
背景技术
随着网络技术的高速发展,通常需要对用户发送的流量进行流量控制。所谓的流量控制就是针对网络中传送的数据报文采用不同的承诺访问速率(committed accessrate,CAR)进行传输控制。CAR算法的基础原理是,系统以一定的填充速率向令牌桶(token-bucket)里填充令牌(token),每个token代表一个比特(bit),当报文过来的时候,将需要通过的报文长度与令牌桶的令牌数进行比较,若令牌桶中的令牌数大于或等于报文长度,则转发该报文;否则丢弃该报文,从而达到限制流量的目的。
双速三色算法(two rate three color maker,TrTCM)是一种常用的实现承诺访问速率的控制方法。TrTCM算法中包含两个令牌桶,分别为令牌桶C桶和令牌桶P桶,其中,向C桶填充令牌的速率为承诺信息速率(committed information rate,CIR),向P桶填充令牌的速率为峰值信息速率(peak information rate,PIR)。处理报文时,可以采用色盲模式或者色敏模式,通过后续模块对着色后的报文进行相应的令牌减少动作,实现承诺访问速率的控制。
TrTCM算法包括两种业务流量,一种高优先级报文,一种低优先级报文。当高优先级报文来的时候,会同时检查C桶中的令牌(token for CIR,Tc)和P桶中的令牌(token forPIR,Tp),只有C桶和P桶中都有足够的token时,才允许转发该报文,并从两个令牌桶中扣减token,否则丢弃该报文;当低优先级报文来的时候,只检查Tp和扣减Tp。从而使得高优先级报文优先得到带宽。
但在实际运行中,高优先级报文在拥塞的时候会被丢弃。例如,当低优先级报文比较大时,可能会在瞬时耗尽Tp,此时,若高优先级报文来了,由于Tp token不足,则不得不丢弃该报文。
发明内容
本申请提供一种传输报文的方法和装置,可以降低报文在拥塞的时候被丢弃的概率。
第一方面,提供了一种传输报文的方法,包括:接收第一报文;当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率。
根据本申请实施例中的传输报文的方法,当所述第一报文的报文长度大于所述第一令牌桶中的令牌,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,能够降低报文在拥塞的时候被丢弃的概率。
在一些可能的实现方式中,所述方法还包括:从所述第一令牌桶中的令牌数中减去转发所述第一报文所需要的令牌数,得到第一令牌数,其中,所述第一令牌数为转发所述第一报文后所述第一令牌桶中的令牌数,所述第一令牌数为负值。
在一些可能的实现方式中,所述方法还包括:在转发所述第一报文之前,确定透支令牌数不超过预定值,其中,所述透支令牌数等于所述第一令牌数的绝对值。
在一些可能的实现方式中,所述预定值小于或等于所述第一令牌桶的桶深。
在一些可能的实现方式中,所述方法还包括:接收第二报文;当所述第一令牌数大于0时,转发所述第二报文;或者当所述第一令牌数不大于0时,丢弃所述第二报文。
在一些可能的实现方式中,所述第一报文为高优先级报文。
第二方面,提供了一种传输报文的装置,包括:接收模块,用于接收第一报文;发送模块,用于当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率。
根据本申请实施例中的传输报文的装置,当所述第一报文的报文长度大于所述第一令牌桶中的令牌,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,能够降低报文在拥塞的时候被丢弃的概率。
在一些可能的实现方式中,所述装置还包括处理模块,用于从所述第一令牌桶中的令牌数中减去转发所述第一报文所需要的令牌数,得到第一令牌数,其中,所述第一令牌数为转发所述第一报文后所述第一令牌桶中的令牌数,所述第一令牌数为负值。
在一些可能的实现方式中,所述处理模块还用于在转发所述第一报文之前,确定透支令牌数不超过预定值,其中,所述透支令牌数等于所述第一令牌数的绝对值。
在一些可能的实现方式中,所述预定值小于或等于所述第一令牌桶的桶深。
在一些可能的实现方式中,所述接收模块还用于接收第二报文;所述发送模块还用于当所述第一令牌数大于0时,转发所述第二报文;或者所述发送模块还用于当所述第一令牌数不大于0时,丢弃所述第二报文。
在一些可能的实现方式中,所述第一报文为高优先级报文。
第三方面,提供了一种传输报文的装置,该装置包括接收器和处理器,处理器用于执行程序,当处理器执行程序时,接收器和处理器实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法。
在一种可能的设计中,该装置还可以包括存储器。存储器用于存储处理器执行的程序。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储用于传输报文的装置执行的程序代码,该程序代码包括用于实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法的指令。
第五方面,提供一种芯片,该芯片包括处理器和通信接口,该通信接口用于与外部器件进行通信,该处理器用于实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法。
在一种可能的设计中,该芯片还可以包括存储器,该存储器中存储有指令,处理器用于执行存储器中存储的指令,当该指令被执行时,处理器用于实现第一方面或第一方面的任意一种可能的实现方式中的传输报文的方法。
第六方面,提供了一种计算机程序产品,包括指令,当其在传输报文的装置上运行时,使得所述传输报文的装置执行第二方面或第二方面中任一项可能的实现方式中的传输报文的方法。
根据本申请实施例中的传输报文的方法,当所述第一报文的报文长度大于所述第一令牌桶中的令牌,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,能够降低报文在拥塞的时候被丢弃的概率。
附图说明
图1为本申请提供的一个组网结构图。
图2为本申请实施例的基于令牌桶的传输控制的方法的示意性框图。
图3为本申请一个实施例的传输报文的方法的示意性流程图。
图4为本申请提供的一种传输报文的装置的结构示意图。
图5为本申请提供的一种传输报文的装置的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于数据通信领域中的各种转发装置,例如,转发装置可以是路由器,路由器可以对因特网协议(internet protocol,IP)报文进行转发;或者转发装置可以是网络交换机,网络交换机可以对以太网帧进行转发;或者转发装置也可以是其他能够转发报文的设备、装置或芯片等,本申请实施例对此并不限定。
在数据通信领域,报文有可能需要经过多台转发装置转发后才能到达目的地。以转发装置为路由器为例,图1为本申请提供的一个组网结构图。参见图1,组网结构图中包含7台路由器,分别是路由器1至路由器7。每个路由器可以包含多个物理接口卡。每个物理接口卡可以包含多个端口。图1中示出了路由器1中的2个出端口(第一出端口、第二出端口),以及路由器2中的2个出端口(第三出端口、第四出端口)。路由器1通过所述第一出端口与路由器2相连。路由器1通过所述第二出端口与路由器3相连。路由器2通过所述第三出端口与路由器4相连。路由器2通过所述第四出端口与路由器5相连。
路由器1接收到一个报文后,路由器1确定用于转发该报文的出端口,例如第一出端口,并将该报文从第一出端口转发出去。路由器2接收到路由器1转发的报文后,路由器2确定用于转发该报文的出端口,例如第三出端口,并将该报文从第三出端口转发出去。
在本申请实施例中,转发装置包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行图像处理即可,例如,本申请实施例提供的方法的执行主体可以是终端设备或装置,或者,是终端设备或装置中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
令牌桶算法是一种常用的流量监管方法,令牌桶可以理解为发送端的内部存储池,令牌可以理解为以给定速率填充令牌桶的虚拟信息包,每个到达的令牌都会从数据队列领出相应的数据包进行发送,发送完数据后令牌被删除。
TrTCM是一种常见的令牌桶算法,可以将报文标记为红色、黄色或绿色。服务质量(quality of service,QOS)会根据报文的颜色,设置报文的丢弃优先级。下面结合图2对TrTCM算法进行描述。
图2以示出了本申请实施例的基于令牌桶的传输控制的方法的示意性框图。如图2所示,TrTCM算法中的令牌桶主要包括四个参数:CIR表示向C桶填充令牌的速率,CIR大于或等于0,单位是bit/s;承诺突发尺寸(committed burst size,CBS)表示C桶的桶深,该值不小于报文的最大长度,CBS大于或等于0,单位为bit;PIR表示端口允许的突发流量的最大速率,PIR大于0,且该值不小于CIR的设置值,单位是bit/s;峰值突发尺寸(peak burst size,PBS)表示P桶的桶深,PBS大于或等于0,单位为bit。
如图2所示,TrTCM算法可以包括两个令牌桶,分别为C桶和P桶,Tc为C桶中的令牌数量,C桶的桶深为CBS,令牌填充速率为CIR,Tp为P桶中的令牌数量,P桶的桶深为PBS,令牌填充速率为PIR。初始状态时,两桶都是满的,即Tc的初始值等于CBS,Tp的初始值等于PBS,其中,Tp和Tc均为整数。
TrTCM算法比较关注速率上的突发,首先评估的是数据流的速率是否符合规定的突发要求,其规则是先比较P桶,再比较C桶。TrTCM算法可以分为色盲模式和色敏模式。
在色盲模式下,在对到达报文(假设数据包大小为B,B大于或等于0)进行评估时,可以分为以下几种情况:
(1)先比较P桶,若报文长度超过P桶中的令牌数Tp,则将该报文被标记为红色,且Tc和Tp均保持不变;
(2)先比较P桶,若报文长度不超过P桶中的令牌数Tp,再比较C桶,若该报文长度超过C桶中的令牌数Tc,则将该报文被标记为黄色,且从P桶中的令牌数中减去该报文的长度B,Tc保持不变,即Tp=Tp-B;
(3)先比较P桶,若报文长度不超过P桶中的令牌数Tp,再比较C桶,若该报文长度未超过C桶中的令牌数Tc,则将该报文被标记为绿色,且从P桶中的令牌数中和C桶中的令牌数中均减去该报文的长度B,即Tp=Tp-B,Tc=Tc-B。
在色敏模式下,可以提前对报文标记颜色。
可选地,可以通过对报文标记不同的颜色来标记不同的优先级。例如,若提前将报文标记为绿色,则表示该报文为高优先级;若提前将报文标记为黄色,则表示该报文为低优先级;若提前将报文标记为红色,则表示该报文需要被丢弃。
在色敏模式下,在对到达报文(假设报文大小为B,B大于或等于0)进行评估时,可以分为以下几种情况:
(1)若报文已被标记为绿色,先比较P桶,若报文长度超过P桶中的令牌数Tp,则将该报文被标记为红色,且Tc和Tp均保持不变;
(2)若报文已被标记为绿色,先比较P桶,若报文长度不超过P桶中的令牌数Tp,再比较C桶,若该报文长度超过C桶中的令牌数Tc,则将该报文被标记为黄色,且从P桶中的令牌数中减去该报文的长度B,Tc保持不变,即Tp=Tp-B;
(3)若报文已被标记为绿色,先比较P桶,若报文长度不超过P桶中的令牌数Tp,再比较C桶,若该报文长度未超过C桶中的令牌数Tc,则将该报文被标记为绿色,且从P桶中的令牌数中和C桶中的令牌数中均减去该报文的长度B,即Tp=Tp-B,Tc=Tc-B;
(4)若报文已被标记为黄色,则只比较P桶,若报文长度超过P桶中的令牌数Tp,则将该报文被标记为红色,且Tc和Tp均保持不变;
(5)若报文已被标记为黄色,则只比较P桶,若报文长度未超过P桶中的令牌数Tp,则将该报文被标记为黄色,且从P桶中的令牌数中减去该报文的长度B,Tc保持不变,即Tp=Tp-B;
(6)若报文已被标记为红色,则直接将报文标记为红色,且Tc和Tp均保持不变。
在本申请实施例中,TrTCM算法可以包括低优先级流量,例如,所述低优先级流量可以上述色敏模式下,提前被标记为黄色的报文。当低优先级报文来的时候,只检查Tp和扣减Tp。当低优先级报文比较大时,可能会在瞬时耗尽Tp,此时,若高优先级报文来了,由于Tptoken不足,会导致高优先级报文被丢弃。
为了解决高优先级报文在拥塞的时候会被丢弃的问题,本申请提出了一种传输报文的方法,能够降低报文在拥塞的时候被丢弃的概率。
为方便说明,下面以TrTCM算法为例进行描述。应理解,本申请中的方法不限于TrTCM算法,也可以适用于其他承诺访问速率算法,本申请实施例对此并不限定。
图3是本申请一个实施例的传输报文的方法的示意性流程图。应理解,图3示出了传输报文的方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图3中的各个操作的变形,或者,并不是所有步骤都需要执行,或者,这些步骤可以按照其他顺序执行。
S310,接收第一报文。
其中,所述第一报文可以为高优先级报文。
例如,所述第一报文可以为上述色敏模式下,提前被标记为绿色的报文。
S320,当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率。
其中,所述第一令牌桶中的令牌数可以大于0。
在本申请实施例中,所述第一令牌桶可以为图2中的P桶,所述第二令牌桶可以为图2中的C桶。
根据本申请实施例中的传输报文的方法,当所述第一报文的报文长度大于所述第一令牌桶中的令牌,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,能够降低报文在拥塞的时候被丢弃的概率。
可选地,当所述第一报文的报文长度大于所述第一令牌桶中的令牌,但小于或等于所述第一令牌桶的桶深时,可以转发所述第一报文。
也就是说,当所述第一报文的报文长度大于Tp,但小于或等于PBS时,可以转发所述第一报文。
在本申请实施例中,在转发所述第一报文之后,可以从所述第一令牌桶中的令牌数中减去转发所述第一报文所需要的令牌数,得到第一令牌数,其中,所述第一令牌数为转发所述第一报文后所述第一令牌桶中的令牌数。
可选地,所述第一令牌数可以为负值。
在本申请实施例中,在转发所述第一报文之前,可以确定透支令牌数不超过预定值,其中,所述透支令牌数等于所述第一令牌数的绝对值。
由于所述第一报文的报文长度大于所述第一令牌桶中的令牌,所述透支令牌为转发所述第一报文所需要的令牌数与所述第一令牌桶中的令牌数的差值。
可选地,所述透支令牌数不超过所述预定值。也就是说,所述预定值为转发所述第一报文时,可以透支的令牌数的最大值。
在本申请实施例中,所述预定值可以小于或等于所述第一令牌桶的桶深。
在本申请实施例中,可以接收第二报文。
可选地,所述第二报文的报文长度可以大于所述第一令牌桶中的令牌数,且小于或等于所述第二令牌桶中的令牌数。
或者,所述第二报文的报文长度可以大于所述第一令牌桶中的令牌,但小于或等于所述第一令牌桶的桶深。
可选地,接收所述第二报文的时刻可以位于上述接收所述第一报文的时刻之后。或者,接收所述第二报文的时刻可以位于上述转发所述第一报文的时刻之后。
在本申请实施例中,当所述第一令牌数大于0时,转发所述第二报文。或者,当所述第一令牌数小于或等于0时,丢弃所述第二报文。即,当所述第一令牌桶中的令牌数大于0时,才可以转发所述第二报文。否则,丢弃所述第二报文。
可选地,当所述第一令牌数大于或等于0时,转发所述第二报文。或者,当所述第一令牌数小于0时,丢弃所述第二报文。即,当所述第一令牌桶中的令牌数大于或等于0时,才可以转发所述第二报文。否则,丢弃所述第二报文。
也就是说,当转发所述第一报文后,所述第一令牌桶中的令牌数可能为负值时。此时,不得转发其余报文。只有将透支的令牌数补上之后,才可以转发报文。
在本申请实施例中,所述第一令牌桶中的令牌数可能为负值,此时,实际的带宽会超过PIR,但后续只有将透支的令牌数补上之后,才可以转发报文,从而可以保证平均带宽不超过PIR,因此,可以保持平均速率符合PIR。
可选地,接收所述第二报文的时刻可以位于上述接收所述第一报文的时刻之前。
根据本申请实施例中的传输报文的方法,当所述第一令牌桶中的令牌数不足时,仍可以转发所述第一报文,能够降低报文在拥塞的时候被丢弃的概率。
图4是本申请实施例的传输报文的装置400的示意性框图。应理解,传输报文的装置400仅是一种示例。本申请实施例的传输报文的装置还可包括其他模块或单元,或者包括与图4中的各个模块的功能相似的模块,或者并非要包括图4中的所有模块。
在本申请实施例一种可能的实现方式中,所述装置400可以包括:
接收模块410,用于接收第一报文;
发送模块420,用于当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率。
可选地,所述装置400还包括处理模块430,用于从所述第一令牌桶中的令牌数中减去转发所述第一报文所需要的令牌数,得到第一令牌数,其中,所述第一令牌数为转发所述第一报文后所述第一令牌桶中的令牌数,所述第一令牌数为负值。
可选地,所述处理模块430还用于在转发所述第一报文之前,确定透支令牌数不超过预定值,其中,所述透支令牌数等于所述第一令牌数的绝对值。
可选地,所述预定值小于或等于所述第一令牌桶的桶深。
可选地,所述接收模块410还用于接收第二报文;所述发送模块420还用于当所述第一令牌数大于0时,转发所述第二报文;或者所述发送模块420还用于当所述第一令牌数不大于0时,丢弃所述第二报文。
可选地,所述第一报文为高优先级报文。
图5是本申请一个实施例的传输报文的装置500的示意性结构图。应理解,图5示出的传输报文的装置500仅是示例,本申请实施例的传输报文的装置还可包括其他模块或单元,或者包括与图5中的各个模块的功能相似的模块。
传输报文的装置500可以包括一个或多个处理器510、一个或多个存储器520、和输入接口530。该装置500还可以包括输出接口540。在一种可能的设计中,输入接口530和输出接口540可以集成在一起,称为收发接口。存储器520用于存储处理器510执行的程序代码。其中,处理器510中可以集成有存储器520,或者处理器510耦合到一个或多个存储器520,用于调取存储器520中的指令。
在一个实施例中,处理器510可以用于实现图4中的处理模块430能够实现的操作或步骤,输入接口530可以用于实现图4中的接收模块410能够实现的操作或步骤,输出接口540可以用于实现图4中的发送模块420能够实现的操作或步骤。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种传输报文的方法,其特征在于,包括:
接收第一报文;
当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率,所述第一令牌桶为P桶,所述第二令牌桶为C桶;
从所述第一令牌桶中的令牌数中减去转发所述第一报文所需要的令牌数,得到第一令牌数,其中,所述第一令牌数为转发所述第一报文后所述第一令牌桶中的令牌数,所述第一令牌数为负值;
接收第二报文;
当所述第一令牌数大于0时,转发所述第二报文;或者
当所述第一令牌数不大于0时,丢弃所述第二报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在转发所述第一报文之前,确定透支令牌数不超过预定值,其中,所述透支令牌数等于所述第一令牌数的绝对值。
3.根据权利要求2所述的方法,其特征在于,所述预定值小于或等于所述第一令牌桶的桶深。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一报文为高优先级报文。
5.一种传输报文的装置,其特征在于,包括:
接收模块,用于接收第一报文;
发送模块,用于当转发所述第一报文所需要的令牌数大于第一令牌桶中的令牌数,且小于或等于第二令牌桶中的令牌数时,转发所述第一报文,其中,所述第一令牌桶的填充速率大于或等于所述第二令牌桶的填充速率,所述第一令牌桶为P桶,所述第二令牌桶为C桶;
处理模块,用于从所述第一令牌桶中的令牌数中减去转发所述第一报文所需要的令牌数,得到第一令牌数,其中,所述第一令牌数为转发所述第一报文后所述第一令牌桶中的令牌数,所述第一令牌数为负值;
所述接收模块,还用于接收第二报文;
所述发送模块,还用于当所述第一令牌数大于0时,转发所述第二报文;或者
所述发送模块,还用于当所述第一令牌数不大于0时,丢弃所述第二报文。
6.根据权利要求5所述的装置,其特征在于,所述处理模块还用于在转发所述第一报文之前,确定透支令牌数不超过预定值,其中,所述透支令牌数等于所述第一令牌数的绝对值。
7.根据权利要求6所述的装置,其特征在于,所述预定值小于或等于所述第一令牌桶的桶深。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述第一报文为高优先级报文。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储用于传输报文的装置执行的程序代码,所述程序代码包括用于执行权利要求1至4中任一项所述的传输报文的方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811630475.3A CN111385220B (zh) | 2018-12-29 | 2018-12-29 | 传输报文的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811630475.3A CN111385220B (zh) | 2018-12-29 | 2018-12-29 | 传输报文的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385220A CN111385220A (zh) | 2020-07-07 |
CN111385220B true CN111385220B (zh) | 2023-04-18 |
Family
ID=71218210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811630475.3A Active CN111385220B (zh) | 2018-12-29 | 2018-12-29 | 传输报文的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385220B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901248B (zh) * | 2020-07-27 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种负载均衡方法、装置、设备及机器可读存储介质 |
CN112600761B (zh) * | 2020-12-11 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 一种资源分配的方法、装置及存储介质 |
CN116016356A (zh) * | 2021-09-30 | 2023-04-25 | 迈普通信技术股份有限公司 | 一种报文处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272346A (zh) * | 2008-04-29 | 2008-09-24 | 华为技术有限公司 | 一种对报文进行流量监管的方法和装置 |
CN106921534A (zh) * | 2015-12-25 | 2017-07-04 | 北京华为朗新科技有限责任公司 | 数据流量监管方法及装置 |
-
2018
- 2018-12-29 CN CN201811630475.3A patent/CN111385220B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272346A (zh) * | 2008-04-29 | 2008-09-24 | 华为技术有限公司 | 一种对报文进行流量监管的方法和装置 |
CN106921534A (zh) * | 2015-12-25 | 2017-07-04 | 北京华为朗新科技有限责任公司 | 数据流量监管方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111385220A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3516833B1 (en) | Methods, systems, and computer readable media for discarding messages during a congestion event | |
CN109412964B (zh) | 报文控制方法及网络装置 | |
CN111385220B (zh) | 传输报文的方法和装置 | |
US7206284B2 (en) | Method and apparatus for automatic congestion avoidance for differentiated service flows | |
CN109510780B (zh) | 流控方法、交换芯片及网络设备 | |
US9166917B2 (en) | Link layer preemption | |
US8493867B1 (en) | Retransmission and flow control in a logical network tunnel | |
WO2015149488A1 (zh) | 一种令牌桶限速方法、装置及计算机存储介质 | |
EP3633937A1 (en) | Method for transmitting packet and network device | |
US11799803B2 (en) | Packet processing method and apparatus, communications device, and switching circuit | |
CN112787951A (zh) | 拥塞控制方法、装置、设备和计算机可读存储介质 | |
CN108206787A (zh) | 一种拥塞避免方法和装置 | |
EP3188419A2 (en) | Packet storing and forwarding method and circuit, and device | |
US20160308777A1 (en) | Network traffic preemption using intermittent encapsulation | |
CN110808924B (zh) | 芯片环回报文处理方法、装置及存储介质 | |
CN111108728A (zh) | 对报文进行处理方法及装置 | |
US9667650B2 (en) | Anti-replay checking with multiple sequence number spaces | |
CN103795705B (zh) | 用于交换安全的数据包的时间锁定的网络和节点 | |
US10320686B2 (en) | Load balancing eligible packets in response to a policing drop decision | |
US10291517B1 (en) | Generating a dummy VLAN tag for indicating quality of service classification information in a distributed routing system | |
WO2019096370A1 (en) | Method and first network node for handling packets | |
JP4306498B2 (ja) | リプライ・アタックエラー検出方法および装置 | |
CN115883484A (zh) | 报文转发方法、装置、设备和存储介质 | |
CN109379302B (zh) | 一种实现令牌处理的方法及装置 | |
CN115460651A (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 |