多路径传输设计制造技术

技术编号:18826458 阅读:24 留言:0更新日期:2018-09-01 14:33
本文公开了一种方法,所述方法包括:从用户应用程序接收要使用通过网络的单个连接从源地址传输到目的地地址的数据;以及根据通信协议将所述数据分成多个数据包。对于所述多个数据包中的每个数据包,从多个细流中确定用于要在其中传输的所述数据包的相应细流;基于所述数据包的所述确定的细流,设置所述数据包中的由所述网络的网络交换机用于路由所述数据包的字段;以及经由所述确定的细流,发送所述数据包以通过所述网络进行传输。

【技术实现步骤摘要】
【国外来华专利技术】多路径传输设计
技术介绍
在诸如数据中心之类的网络环境中,一个节点与另一个节点之间的数据流量可能非常大。因此,高速数据连接(例如InfiniBand(IB)、千兆以太网或光纤信道)被设计来处理繁重的数据流量。然而,随着数据量的不断增加以及因此对连接带宽和吞吐量的需求的增大,即使这些高速数据连接也可能会过载,从而导致网络拥塞。因此,希望进一步提高网络上数据传输的吞吐量,并通过更好地利用可用网络容量来避免网络拥塞。附图说明将参考附图描述根据本专利技术的各种实施方案,其中:图1示出了用于数据中心环境的示例网络架构;图2示出了高性能计算(HPC)环境;图3示出了源端点和目的地端点之间的InfiniBand网络连接;图4示出了源端点和目的地端点之间的InfiniBand连接中的队列对(QP);图5示出了多级Clos网络;图6示出了数据中心环境中的Clos网络;图7示出了网络结构的拓扑结构;图8示出了用于源端点与目的地端点之间的数据通信的多个细流;图9示出了UDP/IP数据包报头;图10示出了通过到网络的一个物理端口与多个目的地端点进行通信的源端点的框图;图11示出了通过到网络的多个物理端口与多个目的地端点进行通信的源端点的框图;图12是示出通过网络由多个细流在两个端点之间进行的数据通信的方法的流程图;图13是网络适配器设备的框图;图14示出了本文所描述的特征和系统的示例性架构,其包括根据一些实施方案的经由一个或多个网络连接的一个或多个服务提供商计算机和/或用户设备;以及图15示出了其中可实施各种实施方案的环境。具体实施方式在以下描述中,将描述各种实施方案。出于说明的目的,阐述具体的配置和细节以便提供对实施方案的透彻理解。然而,本领域技术人员将清楚,实施方案可在没有具体细节的情况下实践。此外,众所周知的特征可被省略或简化以免使正描述的实施方案混淆。如本文所使用,流或数据流通常指的是在某些情况下,按顺序遍历网络的相关联的数据包流。源端点上的用户应用程序可能希望通过网络将用户应用程序数据流发送到目的地端点。数据可以是一个或多个消息、一个或多个命令或一个或多个事务。在某些情况下,源端点和目的地端点可各自具有唯一的IP地址。在这种情况下,打算在单个TCP或UDP连接中从源IP地址传输到目的地IP地址的用户应用程序数据流可以被称为数据流或流。在其他一些情况下,多个端点可以共享一个IP地址,并且因此,多个端点之间的用户应用程序数据流可以在一对源IP地址和目的地IP地址之间的IP级别的数据流中多路传输。在这些情况下,打算在单个TCP或UDP连接中从源IP地址传输到目的地IP地址的来自多个端点的用户应用程序数据流可以被称为数据流或流,其中源IP地址由多个端点共享。在其他一些情况下,一个端点可能有多个IP地址,并且用户应用程序数据流可能打算使用多个IP地址通过多个路径发送。在这些情况下,打算在单个TCP或UDP连接中从源IP地址传输到目的地IP地址的用户应用程序数据流的每个部分都可以被称为数据流或流。如同样本文使用,路径通常是指数据包在两个IP地址之间通过网络采取的路线。细流通常是指与在单个路径上传输的流或数据流相关联的一组数据包。本公开的实施方案提供了用于高速数据传输的方法和系统,其可以在诸如数据中心环境之类的网络环境中的各种路径之间平衡负载,并且支持等价多路径(ECMP)路由,使得可以实现更好地将网络容量用于诸如数据中心、高性能计算(HPC)、存储区域网络(SAN)或局域网(LAN)之类的应用。这些方法中的一些或全部可在配置有可执行指令的一个或多个计算机系统的控制下执行,且可通过硬件或其组合实现为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。代码可存储在计算机可读存储介质上,例如,呈包括可由一个或多个处理器执行的多个指令的计算机程序的形式。计算机可读存储介质可为非暂时性的。本文所描述的技术包括通过操纵数据包报头中的字段,诸如为数据流的一些数据包分配数据包报头中的不同源端口,来将两个端点或两个IP地址之间的数据流分成多个细流,每个细流都采取通过网络的不同的路径,使得数据包可以路由到交换机的不同物理端口,并采取通过交换网络结构的不同的路径,而不使用不同的IP地址。可以控制细流的数量和一个细流中的数据包的数量,以避免使网络中的路径或节点过载。数据流拆分可以在网络接口卡或网络适配器设备处完成,使得用户应用程序或主机可能不需要知道拆分。数据包可以按顺序或乱序传递到目的地端点。可以由目的地端点上的应用程序,基于数据包报头中的信息,重新排序或重新组合由目的地端点从不同的细流接收到的数据包。I.高速网络以下部分描述了示例环境(例如数据中心)中的本公开的各种实施方案。应理解,本文所描述的方法和系统可以用于涉及通过网络中的交换结构进行数据通信的任何其他应用。数据中心通常包括许多布置在标准化组件(机架)中的服务器,以有效利用空间和其他资源。每个机架都可以包括多个服务器,诸如16、32、64或更多的服务器。同一机架的服务器与不同机架的服务器之间的互连可以通过一个或多个交换结构来完成。交换结构可以包括接入层、汇聚层和核心层。接入层可以包括直接连接到同一机架(架顶式或ToR)或行末(EoR)的服务器的设备,如交换机。汇聚层可以包括汇聚接入层设备以提供接入层域之间的连接的设备,例如交换机。核心层可以包括将数据中心内或跨多个地理位置的多个汇聚层设备与外界相互连接的设备,例如路由器。高性能计算、大数据、Web2.0和搜索应用程序依赖于对用户生成的大量数据进行实时管理、理解和响应。随着越来越多的用户向越来越多的应用程序和平台馈送数据,数据不再以算术方式增长,而是呈指数级增长。为了跟上数据的增长,数据中心也需要增长,无论是在数据容量方面还是在访问和分析数据的速度方面。目前,可扩展数据中心通常包括采用硬件配置(计算机和存储集群)和软件配置的并行基础设施,并采用最具扩展性、高能效、高性能的互连基础设施。图1示出了数据中心环境的示例网络架构100。网络架构100可以包括多个数据中心服务器102a-102d和一个或多个交换结构,用于各种数据中心互连。例如,如图1所示,服务器102a-102d可以往返于高性能计算(HPC)集群118、局域网(LAN)116或存储区域网络(SAN)114传输数据。服务器102a-102d中的每一个都可以与接入层交换机104a、104b、104c或104d进行连接。每个接入层交换机都可以具有多个物理端口,使得数据可以在不同的输入端口进入,并交换到不同的输出端口。为了实现冗余以防接入层交换机故障,数据中心环境的网络架构还可以包括冗余服务器和接入层交换机(未示出)。服务器102a-102d与接入层交换机104a-104d之间的通信路径可以支持数据中心桥接或单独信道,诸如InfiniBand、数据中心以太网(DCE)、千兆以太网、光纤信道或以太网上的光纤信道(FCoE)。接入层交换机104a-104d可以与汇聚层的汇聚层交换机连接。同样,可以为每个网络云使用至少两个汇聚层交换机,以实现冗余,以防交换机故障。例如,汇聚层交换机106a和106b可以是HPC兼容的,用于通过例如核心层112在接本文档来自技高网...

