传输数据的方法、主机和交换机技术

技术编号:19702787 阅读:28 留言:0更新日期:2018-12-08 14:19
本发明专利技术实施例中提供了一种传输数据的方法,该方法包括:第一主机在第一数据流的第一切片的每个报文中添加第一索引,该第一索引用于交换机在该第一主机到第二主机的多条可用路径中确定该第一索引对应的第一路径;向该交换机发送该第一数据流的第一切片,该第一切片的最后一个报文是该第一主机根据转发该第一切片的第一路径的路径状况信息确定的,以便该交换机通过所述第一路径向该第二主机转发该第一切片。在本发明专利技术实施例中,该第一主机通过在第一数据流的每个切片中增加索引,能够知道每个切片的传输路径的路径状况信息,进而能够避免该第一数据流的实际传输路径与主机侧拥塞窗口指示的路径不一致的问题。

【技术实现步骤摘要】
传输数据的方法、主机和交换机
本专利技术实施例涉及通信领域,并且更具体地,涉及一种传输数据的方法、主机和交换机。
技术介绍
目前,互联网数据正以爆炸性的方式增长。例如,新浪微博在中国的注册用户数量已经破3亿,腾讯(Tencent)的即时通讯工具活跃用户达到7.1亿,脸谱(Facebook)全球用户数量正逼近10亿。根据国际数据公司发布的报告(DigitalUniverseStudy2011),全球信息总量每过两年就会增长一倍。大数据的出现正迫使企业不断提升自身以数据中心为平台的数据处理能力。多年的研究及实践发现,基于克劳斯(Clos)架构的数据中心网络比传统的树形架构拓扑有着更好的扩展性,更多的等价路径数优势,且在Clos架构下,可以采用相同规格的设备来构建数据中心网络,而不再需要昂贵的汇聚设备,这些优势使得Clos架构在业界得到了越来越广泛的部署。现有技术中,基于Clos架构的数据中心网络可以采用传统的等价多路径(equal-costmulti-path,ECMP)哈希(hash)机制进行数据传输。其中,哈希是一种散列机制,具体地,指将M个输入数据通过计算后散列到N个对应结果上的方法。然而,传统ECMPhash机制是基于流进行hash的。也就是说,一条流会严格对应一条路径。这样对于每条流来说,网络中都会存在多条转发路径,使得多个流在同时转发的情况下,不同流会被发送到同一条转发路径上,使该转发路径出现拥塞。例如,如图1所示,四条流(flow)A、B、C、D分别从不同的源转发到不同的目的,流A与流B在左边第一个中间层设备处出现本地冲突(localcollision),流C与流D可在左边第二个最高层设备处出现下游冲突(downstreamcollision)。为了解决上述问题,思科提出了基于流切片(flowlet)实施的用于数据中心的分布式拥塞感知负载均衡方案(DistributedCongestion-awareLoadBalancingforDatacenters,CONGA),取代了传统的基于流进行hash的负载均衡方式,相比于flow来的更为精细。而按照CONGA的flowlet机制,每条流均可以分散到至少两条转发路径上,以达到更佳的负载均衡效果。但是,由于CONGA机制是在交换机上实施的,仅在负载均衡选路决策上采用flowlet,而发送方(主机)仍然是基于flow进行拥塞控制的,会导致实际传输路径的拥塞状态与发送方拥塞窗口不一致的问题,进而降低了数据的传输效率。例如,如图2所示,flowA从源交换机L0到目的交换机L1可以通过两条路径传输,分别是L0-S0-L1与L0-S1-L1,其中,L0-S0-L1对应的链路带宽为10Gbps,L0-S1-L1对应的链路带宽为1Gbps;发送方发出的flowA可以被切分为flowletA1与flowletA2;发送方在发出flowA的同时,会通过速率控制算法控制flowA的发送速率,并根据实施探测到的路径丢包状况进行速率调整;发送方首先以1Gbps的速率发送flowA的flowletA1,L0通过CONGA算法选择路径L0-S1-L1转发flowletA1;发送方发现本次传输的flowA流量没有发生拥塞,于是增加流的速率,例如以2Gbps的速率发送flowA的flowletA2;L0继续运行CONGA,此时路径L0-S0-L1的路径拥塞程度低于路径L0-S1-L1的拥塞程度,因此,按照CONGA算法,L0选择通过路径L0-S0-L1转发flowletA2;然而,由于路径L0-S0-L1的可用带宽为1Gbps,而flowlet2的2Gbps速率超过了L0-S0-L1的带宽,L0-S0-L1将出现拥塞,会丢弃flowletA2中的部分报文。通过以上分析可以发现,由于CONGA机制是在交换机上实施的,并且仅在负载均衡选路决策时采用flowlet,而主机侧是基于flow进行拥塞控制的,即,主机侧不知道flowA的实际传输路径。换句话说,主机侧拥塞窗口指示的是flowletA1的L0-S1-L1的拥塞状况,而flowletA2的实际传输路径是L0-S0-L1,出现flowA的实际传输路径与主机侧拥塞窗口指示的该flowA的传输路径不一致的问题,进一步地,导致主机侧的拥塞窗口不能准确的指示flowA的实际传输路径的拥塞状态,进而影响数据的传输效率。
技术实现思路
本申请提供了一种传输数据的方法、主机和交换机,能够在等价多路径的场景下,有效提高数据的传输效率。第一方面,提供了一种传输数据的方法,所述方法包括:第一主机在第一数据流的第一切片的每个报文中添加第一索引,所述第一索引用于交换机在所述第一主机到第二主机的多条可用路径中确定所述第一索引对应的第一路径;所述第一主机向所述交换机发送所述第一数据流的第一切片,所述第一切片的最后一个报文是所述第一主机根据转发所述第一切片的第一路径的路径状况信息确定的,所述第一切片包括所述第一索引,以便所述交换机通过所述第一路径向所述第二主机转发所述第一切片。在本专利技术实施例中,在第一主机需要向第二主机发送第一数据流时,该第一主机通过在第一数据流的每个切片中增加索引,能够知道每个切片的传输路径的路径状况信息,并根据当前切片的传输路径的路径状况信息,确定是否将该第一数据流再次切片,能够避免该第一数据流的实际传输路径与主机侧拥塞窗口指示的路径不一致的问题,进而有效保证了数据的传输效率。在一些可能的实现方式中,所述方法还包括:所述第一主机在所述第一路径的路径状况信息显示第一路径处于拥塞状态时,结束发送所述第一切片,且在所述第一切片之后,在所述第一数据流的第二切片的每个报文中添加第二索引,所述第二索引用于所述交换机在所述多条可用路径中确定所述第二索引对应的第二路径,所述第二路径与所述第一路径不同;所述第一主机向所述交换机发送所述第二切片,以便所述交换机通过所述第二路径向所述第二主机转发所述第二切片。本专利技术实施例的数据传输的方法,通过仅在所述第一路径的路径状况信息显示第一路径处于拥塞状态时,才结束发送所述第一切片,使得该第一主机能够最大限度的降低该第一数据流的切片数。在一些可能的实现方式中,所述方法还包括:所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片。在一些可能的实现方式中,所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片,包括:所述第一主机在所述第一路径的路径状况信息显示所述第一路径没有处于拥塞状态时,结束发送所述第二切片;所述方法还包括:所述第一主机在所述第二切片之后,在所述第一数据流的第三切片的每个报文中添加所述第一索引;所述第一主机向所述交换机发送第三切片,所述第三切片包括所述第一索引,以便所述交换机通过所述第一路径向所述第二主机转发所述第三切片。在一些可能的实现方式中,所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片,包括:所述第一主机在所本文档来自技高网
...

