一种发送数据流的方法、设备和系统技术方案

技术编号:21576973 阅读:53 留言:0更新日期:2019-07-10 16:55
本申请提供了一种发送数据流的方法,该方法包括:第一设备向第二设备发送请求报文。在所述第一设备发送所述请求报文之后至所述第一设备接收所述第二设备发送所述响应报文之前,第一设备向第二设备发送数据流。第一设备接收第二设备发送的响应于请求报文的响应报文。通过上述方法,可以避免第一设备仅向第二设备发送请求报文造成的带宽浪费,以充分利用网络资源。

A Method, Equipment and System for Sending Data Stream

【技术实现步骤摘要】
一种发送数据流的方法、设备和系统
本专利技术涉及通信
,尤其涉及一种发送数据流的方法、设备和系统。
技术介绍
在多个发送端同时向同一接收端发送数据流的情况下,接收端会出现拥塞,对传输层的拥塞控制机制有很多,例如源端设备通过接收网络中拥塞设备发送的拥塞通知报文来调整发送速率,减轻网络拥塞,减小时延,典型的如数据中心传输控制协议(英文:DataCenterTransmissionControlProtocol,简称:DCTCP),或者针对远程直接数据存取(RemoteDirectMemoryAccess)技术。但上述技术都是在拥塞发生后再进行调整,不利于快速缓解拥塞,容易造成丢包,而且源端设备由于不确定降低速率的幅度,容易出现降速过多,使网络出现欠吞吐的现象。在另一种拥塞控制机制中,发送端首先向接收端发送请求报文,该请求报文用于请求接收端允许发送端发送数据流,接收端接收到发送端的请求报文会向发送端发送响应报文指示发送端发送数据流。而发送端在向接收端发送请求报文的往返时间内,通常会造成带宽的浪费,尤其是发送端需要发送的数据流的量比较小的情况,带宽浪费的情况会更加明显。
技术实现思路
本申请实施例提供了一种发送数据流的方法、设备和系统,以避免发送端向接收端发送数据流时出现浪费带宽的问题。第一方面,本申请提供了一种发送数据流方法。该方法包括:第一设备向第二设备发送请求报文,其中,请求报文用于请求第二设备授予第一设备信用,该信用用于指示第二设备允许第一设备向第二设备发送的数据的数量。在所述第一设备发送所述请求报文之后至所述第一设备接收所述第二设备发送的所述响应报文之前,第一设备向第二设备发送数据流。第一设备接收第二设备发送的响应于请求报文的响应报文,该响应报文包含第一信用,该第一信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量。采用上述方法,在第一设备与第二设备的一个往返时延内,第一设备不仅可以向第二设备发送请求报文,还可以由第一设备向第二设备发送数据流,这样就避免第一设备仅向第二设备发送请求报文而造成的带宽浪费,以充分利用网络资源。在一种可能的设计中,从第一设备到第二设备的链路的带宽的值为C。从所述第一设备发送所述请求报文至所述第一设备接收所述第二设备发送的所述响应报文的持续时间为T。该T与该C的乘积为带宽时延乘积BDP,其中,该数据流和该请求报文的大小之和为A,A小于或等于所述BDP。采用上述方案,在从所述第一设备发送所述请求报文至所述第一设备接收所述第二设备发送的所述响应报文的持续时间内,限制请求报文和该数据流的大小之和小于或等于该带宽积,以避免第一设备发送的请求报文和数据流的和大于链路的BDP。如果第一设备发送的请求报文和数据流的和大于链路的BDP,则会造成拥塞。在一种可能的设计中,所述方法还包括:响应于所述第一设备接收到的所述响应报文,所述第一设备向所述第二设备发送通知报文,所述通知报文用于通知所述第二设备所述第一设备已向所述第二设备发送完毕所述数据流。采用上述方法,当第一设备的数据流小于或者等于第一信用的数量时,第一设备在其与第二设备方向的的一个发送请求报文往返时间内就可以将该数据流发送完毕,这样第一设备向第二设备发送通知报文,通知第二设备该数据流已经发送完毕,这样第二设备在知道该数据流已经发送完毕的情况下,可以断开与第一设备的连接或者检测该数据流是否出现丢包。在一种可能的设计中,该请求报文的转发优先级高于所述数据流的转发优先级。采用上述方案,请求报文携带高于数据流的转发优先级,以减小请求报文在转发过程不出现丢包。在一种可能的设计中,第一设备接收第二设备发送的响应于该请求报文的响应报文之后,所述方法还包括:第一设备向第二设备发送新的数据流,该新的数据流的数量小于或者等于所述第一信用指示的数量。采用上述方案,由于该信用的数量是第二设备可以接收第一设备发送的数据流的大小,第一设备向第二设备发送的新数据流小于或等于信用的指示的数量,以避免第一设备发送的新数据流大于信用的指示数量,造成第二设备发生拥塞。在一种可能的设计中,第一设备包含源队列对QP,第二设备包括目的地QP,该源QP和该目的地QP构成一个QP。该请求报文、该响应报文以及该数据流是基于所述QP进行发送的。该请求报文中的目的地QP字段携带所述目的地QP的标识,该响应报文中的目的地QP字段携带所述源QP的标识,该数据流携带所述目的地QP的标识。该新的数据流携带所述目的地QP的标识。采用上述方案,该网络可以采用基于融合以太的远程内存直接访问协议(英文:remotedirectmemoryaccessoverConvergedEthernet,简称:RoCE),通过RoCE报文发送请求报文、响应报文以及数据流。第二方面,本申请提供了一种发送数据的流方法。该方法包括:第二设备接收第一设备发送的请求报文,其中,该请求报文用于请求第二设备授予第一设备信用,该信用用于指示第二设备允许第一设备向第二设备发送的数据的数量。第二设备向第一设备发送响应于请求报文的响应报文。响应报文包含第一信用,该第一信用用于指示第二设备允许第一设备向第二设备发送的数据的数量。第二设备接收第一设备发送的数据流,其中,数据流是第一设备在第一设备发送所述请求报文之后至所述第一设备接收所述第二设备发送的所述响应报文之前发送的。在一种可能的设计中,所述方法还包括:从所述第一设备到所述第二设备的链路的带宽的值为C,从所述第一设备发送所述请求报文至所述第一设备接收所述第二设备发送的所述响应报文的持续时间为T,所述T与所述C的乘积为带宽时延乘积BDP,所述数据流和所述请求报文的大小之和为A,所述A小于或等于所述BDP。在一种可能的设计中,所述方法还包括:所述第二设备接收所述第一设备发送通知报文,所述通知报文用于通知所述第二设备所述第一设备已向所述第二设备发送完毕所述数据流。在一种可能的设计中,第二设备向第一设备发送的响应于请求报文的响应报文之后,所述方法还包括:第二设备接收第一设备发送的新的数据流,其中,新的数据流的数量小于或者等于第一信用指示的数量。第三方面,本申请提供了一种发送数据流的第一设备,执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该第一设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。第四方面,本申请提供了一种发送数据流的第二设备,执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该第二设备包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。第五方面,提供了一种网络设备,该网络设备包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。第六方面,提供了一种网络设备,该网络设备包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第二方面或第二方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。第七方面,本申请提供了一种发送数据流的系统,该系统包含前述方面提供的第一设备和第本文档来自技高网...