【技术保护点】
1.一种方法,其包括:从用户应用程序接收要使用通过网络的单个连接从源地址传输到目的地地址的数据;根据通信协议将所述数据分成多个数据包;以及对于所述多个数据包中的每个数据包:从多个细流中确定用于要在其中传输的所述数据包的相应细流;基于所述数据包的所述确定的细流,设置所述数据包中的由所述网络的网络交换机用于路由所述数据包的字段;以及经由所述确定的细流,发送所述数据包以通过所述网络进行传输。

【技术特征摘要】
【国外来华专利技术】2015.12.28 US 14/981,4851.一种方法,其包括:从用户应用程序接收要使用通过网络的单个连接从源地址传输到目的地地址的数据;根据通信协议将所述数据分成多个数据包;以及对于所述多个数据包中的每个数据包:从多个细流中确定用于要在其中传输的所述数据包的相应细流;基于所述数据包的所述确定的细流,设置所述数据包中的由所述网络的网络交换机用于路由所述数据包的字段;以及经由所述确定的细流,发送所述数据包以通过所述网络进行传输。2.根据权利要求1所述的方法,其中所述通信协议是用户数据报协议(UDP),并且所述数据包的所述报头中的所述字段是UDP报头的源端口字段。3.根据任一项前述权利要求所述的方法,其中所述数据包的所述报头中的所述字段是IP报头中的源IP地址、IP报头中的目的地IP地址、IPv6报头中的FlowID字段或者多协议标签交换(MPLS)标签。4.根据任一项前述权利要求所述的方法,其中每个数据包都包括细流索引或数据包序列号中的至少一个。5.根据任一项前述权利要求所述的方法,其还包括维护每个细流的活动数据包的序列号。6.根据权利要求5所述的方法,其还包括在传输数据包之后或者在接收到在所述目的地地址处已经接收到数据包的确认之后,从活动数据包的所述序列号中移除所述数据包的序列号。7.根据任一项前述权利要求所述的方法,其中确定用于要在其中传输的所述数据包的所述细流包括下列各项中的至少一项:确定所述多个细流中的每个细流中的活动数据包的数量;确定所述多个细流中的每个细流的延时;获得所述多个细流中的每个细流的丢失率;获得所述用户应用程序的信息;或者从所述用户应用程序接收关于如何将所述多个数据包分配给所述多个细流的指示。8.根据任一项前述权利要求所述的方法,其还包括:通过一个或多个物理端口,将所述多个细流中的每个细流中的数据包传输到所述网络。9.根据权利要求8所述的方法,其中将所述多个细流...

【专利技术属性】
技术研发人员:L·夏勒夫N·布沙拉G·马丘利斯基B·W·贝瑞特
申请(专利权)人:亚马逊技术股份有限公司
类型:发明
国别省市:美国,US

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

1