一种拥塞流识别方法及网络设备技术

技术编号:20926043 阅读:51 留言:0更新日期:2019-04-20 11:48
本申请实施例公开了一种拥塞流识别的方法及网络设备,用于提高拥塞流识别的准确性。本申请实施例方法包括:网络设备获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息,当所述非拥塞流队列的长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包,当所述目标输出端口的利用率大于或等于第二阈值时,所述网络设备确定与所述目标数据包对应的流为拥塞流。本申请实施例还提供了一种网络设备,用于提高拥塞流识别的准确性。

A Congestion Flow Recognition Method and Network Equipment

The embodiment of this application discloses a congestion flow identification method and network equipment for improving the accuracy of congestion flow identification. The embodiment method of the present application includes: a network device obtains the queue length of a non-congested flow queue, the non-congested flow queue includes the description information of the data packet or the data packet. When the length of the non-congested flow queue is greater than or equal to the first threshold, the network device determines the target output port of the target data packet, the target data packet is waiting to enter the non-congested flow queue. When the utilization ratio of the target output port is greater than or equal to the second threshold, the network device determines that the flow corresponding to the target data packet is a congestion flow. The embodiment of the application also provides a network device for improving the accuracy of congestion flow identification.

【技术实现步骤摘要】
一种拥塞流识别方法及网络设备
本申请涉及通信领域,尤其涉及一种拥塞流识别方法及网络设备。
技术介绍
对于端口具有非拥塞流队列的网络设备(比如:输入排队的交换机和路由器),当前往不同输出端口或同一输出端口的不同虚通道的数据包在同一个非拥塞流队列中时,如果队首的数据包由于某些原因不能转发(比如:目标输出端口繁忙),其后的数据包即使满足转发的条件(比如:目标输出端口空闲),但由于同一队列中的数据包一般要执行先入先出的调度,所以也不能进行转发,即前一个数据包的停顿阻塞了后一个可转发的数据包,这种现象称为队头阻塞(英文全称:headoflineblocking,英文简称:HOLB)。目前,为解决队头阻塞问题常采用一种动态拥塞隔离技术,该技术可以在拥塞发生时,动态识别可能引起队头阻塞的数据包,并将该数据包以及与该数据包特征匹配的其他数据包一同定义为拥塞流,随后将该拥塞流隔离到独立的拥塞流队列中去,从而消除了该拥塞流对其他非拥塞流的阻塞,其中对拥塞流的识别常采用以下方法:为非拥塞流队列配置一个判断是否发生拥塞的队列长度阈值,当队列排队长度大于或等于阈值时,随机选择一个队列中的数据包,或选择正要入队的数据包,将该数据包所属流识别为拥塞流。从以上描述中可以看出,这种技术虽然可以通过队列长度阈值判断是否有拥塞发生,但是随机选择数据包并将该数据包所属流识别为拥塞流的方式,导致拥塞流识别的准确性较低。
技术实现思路
本申请实施例提供了一种拥塞流识别方法及网络设备,用于提高拥塞流识别的准确性。有鉴于此,本申请实施例第一方面提供了一种拥塞流识别方法,包括:网络设备获取非拥塞流队列的队列长度,非拥塞流队列包括数据包或数据包的描述信息;当非拥塞流队列的队列长度大于或等于第一阈值时,网络设备确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;当目标输出端口的利用率大于或等于第二阈值时,网络设备确定与目标数据包对应的流为拥塞流。需要说明的是,网络设备可以通过查询转发信息库(forwardinformationdatabase,FIB)中目标数据包与目标输出端口的对应关系来确定目标数据包对应的目标输出端口。需要说明的是,网络设备确定了拥塞流之后会将拥塞流隔离到拥塞流队列。网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口的利用率大于或等于第二阈值时,网络设备确定与目标数据包对应的流为拥塞流,该方法对目标输出端口的利用率进行监控,当目标输出端口的利用率大于或等于第二阈值时即说明该目标输出端口输出的数据包较多可能引起阻塞,那么需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。结合本申请实施例第一方面,本申请实施例第一方面的第一种实施方式中,方法还包括:当目标输出端口的利用率小于第二阈值时,网络设备判断目标输出端口是否受到流控并暂停发送;若是,则网络设备确定与目标数据包对应的流为拥塞流。本申请实施例提供了一种当目标输出端口利用率小于第二阈值时,进一步确定拥塞流的方法,扩充的了本申请实施例的实现方式。结合本申请实施例第一方面,或第一方面的第一种实施方式,本申请实施例第一方面的第二种实施例中,网络设备确定与目标数据包对应的流为拥塞流之后,方法还包括:网络设备将目标数据包的目标表示信息记录到拥塞流流表。需要说明的是,该目标表示信息可以是该目标数据包的一元组信息,例如,目标数据包的目的互联网协议(internetprotocol,IP)地址,也可以是该目标数据包的多元组信息,例如,目标数据包的五元组信息,又或者可以是目标数据包的一元组或多元组加掩码形式的信息,例如,目标数据包的目的IP地址加掩码形式的信息,具体此处不做限定。可以理解的是,流是表示信息相同的数据包的集合,那么该目标表示信息也就是目标数据包所属的拥塞流的表示信息。需要说明的是,网络设备中的每个输入端口都有与之对应的拥塞流流表,除此之外,网络设备中的多个不同的输入端口可以共享同一个拥塞流流表,具体此处不做限定。结合本申请实施例第一方面的第二种实施方式,本申请实施例第一方面的第三种实施方式中,方法还包括:网络设备根据拥塞流流表进行入队控制。需要说明的是,在数据包进入队列之前,网络设备可以通过查找比对拥塞流流表对还未进入队列的数据包分配队列。结合本申请实施例第一方面的第三种实施方式,本申请实施例第一方面的第四种实施方式中,网络设备根据拥塞流流表进行入队控制包括:网络设备提取第一数据包的第一表示信息,第一数据包为在目标数据包之后等待进入非拥塞流队列的数据包;网络设备判断第一表示信息是否与拥塞流流表匹配;若是,则网络设备分配第一数据包进入拥塞流队列,拥塞流队列包括拥塞流。可以理解的是,网络设备查找拥塞流流表,并判断拥塞流流表中是否存在已经记录的某一拥塞流的表示信息与该第一表示信息匹配。需要说明的是,当第一表示信息并未与拥塞流流表匹配时,网络设备可以有两种执行方式,第一种方式,网络设备分配第一数据包进入非拥塞流队列,这种情况即网络设备不在第一数据包入队前对其执行拥塞流识别;第二种方式,网络设备对第一数据包执行拥塞流识别的步骤,网络设备判断第一数据包对应的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,则网络设备判断第一数据包对应的第一输出端口的利用率是否大于或等于第二阈值,若是,则网络设备确定第一数据包对应的流为拥塞流,进而将第一数据包的第一表示信息记录到拥塞流流表。结合本申请实施例第一方面,或第一方面的第一种实施方式,本申请实施例第一方面的第五种实施方式中,方法还包括:网络设备根据预置的调度策略进行出队调度。需要说明的是,网络设备根据预置的调度策略首先可以确定需要调度出队的第二数据包,随后网络设备判断该第二数据包是否属于拥塞流队列,若是,则网络设备调度该第二数据包出队,若否,则说明第二数据包来自非拥塞流队列,网络设备将对第二数据包执行拥塞流识别步骤,网络设备判断第二数据包对应的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,则网络设备判断第二数据包对应的第二输出端口的利用率是否大于或等于第二阈值,若是,则网络设备确定第二数据包对应的流为拥塞流,进而将第二数据包的第二表示信息记录到拥塞流流表。本申请实施例第二方面提供了一种拥塞流识别的方法,包括:网络设备获取非拥塞流队列的长度,非拥塞流队列包括数据包或数据包的描述信息;当非拥塞流队列的队列长度大于或等于第一阈值时,网络设备确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;当目标输出端口受到流控并暂停发送时,网络设备确定与目标数据包对应的流为拥塞流。需要说明的是,网络设备可以通过查询FIB中目标数据包与目标输出端口的对应关系来确定目标数据包对应的目标输出端口。需要说明的是,网络设备确定了拥塞流之后会将拥塞流隔离到拥塞流队列。网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口受到流控并暂停发送时,网络本文档来自技高网...