【技术保护点】
1.一种传输数据的方法,其特征在于,所述方法包括:第一主机在第一数据流的第一切片的每个报文中添加第一索引,所述第一索引用于使所述第一主机连接的交换机在所述第一主机到第二主机的多条可用路径中确定所述第一索引对应的第一路径;所述第一主机向所述交换机发送所述第一数据流的第一切片,所述第一切片的最后一个报文是所述第一主机根据转发所述第一切片的第一路径的路径状况信息确定的,以便所述交换机通过所述第一路径向所述第二主机转发所述第一切片。

【技术特征摘要】
1.一种传输数据的方法,其特征在于,所述方法包括:第一主机在第一数据流的第一切片的每个报文中添加第一索引,所述第一索引用于使所述第一主机连接的交换机在所述第一主机到第二主机的多条可用路径中确定所述第一索引对应的第一路径;所述第一主机向所述交换机发送所述第一数据流的第一切片,所述第一切片的最后一个报文是所述第一主机根据转发所述第一切片的第一路径的路径状况信息确定的,以便所述交换机通过所述第一路径向所述第二主机转发所述第一切片。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一主机在所述第一路径的路径状况信息显示第一路径处于拥塞状态时,结束发送所述第一切片;在所述第一数据流的第二切片的每个报文中添加第二索引,所述第二索引用于使所述交换机在所述多条可用路径中确定所述第二索引对应的第二路径,所述第二路径与所述第一路径不同;所述第一主机向所述交换机发送所述第二切片,以便所述交换机通过所述第二路径向所述第二主机转发所述第二切片。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片。4.根据权利要求3所述的方法,其特征在于,所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片,包括:所述第一主机在所述第一路径的路径状况信息显示所述第一路径没有处于拥塞状态时,结束发送所述第二切片;所述方法还包括:所述第一主机在所述第二切片之后,在所述第一数据流的第三切片的每个报文中添加所述第一索引;所述第一主机向所述交换机发送所述第三切片,以便所述交换机通过所述第一路径向所述第二主机转发所述第三切片。5.根据权利要求3所述的方法,其特征在于,所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片,包括:所述第一主机在所述第一路径的路径状况信息显示第一路径处于拥塞状态且所述第二路径的路径状况信息显示第二路径没有处于拥塞状态时,继续发送所述第二切片。6.根据权利要求3所述的方法,其特征在于,所述第一主机在发送预定长度的所述第二切片后,根据所述第一路径的路径状况信息和所述第二路径的路径状况信息,结束发送所述第二切片或者继续发送所述第二切片,包括:所述第一主机在所述第一路径的路径状况信息显示第一路径处于拥塞状态且所述第二路径的路径状况信息显示所述第二路径处于拥塞状态时,结束发送所述第二切片;所述方法还包括:所述第一主机在所述第二切片之后,在所述第一数据流的第三切片的每个报文中添加第三索引,所述第三索引用于使所述交换机在所述多条可用路径中确定所述第三索引对应的第三路径,所述第一路径、所述第二路径和所述第三路径互不相同;所述第一主机向所述交换机发送所述第三切片,以便所述交换机在所述第三路径上向所述第二主机转发所述第三切片。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一主机在第一数据流的第一切片的每个报文中添加第一索引之前,所述方法还包括:所述第一主机获取所述多条可用路径的总数,以便于所述第一主机根据所述多条可用路径的总数确定在所述第一数据流中能够添加的索引数量。8.根据权利要求7所述的方法,其特征在于,所述第一主机获取所述多条可用路径的总数,包括:所述第一主机向所述交换机发送第一传输控制协议TCP链接请求报文,所述TCP链接请求报文包括第一请求消息,所述第一请求消息用于请求获取所述多条可用路径的总数,使得所述交换机在所述第一TCP链接请求报文中添加所述多条可用路径的总数,生成需要向所述第二主机发送的第二TCP链接请求报文;所述第一主机接收所述交换机转发的所述第二TCP链接请求报文的响应报文,所述响应报文包括所述多条可用路径的总数。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第一主机在所述第一数据流的第二切片的每个报文中添加第二索引之前,所述方法还包括:所述第一主机通过所述交换机接收所述第二主机对应的服务器发送的所述第一路径的路径状况信息。10.一种传输数据的方法,其特征在于,所述方法包括:交换机接收第一主机发送的第一数据流的第一切片,所述第一切片的最后一个报文是所述第一主机根据转发所述第一切片的第一路径的路径状况信息确定的,所述第一切片的每个报文包括第一索引,所述第一索引用于使所述交换机在所述第一主机到第二主机的多条可用路径中确定所述第一索引对应的第一路径;所述交换机通过所述第一路径向第二主机转发所述第一切片。11.根据权利要求10所述的方法,其特征在于,所述交换机通过所述第一路径向第二主机转发所述第一切片之前,所述方法还包括:所述交换机建立对应关系表,所述对应关系表用于记录所述多条可用路径中每条可用路径对应的索引;所述交换机根据所述对应关系表和所述第一索引,确定所述第一路径。12.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:所述交换机接收所述第一主机发送的所述第一数据流的第二切片,所述第二切片的每个报文包括第二索引,所述第二索引用于所述交换机在所述多条可用路径中确定所述第二索引对应的第二路径,所述第二路径与所述第一路径不同;所述交换机通过所述第二路径向第二主机转发所述第二切片。13.根据权利要求10至12中任一项所述的方法,其特征在于,所述交换机接收第一主机发送的第一数据流的第一切片之前,所述方法还包括:所述交换机接收所述第一主机发送的第一传输控制协议TCP链接请求报文,所述TCP链接请求报文包括所述第一请求消息,所述第一请求消息用于请求获取所述第一主机到所述第二主机的多条可用路径的总数,以便于所述第一主机根据所述多条可用路径的总数确定在所述第一数据流中能够添加的索引数量;所述交换机在所述第一TCP链接请求报文中添加所述多条可用路径的总数,形成第二TCP链接请求报文;所述交换机向所述第二主机发送所述第二TCP链接请求报文;所述交换机接收所述第二主机发送的所述第二TCP链接请求报文的...

【专利技术属性】
技术研发人员:袁峰李兆耕毕军
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:广东,44

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

1