【RDMA】19. RDMA之iWARP & Soft-iWARP

【RDMA】RDMA 学习资料总目录_bandaoyu的博客-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.csdn.net/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blog.csdn.net/bandaoyu/article/de.

笔记

iWARP协议是RDMA Consortium组织推动实现的,它由Broadcom、HP、IBM、Intel和Microsoft等公司在2002年5月成立

2005年11月,Ohio超算中心发布Soft-iWARP,同Soft-RoCE一样,是软件实现的iWARP协议栈,为学习、仿真和使用不支持硬件iWARP的网卡带来了方便。

iWARP协议一共有3层,所以更准确地讲iWARP应该是一组协议的统称,或者称为协议族。下图中绿色背景的部分,即为iWARP的三层协议,ULP指的是Upper Layer Protocol,即上层协议,iWARP通过Verbs接口向上层提供服务。ULP可以是一些存储协议,比如iSCSI、可能是中间件,比如UCX、也可能是用户的应用程序。

iWARP协议栈的层次关系

DDP(Data Placement Protocol)

DDP是iWARP的核心,负责在传输层协议之上实现零拷贝的功能。DDP是最能体现RDMA技术核心思想的一层。

 RDMAP(Remote Direct Memory Access Protocol)

RDMAP最靠近用户的一层,为上层用户提供RDMA语义,支撑它们的Send/RDMA Read/RDMA Write等各种类型的请求。RDMAP依赖于下层的DDP提供的零拷贝功能来实现对应的用户请求。

MPA(Marker Protocol data unit Aligned framing)

MPA负责在发送端按照一定的算法在TCP流中加入控制信息,从而使得接收端可以按照算法识别出流中的DDP消息的分界。实际上完成的是将DDP适配TCP的工作。当DDP的下层是SCTP协议时就不需要MPA这一层了,因为SCTP可以识别出上层协议的分界。

正文

转自:  https://zhuanlan.zhihu.com/p/449189540 作者:Savir

本文欢迎非商业转载,转载请注明出处。

RDMA的三大协议:Infiniband、RoCE以及iWARP。文本中,带大家了解一下iWARP的概念、历史、工作原理以及特点,然后在多个方面对比iWARP和RoCE v2的差异,最后介绍如何在没有支持iWARP的网卡的情况下通过Soft-iWARP来做实验。

概述

iWARP指的是基于TCP/IP协议栈的RDMA技术,最开始是由RDMA Consortium组织设计的一组协议,最终由IETF(Internet Engineering Task Force)进行了标准化。iWARP被一些文章解释为Internet Wide Area RDMA Protocol,这是不正确的,RDMA Consortium专门做出解释说它不是一个缩写,我们把它当成一个专有名词就好了:

iWARP is a computer networking protocol that implements Remote Direct Memory Access (RDMA) for efficient data transfer over Internet Protocol networks. It is a suite of protocols comprised of RDMAP, DDP, and MPA which may be layered above TCP, SCTP, or other transport protocols. Some sources claim iWARP is an acronym meaning “Internet Wide Area RDMA Protocol”. This incorrect and misleading because iWARP was designed for a broad range of environments, including Local Area Networks (LANs), storage networks, data center networks, wide area networks (WANs), etc.  iWARP is NOT an acronym.

Infiniband协议诞生以来,虽然相比传统以太网有着很大的优势,但是受限于从以太网切换的成本过于高昂,后面又分别产生了基于TCP的iWARP和基于UDP的RoCE v1/v2两种RDMA协议,使得RDMA的使用者只需要更换网卡,而不用更换现有的路由、交换设备以及线缆就可以享受到RDMA带来的网络性能提升和CPU负载的下降等收益。

跟RoCE协议继承自Infiniband不同,iWARP本身不是直接从Infiniband发展而来的。IB和RoCE协议都是基于《Infiniband Architecture Specification》所指定的标准的,也就是我们常说的”IB规范“。而iWARP自成一派,遵循着一套IETF设计的协议标准。

虽然遵循着不同的标准,但是iWARP的设计思想明显受到了很多Infiniband的影响,并且目前也在使用同一套软件API,也就是Verbs。因此读者不用担心要重新学习一套新的体系,这三种协议的概念层面是没有什么差别的,我们前面讲到的基础知识除了涉及协议的部分,也一样适用于iWARP。

下面回顾一下这几种协议的分层关系:

4种RDMA协议的层次关系

可以鲜明的看到,Infiniband和iWARP分别由IBTA和IETF完全定义。IBTA我们在《RDMA概述》一文中已经简单介绍过了,IETF大家也应该都很熟悉,我们现在的互联网标准,包括TCP/IP都是由这个组织定义的。

历史

iWARP有着比较悠久的历史,我们来了解一下iWARP是如何诞生和发展的:

iWARP协议是RDMA Consortium这个组织所推动实现的,它由Broadcom、HP、IBM、Intel和Microsoft等公司在2002年5月成立。我们在《RoCE & Soft-RoCE》一文中曾经介绍过,IBTA组织成立于1999年,该组织在2000年就发布了Infiniband Architecture Specification 1.0版本的规范,并且Infiniband已经开始商用。而IBTA的创建者也是包含Intel、IBM和Microsoft的,可见这几个公司当时并不是非常看好Infiniband的未来[2],它们另起炉灶,试图在传统以太网之上实现RDMA技术,这也是RDMA Consortium组织成立的目标。

同年2002年,IETF成立了RDDP(Remote Direct Data Placement)工作组,这个工作组负责iWARP协议的标准化工作。随后,RDMA Consortium在2003年3月完成并发布了最初版本的RDMAP/DDP/MPA标准,以及专为iWARP设计的软件API,也就是iWARP专用的Verbs接口(和现有的Verbs API不是一回事),同时上述标准也被当作草案提交给了IETF RDDP工作组。

当时整个RDMA领域处于群雄逐鹿的状态,即使不同厂商的设备可以通过标准协议相互通信,但是它们却各自使用着自己的软件栈和接口,也就是说用户对于不同的硬件要编写不同的应用程序。后来厂商们也意识到独立的API不利于行业的发展,因此在2004年6月一些厂商成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值