拥塞控制方法和网络设备技术

技术编号:19866093 阅读:16 留言:0更新日期:2018-12-22 13:50
本申请提供了一种拥塞控制方法和网络设备,方法包括:第一网络设备接收第二网络设备发送的第一消息,第一消息携带活跃流数目,活跃流数目是第二网络设备根据接收到的、来自第一网络设备的数据包所归属的数据流确定的数目;第一网络设备根据活跃流数目和第二网络设备的额定接收带宽,确定向第二网络设备发送数据流的发包控制信息,其中,发包控制信息指示第一网络设备根据发包控制信息向第二网络设备发送数据流时,第二网络设备的实际接收带宽达到额定接收带宽;第一网络设备根据发包控制信息向第二网络设备发送数据流。本申请能够对拥塞进行更好地控制,进而减少网络丢包。

【技术实现步骤摘要】
拥塞控制方法和网络设备
本申请涉及网络
,并且更具体地,涉及一种拥塞控制方法和网络设备。
技术介绍
随着人工智能、企业存储等新型应用的兴起,数据中心网络对低延时特性的需求也越来越迫切。而如何对数据中心网络进行拥塞控制,从而以保证数据中心网络的低延时特性是一个非常重要的问题。传统的拥塞控制方法主要是由接收端向发送端反馈网络的拥塞信息,发送端在获知网络的拥塞信息之后,再根据拥塞信息对发送数据的速率进行调整。例如,当网络拥塞时,发送端会降低数据包的发送速率,当网络不拥塞时,发送端会逐步提高数据包的发送速率。在上述方案中,发送端在得知网络的拥塞状态之后会逐步调整数据包的发送速率,速率的改变比较缓慢,可能会对数据包的传输过程中产生一定的延时,导致拥塞控制的效率不高。
技术实现思路
本申请提供一种拥塞控制方法和网络设备,能够更好地进行拥塞控制,进而减少网络丢包。第一方面,提供了一种拥塞控制方法,所述方法应用于数据中心网络,所述数据中心网络包括第一网络设备和第二网络设备,所述第一网络设备用于向第二网络设备发送数据流,该方法包括:所述第一网络设备接收所述第二网络设备发送的第一消息,所述第一消息携带活跃流数目,所述活跃流数目是所述第二网络设备根据接收到的、来自所述第一网络设备的数据包所归属的数据流确定的数目;所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送所述数据流的发包控制信息,其中,所述发包控制信息指示所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流时,所述第二网络设备的实际接收带宽达到所述额定接收带宽;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流。上述活跃流数目可以是指在一定的统计周期内,正在传输数据包的数据流的数目,具体地,上述活跃流数目可以是第二网络设备根据一个统计周期内接收到的来自第一网络设备的数据包所归属的数据流确定的数据流的数目。可选地,第一网络设备根据发包控制信息向第二网络设备发送的数据流的封装为基于融合以太的远程内存直接访问协议版本2(remotedirectmemoryaccessoverconvergedethernetversion2,RoCEv2)报文。可选地,上述第一消息携带在确认(Acknowledgement,ACK)报文中的option字段中。应理解,第一网络设备根据发包控制信息向第二网络设备发送的数据流可以是一个数据流(此时,该数据流可以是第一网络设备向第二网络设备发送的所有数据流中的任意一个数据流),也可以是多个数据流(该多个数据流可以是第一网络设备向第二网络设备发送的所有的数据流)。上述发包控制信息用于控制第一网络设备向第二网络设备发送数据流,并且,当第一网络设备按照该发包控制信息向第二网络设备发送数据流时,第二网络设备的实际带宽能够达到第二网络设备的额定接收带宽。第二网络设备的额定接收带宽可以是一个固定的带宽,在对第一网络设备进行配置时,可以直接将第二网络设备的额定接收带宽等信息配置给第一网络设备,使得第一网络设备能够从配置信息中获取第二网络设备的额定接收带宽。本申请中,通过活跃流数目和第二网路设备的额定接收带宽来确定发包控制信息,并根据该发包控制信息对第一网络设备向第二网络设备发送数据流进行控制,能够更好地进行拥塞控制,从而减少网络丢包。结合第一方面,在第一方面的某些实现方式中,所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送数据流的发包控制信息,包括:当所述活跃流数目小于第一阈值时,所述第一网络设备根据下列公式确定向所述第二网络设备发送所述数据流的发包控制信息;其中,C为所述第二网路设备的额定接收带宽,active_qp为所述活跃流数目,T是在网络空载的情况下,第一网络设备向所述第二网络设备发送的一个数据包达到所述第二网络设备所需的时间,V为T内所述第一网络设备向所述第二网络设备发送的所述数据流的数据量;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流,包括:所述第一网络设备在T内向所述第二网络设备发送的所述数据流中的数据包的数据量为V。上述数据量(datavolume)可以是数据流中的数据包的长度。例如,数据流1中包含数据包1、数据包2和数据包3,其中,每个数据包的长度为4个字节,那么,数据流1的长度为12个字节。在获得上述T的获取方式有很多,下面对这些获取方式举例说明。例如,可以在网络空载情况下,记录第一网络设备向第二网络设备发送的一个数据包的发送时间和到达时间,然后通过对到达时间和发送时间做差得到T。另外,还可以在网络空载情况下,第一网络设备连续向第二网络设备发送多个数据包(例如,1000个数据包),然后通过记录的时间得到每个数据包到从第一网络设备发送到第二网络设备接收所需要的时间,接下来对这些时间进行平均,得到这些时间的平均值,最后将得到的平均值确定为T。上述第一阈值可以根据经验来设置,例如,对于数据量较大的场景下,可以设置一个较大的数值作为第一阈值,而对于数据量较小的场景下,可以设置一个较小的数值作为第一阈值。上述第一阈值还可以根据第二网络设备的额定接收带宽、T以及单个数据包的长度来确定。具体地,可以将C*T/1pkt得到的数值确定为上述第一阈值。其中,1pkt表示单个数据包的长度。1pkt的具体长度可以根据实际情况来设置,在不同的场景下,1pkt可以设置成不同的长度,例如,在某些数据传输量较小的场景下(例如,智能电表定期上报电量信息)可以为1pkt设置一个较小的长度,而在数据传输量较大的场景下,可以为1pkt设置一个较大的长度。另外,1pkt也可以直接设置为网络允许的最大传输单元(maximumtransmissionunit,MTU)。结合第一方面,在第一方面的某些实现方式中,所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送数据流的发包控制信息,包括:当所述活跃流数目大于或者等于第一阈值时,所述第一网络设备根据下列公式确定向所述第二网络设备发送所述数据流的发包控制信息;其中,1pkt为单个数据包的长度,active_qp为所述活跃流数目,C为所述第二网路设备的额定接收带宽,interval为所述第一网络设备发送所述数据流时相邻数据包之间的时间间隔;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流,包括:所述第一网络设备以interval的时间间隔向所述第二网络设备发送所述数据流中的数据包。上述单个数据包的长度具体可以是单个数据包的数量大小,例如,单个数据包的数据量大小为3字节,那么,单个数据包的长度也是3字节。结合第一方面,在第一方面的某些实现方式中,所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送数据流的发包控制信息,包括:所述第一网络设备根据所述活跃流的数目、所述第二网络设备的额定接收带宽以及所述数据流的属性信息,确定向所述第二网络设备发送所述数据流的发包控制信息;其中,所述数据流的属性信息包括所述数据流的应用信息和所述数据流的数据量信息中的至少一种,所述数据流的应用信息用于本文档来自技高网...