【技术保护点】
1.一种发送数据流的方法,其特征在于,所述方法包括:第一设备向第二设备发送请求报文,所述请求报文用于请求所述第二设备授予所述第一设备信用,所述信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量;所述第一设备接收所述第二设备发送的响应于所述请求报文的响应报文,所述响应报文包含第一信用,所述第一信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量;在所述第一设备发送所述请求报文之后至所述第一设备接收所述第二设备发送的所述响应报文之前,所述第一设备向所述第二设备发送数据流。

【技术特征摘要】
1.一种发送数据流的方法,其特征在于,所述方法包括:第一设备向第二设备发送请求报文,所述请求报文用于请求所述第二设备授予所述第一设备信用,所述信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量;所述第一设备接收所述第二设备发送的响应于所述请求报文的响应报文,所述响应报文包含第一信用,所述第一信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量;在所述第一设备发送所述请求报文之后至所述第一设备接收所述第二设备发送的所述响应报文之前,所述第一设备向所述第二设备发送数据流。2.根据权利要求1所述的方法,其特征在于,从所述第一设备到所述第二设备的链路的带宽的值为C,从所述第一设备发送所述请求报文至所述第一设备接收所述第二设备发送的所述响应报文的持续时间为T,所述T与所述C的乘积为带宽时延乘积BDP,所述数据流和所述请求报文的大小之和为A,所述A小于或等于所述BDP。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:响应于所述第一设备接收到的所述响应报文,所述第一设备向所述第二设备发送通知报文,所述通知报文用于通知所述第二设备所述第一设备已向所述第二设备发送完毕所述数据流。4.根据权利要求1或2所述的方法,其特征在于,所述第一设备接收所述第二设备发送的响应于所述请求报文的响应报文之后,所述方法还包括:所述第一设备向所述第二设备发送新的数据流,所述新的数据流的数量小于或者等于所述第一信用指示的数量。5.根据权利要求1至4任一所述的方法,其特征在于,所述请求报文的转发优先级高于所述数据流的转发优先级。6.根据权利要求1至5任一所述的方法,其特征在于,所述第一设备包含源队列对QP,所述第二设备包括目的地QP,所述源QP和所述目的地QP构成一个QP,所述请求报文、所述响应报文以及所述数据流是基于所述QP进行发送的;所述请求报文中的目的地QP字段携带所述目的地QP的标识,所述响应报文中的目的地QP字段携带所述源QP的标识,所述数据流携带所述目的地QP的标识;所述新的数据流携带所述目的地QP的标识。7.一种发送数据流方法,其特征在于,所述方法包括:第二设备接收第一设备发送的请求报文,所述请求报文用于请求所述第二设备授予所述第一设备信用,所述信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量;所述第二设备向所述第一设备发送响应于所述请求报文的响应报文,所述响应报文包含第一信用,所述第一信用用于指示所述第二设备允许所述第一设备向所述第二设备发送的数据的数量;所述第二设备接收所述第一设备发送的数据流,所述数据流是所述第一设备在所述第一设备发送所述请求报文之后至所述第一设备接收所述第二设备发送的所述响应报文之前发送的。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:从所述第一设备到所述第二设备的链路的带宽的值为C,从所述第一设备发送所述请求报文至所述第一设备接收所述第二设备发送的所述响应报文的持续时间为T,所述T与所述C的乘积为带宽时延乘积BDP,所述数据流和所述请求报文的大小之和为A,所述A小于或等于所述BDP。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:所述第二设备接收所述第一设备发送通知报文,所述通知报文用于通知所述第二设备所述第一设备已向所述第二设备发送完毕所述数据流。10.根据权利要求7或8所述的方法,其特征在于,所述第二设备向所述第一设备发送的响应于所述请求报文的响应报文之后,所述方法还包括:所述第二设备接收所述第一设备发送的新的数据流,所述新的数据流的数量小于或者等于所述第一信用指示的数量。11.一种第一设备,其特征在于,该设备包括...

【专利技术属性】
技术研发人员:张亚丽邱翔夏寅贲
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1