经由RDMA的远程非对称TCP连接卸载制造技术

技术编号:14024666 阅读:297 留言:0更新日期:2016-11-18 20:36
方法包括在源服务器(24)中生成通过传输控制协议(TCP)连接(80)要被发送到目标服务器(36)的数据。使用远程直接内存访问(RDMA)来将数据从源服务器传递到卸载服务器(56),而绕过源服务器的本地TCP栈(52)。根据TCP在卸载服务器中对数据进行组合,并且组合的数据通过TCP连接被转发到目标服务器。

【技术实现步骤摘要】
【国外来华专利技术】专利
本专利技术大体上涉及计算机网络,并且具体地涉及用于TCP卸载的方法和系统。专利技术背景计算机网络中的通信通常使用传输控制协议(TCP)承载。由TCP端点的中央处理单元(CPU)对TCP协议栈操作的处理导致相当大的延迟以及CPU和内存开销。一种用于减少这种开销的解决方案是使用远程直接内存访问(RDMA)。例如,RDMA是在2007年10月的Internet工程任务组(IETF)的征求意见文档(RFC)5040中的标题为“A Remote Direct Memory Access Protocol Specification”中指定,其通过引用并入本文。IETF还在2012年7月的标题为“Shared Memory Communications over RDMA”的Internet草案中提出了经由RDMA的共享内存通信(SMC-R)协议,该协议向TCP端点提供RDMA通信,其通过引用并入本文。专利技术概述本文所描述的本专利技术的实施例提供方法,该方法包括在源服务器中生成将通过传输控制协议(TCP)连接被发送到目标服务器的数据。使用远程直接内存访问(RDMA)来将数据从源服务器传递到卸载服务器,而绕过源服务器的本地TCP栈。根据TCP在卸载服务器中对数据进行组合,并且组合的数据通过TCP连接被转发到目标服务器。在一些实施例中,目标服务器不支持RDMA。在一些实施例中,方法包括在卸载服务器和源服务器的本地TCP栈之间对TCP连接的状态进行同步。在实施例中,在卸载服务器中组合数据包括以具有各自的序列号的TCP报文段对数据进行格式化,以及同步TCP连接的状态包括向源服务器的本地TCP栈报告序列号。在实施例中,通过TCP连接转发数据包括将失败的TCP传输从卸载服务器重传到目标服务器。在实施例中,该方法包括在源服务器中按每个TCP连接决定是将数据的发送卸载到卸载服务器还是使用本地TCP栈来发送数据。在另一个实施例中,该方法包括使用本地TCP栈对从目标服务器到源服务器的传入流量进行处理,同时绕过或穿越卸载服务器。根据本专利技术的实施例,本专利技术另外提供包括源服务器和卸载服务器的系统。源服务器被配置为生成通过传输控制协议(TCP)连接要被发送到目标服务器的数据并且使用远程直接内存访问(RDMA)通过网络传递所述数据,而绕过源服务器的本地TCP栈。卸载服务器被配置为根据TCP对数据进行组合,并且通过TCP连接将组合的数据转发到目标服务器。根据本专利技术的实施例,本专利技术还提供方法,该方法包括在卸载服务器中使用远程直接内存访问(RDMA)接收已在源服务器中生成的、用于通过传输控制协议(TCP)连接发送给目标服务器的数据。根据TCP在卸载服务器中对数据进行组合,并且组合的数据通过TCP连接被转发到目标服务器。在一些实施例中,该方法包括在卸载服务器和源服务器的本地TCP栈之间对TCP连接的状态进行同步。在一些实施例中,该方法包括将传入流量从目标服务器转发到源服务器,同时绕过或穿越卸载服务器。根据本专利技术的实施例,本专利技术还提供包括第一网络接口和第二网络接口以及处理器的装置。第一网络接口被配置用于使用远程直接内存访问(RDMA)与源服务器进行通信。第二网络接口被配置用于使用传输控制协议(TCP)与目标服务器进行通信。处理器被配置为通过第一网络接口,使用RDMA来接收已在源服务器中生成、用于通过TCP连接发送给目标服务器的数据,根据TCP组合数据并且使用第二网络接口通过TCP连接将组合的数据转发到目标服务器。从结合附图进行的本专利技术的实施例的以下详细描述,本专利技术将被更完全地理解,其中:附图简述图1是根据本专利技术的实施例示意性图示使用基于RDMA的TCP卸载的计算系统的框图;以及图2是根据本专利技术的实施例示意性图示用于经由RDMA的TCP卸载的方法的流程图。实施例的详细描述概述本文描述的本专利技术的实施例提供用于在数据中心和其他计算系统中卸载TCP处理的改进的方法和系统。在一些实施例中,计算系统包括多个服务器,该多个服务器使用TCP与系统中的其他服务器或者与外部服务器进行通信。该系统还包括用于从服务器卸载TCP连接处理的至少一个卸载服务器。虽然不是必须的,但是卸载服务器通常被定位在计算系统的边缘,并且被配置为卸载预定到外部服务器的传出TCP流量的处理。卸载服务器可以在例如,网络交换机中或者在反向代理服务器中实现。在实施例中,给定的服务器(被称为源服务器)生成通过TCP连接要被发送给某个目标服务器的数据。源服务器使用RDMA将数据传递到卸载服务器。卸载服务器建立与目标服务器的TCP连接,将数据组合成TCP报文段,并且通过TCP连接将TCP报文段发送给目标服务器。卸载服务器通常管理各种TCP数据流机制,例如,乱序报文段到达的重传和缓解,以及诸如连接建立和拆除的管理任务。因为使用RDMA将传出数据从源服务器传递到卸载服务器,卸载源服务器的中央处理单元(CPU)的传出TCP处理。通常,源服务器运行本地TCP栈,在向卸载服务器发送传出数据时绕过该本地TCP栈。然而,卸载服务器和源服务器的本地TCP栈相互协调TCP连接状态。例如,卸载服务器向源服务器通知TCP报文段的序列号,并且源服务器相应地更新其本地TCP栈。应该注意到,在一些实施例中,RDMA通信仅限于源服务器和卸载服务器之间的内部通信。卸载服务器和外部目标服务器之间的通信常常通过不支持RDMA的网络(例如,通过因特网)执行。因此,所公开的技术能够通过RDMA执行TCP卸载,甚至在目标服务器根本不支持RDMA时。本文所描述的方法和系统在非对称的场景中是非常有效,在该非对称的场景中,高TCP流量从计算系统流向外部服务器,而只有小流量流进该系统。这类非对称流量例如,在向外部服务器提供内容的数据中心中是常见的。在这样的情况下,传出流量包括高带宽内容,而传入流量主要由请求和确认组成。然而,所公开的技术可适用于各种其他系统和用例。系统描述图1是根据本专利技术的实施例示意性图示使用基于RDMA的TCP卸载的计算系统20的框图。系统20可以包括例如,数据中心、云计算系统、高性能计算(HPC)系统或任何其他合适的系统。系统20包括多个服务器24。在本专利申请的上下文中和在权利要求中,术语“服务器”指的是任何合适类型的计算平台或计算节点。系统20可以包括任何合适数量的相同类型或者不同类型的服务器24,或者甚至只有单个服务器。服务器24是通过通信网络28(通常是局域网(LAN))连接。网络28可以根据任何适当的网络协议操作。每个服务器24包括中央处理单元(CPU)42。根据服务器的类型,CPU42可以包括多个处理核和/或多个集成电路(IC)。不管具体的服务器配置,服务器的处理电路总体上在本文中被认为是服务器CPU。每个服务器24还包括存储器40(通常是易失性随机存取存储器(RAM))以及用于通过网络28通信的能进行RDMA的网络接口卡(NIC)44。除其他任务外,NIC44用于使用下面描述的方法来卸载TCP处理。每个服务器24还运行修改的TCP栈52。服务器24通常保持各自的TCP栈实例用于每个双向TCP连接。在一些实施例中,当处理给定的VM48的虚拟化流量时,修改的TCP栈52在VM内部运行。当处理服务器的流量时,在服务器的上本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580017022.html" title="经由RDMA的远程非对称TCP连接卸载原文来自X技术">经由RDMA的远程非对称TCP连接卸载</a>