【技术保护点】
1.一种拥塞控制方法,所述方法应用于数据中心网络,所述数据中心网络包括第一网络设备和第二网络设备,所述第一网络设备用于向第二网络设备发送数据流,其特征在于,包括:所述第一网络设备接收所述第二网络设备发送的第一消息,所述第一消息携带活跃流数目,所述活跃流数目是所述第二网络设备根据接收到的、来自所述第一网络设备的数据包所归属的数据流确定的数目;所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送所述数据流的发包控制信息,其中,所述发包控制信息指示所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流时,所述第二网络设备的实际接收带宽达到所述额定接收带宽;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流。

【技术特征摘要】
1.一种拥塞控制方法,所述方法应用于数据中心网络,所述数据中心网络包括第一网络设备和第二网络设备,所述第一网络设备用于向第二网络设备发送数据流,其特征在于,包括:所述第一网络设备接收所述第二网络设备发送的第一消息,所述第一消息携带活跃流数目,所述活跃流数目是所述第二网络设备根据接收到的、来自所述第一网络设备的数据包所归属的数据流确定的数目;所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送所述数据流的发包控制信息,其中,所述发包控制信息指示所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流时,所述第二网络设备的实际接收带宽达到所述额定接收带宽;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流。2.如权利要求1所述的方法,其特征在于,所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送数据流的发包控制信息,包括:当所述活跃流数目小于第一阈值时,所述第一网络设备根据下列公式确定向所述第二网络设备发送所述数据流的发包控制信息;其中,C为所述第二网路设备的额定接收带宽,active_qp为所述活跃流数目,T为在网络空载的情况下,所述第一网络设备向所述第二网络设备发送的一个数据包达到所述第二网络设备所需的时间,V为T内所述第一网络设备向所述第二网络设备发送的所述数据流的数据量;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流,包括:所述第一网络设备在T内向所述第二网络设备发送的所述数据流中的数据包的数据量为V。3.如权利要求1或2所述的方法,其特征在于,所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送数据流的发包控制信息,包括:当所述活跃流数目大于或者等于第一阈值时,所述第一网络设备根据下列公式确定向所述第二网络设备发送所述数据流的发包控制信息;其中,1pkt为单个数据包的长度,active_qp为所述活跃流数目,C为所述第二网路设备的额定接收带宽,interval为所述第一网络设备发送所述数据流时相邻数据包之间的时间间隔;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流,包括:所述第一网络设备以interval的时间间隔向所述第二网络设备发送所述数据流中的数据包。4.如权利要求1所述的方法,其特征在于,所述第一网络设备根据所述活跃流数目和所述第二网络设备的额定接收带宽,确定向所述第二网络设备发送数据流的发包控制信息,包括:所述第一网络设备根据所述活跃流的数目、所述第二网络设备的额定接收带宽以及所述数据流的属性信息,确定向所述第二网络设备发送所述数据流的发包控制信息;其中,所述数据流的属性信息包括所述数据流的应用信息和所述数据流的数据量信息中的至少一种,所述数据流的应用信息用于指示所述数据流的数据包所属的业务类型,所述数据流的数据量信息用于指示所述第一网络设备在预设时间内发送的属于第一数据流的数据包的数据量。5.如权利要求4所述的方法,其特征在于,所述第一网络设备根据所述活跃流数目、所述第二网络设备的额定接收带宽以及所述数据流的属性信息,确定向所述第二网络设备发送所述数据流的发包控制信息,包括:当所述活跃流数目小于第一阈值时,所述第一网络设备根据下列公式确定向所述第二网络设备发送所述数据流的发包控制信息;其中,C为所述第二网路设备的额定接收带宽,active_qp为所述活跃流数目,T为在网络空载的情况下,所述第一网络设备向所述第二网络设备发送的一个数据包达到所述第二网络设备所需的时间,w为所述数据流的权重,w是根据所述数据流的属性信息确定的,V为T内所述第一网络设备向所述第二网络设备发送的所述数据流的数据量;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流,包括:所述第一网络设备在T内向所述第二网络设备发送的所述数据流中的数据包的数据量为V。6.如权利要求4或5所述的方法,其特征在于,所述第一网络设备根据所述活跃流数目、所述第二网络设备的额定接收带宽以及所述数据流的属性信息,确定向所述第二网络设备发送所述数据流的发包控制信息,包括:当所述活跃流数目大于或者等于第一阈值时,所述第一网络设备根据下列公式确定向所述第二网络设备发送所述数据流的发包控制信息;其中,1pkt为单个数据包的长度,active_qp为所述活跃流数目,w为所述数据流的权重,w是根据所述数据流的属性信息确定的,C为所述第二网路设备的额定接收带宽,interval为所述第一网络设备发送所述数据流时相邻数据包之间的时间间隔;所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流,包括:所述第一网络设备以interval的时间间隔向所述第二网络设备发送所述数据流中的数据包。7.一种拥塞控制方法,所述方法应用于数据中心网络,所述数据中心网络包括第一网络设备和第二网络设备,所述第二网络设备用于接收所述第一网络设备发送的数据流,其特征在于,包括:所述第二网络设备根据接收到的、来自所述第一网络设备的数据包所归属的数据流确定活跃流数目;所述第二网络设备向所述第一网络设备发送第一消息,所述第一消息携带所述活跃流数目,所述活跃流数目用于所述第一网络确定向所述第二网络设备发送数据流的发包控制信息,所述发包控制信息指示所述第一网络设备根据所述发包控制信息向所述第二网络设备发送所述数据流时,所述第二网络设备的实际接收带宽达到所述第二网络设备的额定接收带宽;所述第二网络设备按照所述额定接收带宽接收所述第一网络设备发送的所述数据流。8.如权利要求7所述的方法,其特征在于,所述第二网络设备根据接收到的、来自所述第一网络设备的数据包所归属的数据流确定活跃流数目,包括:所述第二网络设备接收所述第一网络设备发送的第一组数据包的首包,并将当前活跃流数目加1,以得到第一活跃流数目;所述第二网络设备接收所述第一网络设备发送的所述第一组数据包的尾包,并根据所述第一组数据包中携带外部拥塞通知ECN标识的数据包的数量确定第一拥塞值;当所述第一拥塞值小于拥塞阈值时,所述第二网络设备将所述第一活跃流数目减1,以得到第二活跃流数目;当所述第一拥塞值大于或者等于所述拥塞阈值时,所述第二网络设备保持所述第一活跃流数目不变。9.如权利要求8所述的方法,其特征在于,所述根据所述第一组数据包中携带ECN标识的数据包的数量确定第一拥塞值,包括:将所述第一组数据包携带有ECN标识的数据包的数量与所述第一组数据包的数据包数量的比值确定为所述第一拥塞值。10.如权利要求8或9所述的方法,其特征在于,在所述第二网络设备接收到所述第一网络设备发送的所述第一组数据包的尾包之后,所述方法还包括:所述第二网络设备接收所述第一网络设备发送的第二组数据包的首包,并将第三活跃流数目加1,以得到第四活跃流数目,其中,所述第二组数据包与所述第一组数据包属于同一个数据流,当所述第一拥塞值小于所述拥塞阈值时,所述第三活跃流数目等于所述第二活跃流数目,当所述第一拥塞值大于或者等于所述拥塞阈值时,所述第三活跃流数目等于所述第一活跃流数目;所述第二网络设备接收所述第一网络设备发送的所述第二组数据包的尾包,并根据所述第二组数据包中携带ECN标识的数据包的数量和所述第一拥塞值,确定所述网络的第二拥塞值;当所述第二拥塞值小于所述拥塞阈值时,所述第二网络设备将所述第四活跃流数目减1,以得到第五活跃流数目;当所述第二拥塞值大于或者等于所述拥塞阈值时,所述第二网络设备保持所述第四...

【专利技术属性】
技术研发人员:刘孟竹张亚丽刘世兴
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1