CN108206787A - 一种拥塞避免方法和装置 - Google Patents
一种拥塞避免方法和装置 Download PDFInfo
- Publication number
- CN108206787A CN108206787A CN201611171554.3A CN201611171554A CN108206787A CN 108206787 A CN108206787 A CN 108206787A CN 201611171554 A CN201611171554 A CN 201611171554A CN 108206787 A CN108206787 A CN 108206787A
- Authority
- CN
- China
- Prior art keywords
- data packet
- time
- time stamp
- value
- type
- 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 claims abstract description 46
- 230000007423 decrease Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 abstract description 27
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000003550 marker Substances 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/12—Avoiding congestion; Recovering from congestion
-
- 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/23—Bit dropping
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种拥塞避免方法和装置,属于通信技术领域。所述方法包括:为接收到的数据包设置时间标记;将所述数据包存入缓存队列中;根据所述数据包的时间标记判断所述数据包是否超时;当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。本发明通过在接收到数据包时,为其设置时间标记,然后将设置了时间标记的数据包存入缓存队列中,在根据时间标记判断出数据包在缓存队列中的时间超时时,将数据包从缓存队列中丢弃,这样做避免缓存队列中的数据包由于系统性能原因一直无法出队造成的时延过大,同时减小了数据包对系统性能占用。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种拥塞避免方法和装置。
背景技术
随着网络的普及,信息交流与信息共享成为人们日常生活中必不可少的一部分。而网络中信息(数据包)的不断增长,必然引起网络拥塞。于是,拥塞避免显得尤为重要,目前使用得比较广泛的拥塞避免机制包括尾丢弃(英文:Tail-Drop)、随机先期检测(英文:Random Early Detection,简称:RED)、加权随机先期检测(英文:Weighted Random EarlyDetection,简称:WRED)等。
其中,尾丢弃、RED和WRED都是在队列的长度达到设定阈值时,将等待入队的数据包全部丢弃、部分丢弃或者按照优先级将低优先级的数据包丢弃。
在上述拥塞避免方案中,对于已经进入队列的数据包,可能由于系统性能原因而一直无法出队,这些缓存在队列中的数据包可能会时延过大,达不到时延的要求,另外,数据包长时间缓存在队列也占用了系统的性能。
发明内容
为了解决现有技术中缓存在队列中的数据包可能会时延过大,占用了系统的性能的问题,本发明实施例提供了一种拥塞避免方法和装置。所述技术方案如下:
第一方面,本发明实施例提供了一种拥塞避免方法,所述方法包括:为接收到的数据包设置时间标记,所述时间标记用于判断所述数据包在缓存中的时间是否超时;将所述数据包存入缓存队列中;根据所述数据包的时间标记判断所述数据包是否超时;当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
本发明通过在接收到数据包时,为其设置时间标记,然后将设置了时间标记的数据包存入缓存队列中,在根据时间标记判断出数据包在缓存队列中的时间超时时,将数据包从缓存队列中丢弃,这样做避免缓存队列中的数据包由于系统性能原因一直无法出队造成的时延过大,同时减小了数据包对系统性能占用。
结合第一方面,在第一方面的第一种实现方式中,所述为接收到的数据包设置时间标记,包括:判断所述数据包的类型;当所述数据包的类型为设定类型时,为所述数据包设置时间标记。在该实现方式中,在设置时间标记前,先判断数据包的类型,只有在数据包为设定类型时,才为其设置时间标记,从而实现了对时延要求不同的业务差异化处理。
结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述判断所述数据包的类型,包括:根据所述数据包包头中的字段判断所述数据包的类型;或者,根据所述数据包的大小判断所述数据包的类型。在该实现方式中,通过数据包包头的字段或者数据包的大小,判断所述数据包的类型,判断方式简单,判断结果准确。
其中,数据包的类型可以是业务类型,也可以是长度类型(数据包长度)。其中,业务类型可以是语音数据包、IPTV数据包等。长度类型可以为小于1500字节、1500-9600字节等。根据数据包包头中的字段可以判断出数据包的业务类型,根据数据包的大小可以判断出数据包的长度类型。
结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,所述为所述数据包设置时间标记,包括:存储所述数据包的标识及其对应的时间标记。
例如,可以采用链表等存储结构存储所述数据包的标识及其对应的时间标记。
其中,数据包的标识可以是所述数据包的编号。
结合第一方面或第一方面的第一种实现方式至第三种实现方式中的任一项,在第一方面的第四种实现方式中,所述时间标记的初始值为0,且所述时间标记随时间逐渐增大;或者,所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小;或者,所述时间标记为设置所述时间标记时的时间值。
在该实现方式中,时间标记包括三种实现方式,对于时间标记随时间逐渐增大或逐渐减小的方式,判断是否超时时较为简单;对于采用当前时间值作为时间标记的方式,时间标记设置较为简单。
结合第一方面的第四种实现方式,在第一方面的第五种实现方式中,所述根据所述数据包的时间标记判断所述数据包是否超时,包括:判断所述时间标记的值是否达到所述时间阈值,当所述时间标记的值达到所述时间阈值时,判断所述数据包超时;或者,判断所述时间标记的值是否减小到0,当所述时间标记的值减小到0时,判断所述数据包超时;或者,判断当前时间值与所述时间标记中设置所述时间标记时的时间值的差值是否大于或等于所述时间阈值,当所述差值大于或等于所述时间阈值时,判断所述数据包超时。
在该实现方式中,提供了三种时间标记的实现方式所对应的判断超时方法。
进一步地,对于不同类型的数据包,时间阈值设置可以不同,从而实现运营商对不同业务的灵活配置,提高网络带宽利用率,减少不必要的缓存占用。
结合第一方面或第一方面的第一种实现方式至第三种实现方式中的任一项,在第一方面的第六种实现方式中,所述方法还包括:删除所述数据包后的一个或连续至少两个数据包,所述数据包后的一个或连续至少两个数据包与所述数据包的类型相同。例如,数据包1、2和3为队列中连续的三个数据包,数据包1处在最前,这三个数据包的类型相同,此时,如果判断出数据包1超时,则将数据包1、2和3一起丢弃。这样做减少了对数据包2和3的超时判断,减小了处理量。
第二方面,本发明实施例提供了一种拥塞避免装置,所述装置包括用于实现上述第一方面所述的方法的单元,例如设置单元、缓存单元、判断单元和处理单元。
第三方面,本发明实施例提供了一种拥塞避免装置,所述拥塞避免装置包括处理器、存储器以及通信接口;所述处理器、存储器以及通信接口通过总线耦合;所述存储器用于存储程序指令,所述处理器通过执行存储在所述存储器内的程序指令使得所述拥塞避免装置能够执行第一方面所述的方法。
第四方面,本发明实施例还提供了一种计算机可读介质,用于存储供拥塞避免装置执行的程序代码,所述程序代码包括执行第一方面所述的方法的指令。
第五方面,本发明实施例还提供了一种通信芯片,应用在通信系统设备中,所述通信芯片包括:处理器、存储器以及通信接口;所述处理器、存储器以及通信接口通过总线耦合,所述存储器用于存储程序指令,所述处理器通过执行存储在所述存储器内的程序指令使得装载有所述通信芯片的通信系统设备能够执行如上述第一方面中任意一种可能的实施方式提供的方法。
附图说明
图1是本发明实施例提供的数据包存储示意图;
图2是本发明实施例提供的一种拥塞避免装置的硬件结构示意图;
图3是本发明实施例提供的一种拥塞避免方法流程图;
图4是本发明实施例提供的另一种拥塞避免方法流程图;
图4A是本发明实施例提供的数据包处理过程图;
图5是本发明实施例提供的一种通信装置的结构示意图;
图6是本发明实施例提供的一种通信芯片的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于实施例的描述,下面先对拥塞避免的场景进行简单说明:
图1是本发明实施例提供的数据包缓存示意图,如图1所示,路由器或者计算机的读取模块用于从缓存队列中取数据包,数据包采用先进先出(英文:First Input FirstOutput,简称:FIFO)的形式存储在缓存队列中,数据包1先入队则会先出队。数据包进入队列的过程,和读取模块从缓存队列中取数据包的速度通常并不相等。比如说,在非拥塞的系统中,很少有机会把数据包保留在缓存队列中,每个数据包都被读取模块及时处理了,只有当读取模块性能不足或发生故障时,进入缓存队列的数据包,才会迟迟得不到出队机会,当数据包读取模块恢复正常时,缓存的数据包很可能对于网络来说已经时延过大,没有必要再耗费性能来处理,所以主动丢弃时延过大数据包,对于系统性能是有益处的。本发明正是基于丢弃队列中时延过大数据包的思路实现的,具体参见后文。
本发明实施例提出的拥塞避免方案既可以应用在固网技术中,也可以应用在Linux消息通信和计算机任务处理中。具体可以应用在路由器、计算机等设备中。
下面结合具体的硬件结构对实现本发明实施例提供的拥塞避免装置进行说明。
图2示出了实现本发明实施例提供的一种拥塞避免装置120的硬件结构,该拥塞避免装置120可以为路由器、计算机等。如图2所示,该拥塞避免装置120包括:处理器21、通信接口22、存储器23。
处理器21包括一个或者一个以上处理核心,处理器21通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
通信接口22、存储器23以及处理器21通过总线耦合。存储器23可用于存储软件程序以及模块。存储器可存储操作系统24、至少一个功能所述的应用程序模块25。
应用程序模块25至少包括:用于设置时间标记的设置模块250、用于存入数据包的缓存模块251、用于判断是否超时的判断模块252和用于删除数据包的处理模块253。设置模块250用于为接收到的数据包设置时间标记,所述时间标记用于判断所述数据包在缓存中的时间是否超时;缓存模块251,用于将所述数据包存入缓存队列中;判断模块252,用于根据所述数据包的时间标记判断所述数据包是否超时;处理模块253,用于当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
可选地,处理器21用于执行应用程序模块25中的各个模块,实现如图3和图4中由拥塞避免装置所需要执行的步骤。
此外,存储器23是一种计算机可读存储介质,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随时存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
本领域技术人员可以理解,图2中所示出的拥塞避免装置120的结构并不构成对拥塞避免装置的限定,可以包括比图示更多或更少的部件或组合某些部件,或者不同的部件布置。
参见图3,其示出了本发明实施例提供的一种拥塞避免方法,由图2示出的拥塞避免装置120执行,该方法包括:
S101:为接收到的数据包设置时间标记,所述时间标记用于判断所述数据包在缓存中的时间是否超时。
在本发明实施例中,时间标记用于判断数据包在缓存队列中停留的时间是否超时。时间标记具体可以是静态时间,例如设置时间标记的时间;也可以是动态时间,例如从0开始逐渐增大,或者从某一时间值开始逐渐减小。
在本发明实施例中,时间标记可以采用链表等存储结构进行存储。
S102:将所述数据包存入缓存队列中。
在设置时间标记后,将数据包放入缓存队列中。当时间标记是动态时间时,随着数据包在缓存队列中存储的时间增加,可以对上述时间标记的数值进行更改。
S103:根据所述数据包的时间标记判断所述数据包是否超时。
具体地判断方法根据时间标记类型不同而有所不同,例如当所述时间标记的初始值为0,且所述时间标记随时间逐渐增大时,判断所述时间标记的值是否达到所述时间阈值,当所述时间标记的值达到所述时间阈值时,判断所述数据包超时;当所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小时,判断所述时间标记的值是否减小到0,当所述时间标记的值减小到0时,判断所述数据包超时;当所述时间标记为设置所述时间标记时的时间值(设置时间标记的时间)时,判断当前时间值与所述时间标记中设置所述时间标记时的时间值的差值是否大于或等于所述时间阈值,当所述差值大于或等于所述时间阈值时,判断所述数据包超时。
S104:当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
在本发明实施例中,在将数据包从缓存队列中删除后,将队列中后续数据包向前移动,填补被删除的数据包的位置。
参见图4,其示出了本发明实施例提供的另一种拥塞避免方法,由图2示出的拥塞避免装置120执行,该方法包括:
S201:接收数据包。
在不同的应用场景中,接收到的数据包也可能不同。例如,在固网中,路由器可以接收其他网络节点发送的业务数据包;在Linux消息通信中,计算机中一个进程可以接收其他进程发送的消息数据包。在计算机任务处理中,计算机的中央处理器(英文:CentralProcessing Unit,简称:CPU)可以接收到任务请求数据包。
S202:判断所述数据包的类型。
在本发明实施例中,对于不同的类型,有不同的时延要求。因而,对不同的类型的数据包的处理方法也就不同。对于时延要求严格的,需要对其设置时间标记,并周期性判断数据包存留时间是否超时,当存留时间超时时,及时删除。而对于另外一些对时延要求较低的业务,可以不对其设置时间标志,也无需执行后续处理。在有时延要求的业务中,对于不同的业务,时延要求也不尽相同,因此,对于不同的业务超时判断的时间阈值可能也就不同。
其中,数据包的类型可以是业务类型,也可以是长度类型(数据包长度)。其中,业务类型可以是语音数据包、网路协定电视(英文:Internet Protocol Television,简称:IPTV)数据包等。长度类型可以为小于1500字节、1500-9600字节等。
不同的场景可以使用不同的类型进行分类,例如在固网中,可以通过业务类型对数据包进行分类,而在Linux消息通信中,则可以通过长度类型对数据包进行分类。
在一种可能的实现方式中,判断所述数据包的类型可以包括:
根据所述数据包包头中的字段判断所述数据包的类型(业务类型);或者,根据所述数据包的大小判断所述数据包的类型(长度类型)。
例如,根据所述数据包包头中的标签类型、英特网协议(英文:InternetProtocol,简称:IP)地址或媒体访问控制(英文:Media Access Control,简称:MAC)地址等字段判断数据包的业务类型。其中,数据包包头中的IP地址或MAC地址是和某一个用户或某一条业务流对应的,而某一个用户或某一条业务流是与具体业务对应的,因此根据IP地址或MAC地址即可判断数据包的业务类型。
或者,在接收到数据包后通过检测数据包长度确定其长度类型。这种方式可以针对某种长度的数据包进行拥塞避免,例如希望针对长包1500-9600字节的数据包进行拥塞避免的配置。
在本发明实施例中,可以按照需求实现对需要进行拥塞避免的业务进行配置。例如,用户希望针对IPTV业务进行拥塞避免配置,此时,路由器在收到数据包时,判断数据包是否为IPTV数据包。
S203:当所述数据包的类型为设定类型时,为所述数据包设置时间标记,所述时间标记用于判断所述数据包在缓存中的时间是否超时。
其中,所述为所述数据包设置时间标记,包括:
存储所述数据包的标识及其对应的时间标记。
例如,可以采用链表等存储结构存储所述数据包的标识及其对应的时间标记。
其中,数据包的标识可以是所述数据包的编号。
如图4A所示,在接收到数据包后,先判断数据包的类型,然后为不同的数据包设置不同的时间标记T。
其中,所述时间标记的初始值为0,且所述时间标记随时间逐渐增大;或者,所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小;或者,所述时间标记为设置所述时间标记时的时间值。
以图4A为例,图中数据包1、2和3设置的时间标记T分别为NA、X和NA,其中T=X表示该数据包设置有时间标记,T=NA表示该数据包没有设置时间标记。
在本发明实施例中,时间阈值按照可以为秒、毫秒设置纳秒。
S204:将所述数据包存入缓存队列中。
在设置时间标记后,将数据包放入缓存队列中。当时间标记是动态时间时,随着数据包在缓存队列中存储的时间增加,可以对上述时间标记的数值进行更改。
如果时间标记初始值为T=X,则T会随着时间逐渐减小,依次变化为X-1,X-2……直到0。例如,X=3ms,则从初始值开始经过3ms后,T=0。
如果时间标记初始值为T=0,则T会随着时间逐渐增大,依次变化为1,2……直到X。例如,X=3ms,则从初始值开始经过3ms后,T=3ms。
S205:根据所述数据包的时间标记判断所述数据包是否超时。
在本发明实施例中,周期性地根据所述数据包的时间标记判断数据包是否超时。其中,周期具体可以按需配置,最小为1ms。周期设置过大,则会导致处理量过大,周期设置过小,不能满足时延要求较高业务的需求。
具体的判断方法根据时间标记类型不同而有所不同,例如当所述时间标记的初始值为0,且时间标记随时间逐渐增大时,判断所述时间标记的值是否达到所述时间阈值,当所述时间标记的值达到所述时间阈值时,判断所述数据包超时;当所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小时,判断所述时间标记的值是否减小到0,当所述时间标记的值减小到0时,判断所述数据包超时;当所述时间标记为设置所述时间标记时的时间值(设置时间标记的时间)时,判断当前时间值与所述时间标记中设置所述时间标记时的时间值的差值是否大于或等于所述时间阈值,当所述差值大于或等于所述时间阈值时,判断所述数据包超时。
对于第三种方式,由于所述时间阈值的大小是与数据包的类型对应的,因此在计算出所述差值后,根据所述数据包的类型确定时间阈值,然后比较差值与时间阈值的大小。例如设置时间标记的时间为T1,当前时间值为T2,根据数据包的类型确定出时间阈值为X,如果T2-T1≥X,则判断所述数据包超时。其中,各个类型对应的时间阈值大小按需配置,因为各个设备商或运营商对时延的要求不统一。
对于第三种方式而言,在记录所述数据包的编号及其对应的时间标记时,还可以存储其类型,从而方便在比较差值与时间阈值的大小时,便于获取对应的时间阈值。
S206:当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
可选地,所述方法还包括:
删除所述数据包后的一个或连续至少两个数据包,所述数据包后的一个或连续至少两个数据包与所述数据包的类型相同。
例如,数据包1、2和3为队列中连续的三个数据包,数据包1处在最前,这三个数据包的类型相同,此时,如果判断出数据包1超时,则将数据包1、2和3一起丢弃。这样做减少了对数据包2和3的超时判断,减小了处理量。
在本发明实施例中,当存在连续的相同类型的多个数据包进入缓存队列时,既可以为多个数据包都设置时间标记,也可以只对其中部分数据包设置时间标记,例如第一个和最后一个。
在本发明实施例中,当存在连续的相同类型的多个数据包时,当第一个数据包超时时,既可以删除多个数据包中的全部数据包,也可以只删除多个数据包中的部分数据包。例如,缓存队列中连续存储了某个业务的数据包共x个,当首个数据包超时时,后续数据包超时的可能也很大,但不是所有数据包都同一时刻进入缓存,因此,可以只删除设定数量的数据包。这里设定数量需要根据实际需要设置。下面通过例子说明设定数量的大小,对本方案的影响:如多个数据包中前10个数据包同时进入缓存队列,在这10个数据包即将超时的时刻,又有1个相同类型的数据包进入缓存队列,此时如果设定数量大于10时,刚进入缓存的最后一个数据包就被提前丢弃了,但这样能够减少硬件的处理量。
在本发明实施例中,在将数据包从缓存队列中删除后,将队列中后续数据包向前移动,填补被删除的数据包的位置。
可选地,该方法还包括:当在设定时间内连续丢弃超过预定数量的数据包时,输出告警信息,从而提示当前丢包较大。
根据预定数量的不同设置可以实现不同告警,例如预定数量为0,则只要有数据包丢弃则进行告警;当预定数量大于0时,则可以通过告警提示当前丢包大。
另外,上述告警信息由拥塞避免装置产生,该告警信息还可以包括对应的设备信息(如路由器标识),该告警信息可以传输到其他管理控制设备,从而能够及时通知网络管理员发送拥塞的设备,从而可以即使解决拥塞。
本发明提供的上述拥塞避免方法可以与传统的拥塞避免策略(如尾丢弃、RED、WRED等)一起使用。例如,对于队列中的数据包采用本实施例提供的方法处理,而对于未进入队列的数据包可以采用尾丢弃、RED或WRED机制进行处理。
以下为本发明实施例的装置实施例,对于装置实施例中未详细描述的细节,请参考上述对应的方法实施例。
图5示出了本发明一个实施例提供的通信装置的框图。该通信装置可以通过专用硬件电路,或者,软硬件的结合实现成为拥塞避免装置的全部或一部分。该拥塞避免装置包括:设置单元301、缓存单元302、判断单元303和处理单元304。其中,设置单元301,用于为接收到的数据包设置时间标记,所述时间标记用于判断所述数据包在缓存中的时间是否超时;缓存单元302,用于将所述数据包存入缓存队列中;判断单元303,用于根据所述数据包的时间标记判断所述数据包是否超时;处理单元304,用于当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
其中,所述设置单元301,用于:判断所述数据包的类型;当所述数据包的类型为设定类型时,为所述数据包设置时间标记。
其中,所述设置单元301,用于:根据所述数据包包头中的字段判断所述数据包的类型;或者,根据所述数据包的大小判断所述数据包的类型。
其中,所述设置单元301,用于:存储所述数据包的标识及其对应的时间标记。
其中,所述时间标记的初始值为0,且所述时间标记随时间逐渐增大;或者,所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小;或者,所述时间标记为设置所述时间标记时的时间值。
其中,所述判断单元303,用于:判断所述时间标记的值是否达到所述时间阈值,当所述时间标记的值达到所述时间阈值时,判断所述数据包超时;或者,判断所述时间标记的值是否减小到0,当所述时间标记的值减小到0时,判断所述数据包超时;或者,判断当前时间值与所述时间标记中设置所述时间标记时的时间值的差值是否大于或等于所述时间阈值,当所述差值大于或等于所述时间阈值时,判断所述数据包超时。
可选地,所述处理单元304,还用于:删除所述数据包后的一个或连续至少两个数据包,所述数据包后的一个或连续至少两个数据包与所述数据包的类型相同。
相关细节可结合参考图3和图4所述的方法实施例。
需要说明的是,上述设置单元301、缓存单元302、判断单元303和处理单元304可以由处理器实现或者,处理器执行存储器中的程序指令来实现。
图6示出了本发明一个实施例提供的通信芯片的结构图,应用在前述拥塞避免装置中。该通信芯片包括:处理器410、存储器420和通信接口430。处理器410通过总线分别与存储器420和通信接口430相连。
通信接口430用于与实现其它通信设备之间的通信。
处理器410包括一个或一个以上处理核心。处理器410通过运行操作系统或应用程序模块。
可选地,存储器420可存储操作系统422、至少一个功能所需的应用程序模块424。可选地,应用程序模块424包括:接收模块424a、处理模块424b和发送模块424c。其中,接收模块424a用于实现数据包接收有关的步骤;处理模块424b用于实现时间标记设置、超时判断和数据包丢弃等有关计算或处理的步骤;发送模块424c用于实现有关发送的步骤。
此外,存储器420可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
本领域技术人员可以理解,图6中所示出的结构并不构成上述通信芯片的限定,可以包括比图示更多或更少的部件或组合某些部件,或者不同的部件布置。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种拥塞避免方法,其特征在于,所述方法包括:
为接收到的数据包设置时间标记;
将所述数据包存入缓存队列中;
根据所述数据包的时间标记判断所述数据包是否超时;
当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
2.根据权利要求1所述的方法,其特征在于,所述为接收到的数据包设置时间标记,包括:
判断所述数据包的类型;
当所述数据包的类型为设定类型时,为所述数据包设置时间标记。
3.根据权利要求2所述的方法,其特征在于,所述判断所述数据包的类型,包括:
根据所述数据包包头中的字段判断所述数据包的类型;或者,
根据所述数据包的大小判断所述数据包的类型。
4.根据权利要求2所述的方法,其特征在于,所述为所述数据包设置时间标记,包括:
存储所述数据包的标识及其对应的时间标记。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述时间标记的初始值为0,且所述时间标记随时间逐渐增大;或者,所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小;或者,所述时间标记为设置所述时间标记时的时间值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述数据包的时间标记判断所述数据包是否超时,包括:
判断所述时间标记的值是否达到所述时间阈值,当所述时间标记的值达到所述时间阈值时,判断所述数据包超时;或者,
判断所述时间标记的值是否减小到0,当所述时间标记的值减小到0时,判断所述数据包超时;或者,
判断当前时间值与所述时间标记中设置所述时间标记时的时间值的差值是否大于或等于所述时间阈值,当所述差值大于或等于所述时间阈值时,判断所述数据包超时。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
删除所述数据包后的一个或连续至少两个数据包,所述数据包后的一个或连续至少两个数据包与所述数据包的类型相同。
8.一种拥塞避免装置,其特征在于,所述装置包括:
设置单元,用于为接收到的数据包设置时间标记,所述时间标记用于判断所述数据包在缓存中的时间是否超时;
缓存单元,用于将所述数据包存入缓存队列中;
判断单元,用于根据所述数据包的时间标记判断所述数据包是否超时;
处理单元,用于当所述数据包超时时,将所述数据包从所述缓存队列中丢弃。
9.根据权利要求8所述的装置,其特征在于,所述设置单元,用于:
判断所述数据包的类型;当所述数据包的类型为设定类型时,为所述数据包设置时间标记。
10.根据权利要求9所述的装置,其特征在于,所述设置单元,用于:
根据所述数据包包头中的字段判断所述数据包的类型;或者,根据所述数据包的大小判断所述数据包的类型。
11.根据权利要求9所述的装置,其特征在于,所述设置单元,用于:
存储所述数据包的标识及其对应的时间标记。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述时间标记的初始值为0,且所述时间标记随时间逐渐增大;或者,所述时间标记的初始值为时间阈值,且所述时间标记随时间逐渐减小;或者,所述时间标记为设置所述时间标记时的时间值。
13.根据权利要求12所述的装置,其特征在于,所述判断单元,用于:
判断所述时间标记的值是否达到所述时间阈值,当所述时间标记的值达到所述时间阈值时,判断所述数据包超时;或者,判断所述时间标记的值是否减小到0,当所述时间标记的值减小到0时,判断所述数据包超时;或者,判断当前时间值与所述时间标记中设置所述时间标记时的时间值的差值是否大于或等于所述时间阈值,当所述差值大于或等于所述时间阈值时,判断所述数据包超时。
14.根据权利要求8至11任一项所述的装置,其特征在于,所述处理单元,还用于:
删除所述数据包后的一个或连续至少两个数据包,所述数据包后的一个或连续至少两个数据包与所述数据包的类型相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611171554.3A CN108206787A (zh) | 2016-12-17 | 2016-12-17 | 一种拥塞避免方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611171554.3A CN108206787A (zh) | 2016-12-17 | 2016-12-17 | 一种拥塞避免方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108206787A true CN108206787A (zh) | 2018-06-26 |
Family
ID=62602562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611171554.3A Pending CN108206787A (zh) | 2016-12-17 | 2016-12-17 | 一种拥塞避免方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108206787A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361616A (zh) * | 2018-10-31 | 2019-02-19 | 晶晨半导体(上海)股份有限公司 | 一种提高网络性能的控制方法 |
CN111224820A (zh) * | 2019-12-30 | 2020-06-02 | 视联动力信息技术股份有限公司 | 一种带宽计算的方法和装置 |
CN112491871A (zh) * | 2020-11-25 | 2021-03-12 | 北京宝兰德软件股份有限公司 | 一种tcp重组方法、装置、电子设备及存储介质 |
WO2022016889A1 (zh) * | 2020-07-22 | 2022-01-27 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
CN114765585A (zh) * | 2020-12-30 | 2022-07-19 | 北京华为数字技术有限公司 | 一种服务质量检测方法、报文处理方法及装置 |
WO2023045551A1 (zh) * | 2021-09-26 | 2023-03-30 | 中兴通讯股份有限公司 | 摄像头控制方法、系统、电子设备和存储介质 |
CN116347229A (zh) * | 2022-12-21 | 2023-06-27 | 荣耀终端有限公司 | 图像拍摄的方法及电子设备 |
CN112449228B (zh) * | 2019-08-30 | 2024-05-31 | 青岛海信宽带多媒体技术有限公司 | 一种播放器与页面的状态同步的方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009847A (zh) * | 2006-01-23 | 2007-08-01 | 美国阿尔卡特资源有限合伙公司 | 视频感知业务管理 |
CN201444641U (zh) * | 2007-10-01 | 2010-04-28 | 交互数字专利控股公司 | 无线发射/接收单元 |
CN101904197A (zh) * | 2007-12-20 | 2010-12-01 | 株式会社Ntt都科摩 | 移动台、基站装置、通信控制方法以及移动通信系统 |
CN102170663A (zh) * | 2011-05-23 | 2011-08-31 | 迈普通信技术股份有限公司 | 基于3g的实时传输业务中保证服务质量的方法及设备 |
CN104702531A (zh) * | 2013-12-10 | 2015-06-10 | 华为技术有限公司 | 一种网络设备拥塞避免的方法及网络设备 |
CN105897365A (zh) * | 2016-03-23 | 2016-08-24 | 京信通信技术(广州)有限公司 | 一种处理器的防冲击处理方法及装置 |
-
2016
- 2016-12-17 CN CN201611171554.3A patent/CN108206787A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009847A (zh) * | 2006-01-23 | 2007-08-01 | 美国阿尔卡特资源有限合伙公司 | 视频感知业务管理 |
CN201444641U (zh) * | 2007-10-01 | 2010-04-28 | 交互数字专利控股公司 | 无线发射/接收单元 |
CN101904197A (zh) * | 2007-12-20 | 2010-12-01 | 株式会社Ntt都科摩 | 移动台、基站装置、通信控制方法以及移动通信系统 |
CN102170663A (zh) * | 2011-05-23 | 2011-08-31 | 迈普通信技术股份有限公司 | 基于3g的实时传输业务中保证服务质量的方法及设备 |
CN104702531A (zh) * | 2013-12-10 | 2015-06-10 | 华为技术有限公司 | 一种网络设备拥塞避免的方法及网络设备 |
CN105897365A (zh) * | 2016-03-23 | 2016-08-24 | 京信通信技术(广州)有限公司 | 一种处理器的防冲击处理方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361616A (zh) * | 2018-10-31 | 2019-02-19 | 晶晨半导体(上海)股份有限公司 | 一种提高网络性能的控制方法 |
CN109361616B (zh) * | 2018-10-31 | 2022-05-31 | 晶晨半导体(上海)股份有限公司 | 一种提高网络性能的控制方法 |
CN112449228B (zh) * | 2019-08-30 | 2024-05-31 | 青岛海信宽带多媒体技术有限公司 | 一种播放器与页面的状态同步的方法及设备 |
CN111224820A (zh) * | 2019-12-30 | 2020-06-02 | 视联动力信息技术股份有限公司 | 一种带宽计算的方法和装置 |
CN111224820B (zh) * | 2019-12-30 | 2023-10-13 | 视联动力信息技术股份有限公司 | 一种带宽计算的方法和装置 |
WO2022016889A1 (zh) * | 2020-07-22 | 2022-01-27 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
CN112491871A (zh) * | 2020-11-25 | 2021-03-12 | 北京宝兰德软件股份有限公司 | 一种tcp重组方法、装置、电子设备及存储介质 |
CN114765585A (zh) * | 2020-12-30 | 2022-07-19 | 北京华为数字技术有限公司 | 一种服务质量检测方法、报文处理方法及装置 |
CN114765585B (zh) * | 2020-12-30 | 2024-03-01 | 北京华为数字技术有限公司 | 一种服务质量检测方法、报文处理方法及装置 |
WO2023045551A1 (zh) * | 2021-09-26 | 2023-03-30 | 中兴通讯股份有限公司 | 摄像头控制方法、系统、电子设备和存储介质 |
CN116347229A (zh) * | 2022-12-21 | 2023-06-27 | 荣耀终端有限公司 | 图像拍摄的方法及电子设备 |
CN116347229B (zh) * | 2022-12-21 | 2024-03-15 | 荣耀终端有限公司 | 图像拍摄的方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108206787A (zh) | 一种拥塞避免方法和装置 | |
US20220303217A1 (en) | Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device | |
CN108390820B (zh) | 负载均衡的方法、设备及系统 | |
CN108243116B (zh) | 一种流量控制方法及交换设备 | |
CN104539440B (zh) | 具有入口控制的业务量管理 | |
WO2019033857A1 (zh) | 报文控制方法及网络装置 | |
US9705808B2 (en) | Flow aware buffer management for data center switches | |
EP4175232A1 (en) | Congestion control method and device | |
US20210006502A1 (en) | Flow control method and apparatus | |
CN112511325B (zh) | 网络拥塞控制方法、节点、系统及存储介质 | |
US11223568B2 (en) | Packet processing method and apparatus | |
US11165705B2 (en) | Data transmission method, device, and computer storage medium | |
CN107347198A (zh) | 一种限速方法、限速控制节点和限速设备 | |
US20230283578A1 (en) | Method for forwarding data packet, electronic device, and storage medium for the same | |
CN112054964A (zh) | 队列拥塞控制方法、装置、设备及存储介质 | |
US12206591B2 (en) | Managing data traffic congestion in network nodes | |
CN111131061B (zh) | 一种数据传输方法及网络设备 | |
CN104869077B (zh) | 令牌传输控制方法及系统 | |
WO2023280004A1 (zh) | 一种网络配置方法、设备和系统 | |
WO2022152230A1 (zh) | 信息流识别方法、网络芯片及网络设备 | |
WO2022063126A1 (zh) | 报文传输控制、生成、传输方法及配置方法、设备、介质 | |
CN112737940A (zh) | 一种数据传输的方法和装置 | |
US20240064109A1 (en) | Method and system for dynamic quota-based congestion management | |
US11108697B2 (en) | Technologies for controlling jitter at network packet egress | |
CN117749726A (zh) | Tsn交换机输出端口优先级队列混合调度方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180626 |
|
RJ01 | Rejection of invention patent application after publication |