【技术保护点】
一种方法,包括:在源服务器中生成待通过传输控制协议(TCP)连接发送到目标服务器的数据;使用远程直接内存访问(RDMA)来将所述数据从所述源服务器传递到卸载服务器,而绕过所述源服务器的本地TCP栈;根据所述TCP将所述数据在所述卸载服务器中进行组合,并且将组合的数据通过所述TCP连接转发到所述目标服务器。

【技术特征摘要】
【国外来华专利技术】2014.04.02 US 61/973,9761.一种方法,包括:在源服务器中生成待通过传输控制协议(TCP)连接发送到目标服务器的数据;使用远程直接内存访问(RDMA)来将所述数据从所述源服务器传递到卸载服务器,而绕过所述源服务器的本地TCP栈;根据所述TCP将所述数据在所述卸载服务器中进行组合,并且将组合的数据通过所述TCP连接转发到所述目标服务器。2.根据权利要求1所述的方法,其中,所述目标服务器不支持RDMA。3.根据权利要求1所述的方法,还包括在所述卸载服务器和所述源服务器的所述本地TCP栈之间同步所述TCP连接的状态。4.根据权利要求3所述的方法,其中,在所述卸载服务器中组合所述数据包括以具有各自的序列号的TCP报文段对所述数据进行格式化,以及其中,同步所述TCP连接的所述状态包括向所述源服务器的所述本地TCP栈报告所述序列号。5.根据权利要求1-4中任一项所述的方法,其中,通过所述TCP连接转发所述数据包括将失败的TCP传输从所述卸载服务器重传到所述目标服务器。6.根据权利要求1-4中任一项所述的方法,还包括在所述源服务器中,按每个TCP连接决定是将所述数据的发送卸载到所述卸载服务器还是使用所述本地TCP栈来发送所述数据。7.根据权利要求1-4中任一项所述的方法,还包括使用所述本地TCP栈对从所述目标服务器到所述源服务器的传入流量进行处理,同时绕过或穿越所述卸载服务器。8.一种系统,包括:源服务器,其被配置为生成待通过传输控制协议(TCP)连接发送到目标服务器的数据并且使用远程直接内存访问(RDMA)通过网络传递所述数据,而绕过所述源服务器的本地TCP栈;以及卸载服务器,其被配置为根据所述TCP对所述数据进行组合,并且通过所述TCP连接将组合的数据转发到所述目标服务器。9.根据权利要求8所述的系统,其中,所述目标服务器不支持RDMA。10.根据权利要求8所述的系统,其中,所述卸载服务器和所述源服...

【专利技术属性】
技术研发人员:利亚兹·坎佩尔埃戴·博格纳
申请(专利权)人:斯特拉托斯卡莱有限公司
类型:发明
国别省市:以色列;IL

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

1