【技术保护点】
1.一种拥塞流识别的方法,其特征在于,包括:网络设备获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;当所述非拥塞流队列的队列长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;当所述目标输出端口的利用率大于或等于第二阈值时,所述网络设备确定与所述目标数据包对应的流为拥塞流。

【技术特征摘要】
1.一种拥塞流识别的方法,其特征在于,包括:网络设备获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;当所述非拥塞流队列的队列长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;当所述目标输出端口的利用率大于或等于第二阈值时,所述网络设备确定与所述目标数据包对应的流为拥塞流。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述目标输出端口的利用率小于所述第二阈值时,所述网络设备判断所述目标输出端口是否受到流控并暂停发送;若是,则所述网络设备确定与所述目标数据包对应的流为拥塞流。3.根据权利要求1或2所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:所述网络设备将所述目标数据包的目标表示信息记录到拥塞流流表。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述网络设备根据所述拥塞流流表进行入队控制。5.根据权利要求4所述的方法,其特征在于,所述网络设备根据所述拥塞流流表进行入队控制包括:所述网络设备提取第一数据包的第一表示信息,所述第一数据包为在所述目标数据包之后等待进入所述非拥塞流队列的数据包;所述网络设备判断所述第一表示信息是否与所述拥塞流流表匹配;若是,则所述网络设备分配所述第一数据包进入拥塞流队列,所述拥塞流队列包括所述拥塞流。6.根据权利要求1或2所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:所述网络设备根据预置的调度策略进行出队调度。7.一种拥塞流识别的方法,其特征在于,包括:网络设备获取非拥塞流队列的长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;当所述非拥塞流队列的队列长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;当所述目标输出端口受到流控并暂停发送时,所述网络设备确定与所述目标数据包对应的流为拥塞流。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:当所述目标输出端口没有受到流控且可以继续发送时,所述网络设备判断所述目标输出端口的利用率是否大于或等于第二阈值;若是,则所述网络设备确定与所述目标数据包对应的流为拥塞流。9.根据权利要求7或8所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:所述网络设备将所述目标数据包的目标表示信息记录到拥塞流流表。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:所述网络设备根据所述拥塞流流表进行入队控制。11.根据权利要求10所述的方法,其特征在于,所述网络设备根据所述拥塞流流表进行入队控制包括:所述网络设备提取第一数据包的第一表示信息,所述第一数据包为在所述目标数据包之后等待进入所述非拥塞流队列的数据包;所述网络设备判断所述第一表示信息是否与所述拥塞流流表匹配;若是,则所述网络设备分配所述第一数据包进入拥塞流队列,所述拥塞流队列包括所述拥塞流。1...

【专利技术属性】
技术研发人员:胡农达曹政刘小丽
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1