【RDMA】17. RDMA之RDMAP(Remote Direct Memory Access Protocol)--未消化

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.正在上传…重新上传取消https://blog.csdn.net/bandaoyu/article/details/120485737

内容概要

        RDMAP的主要功能是提供RDMA语义,支撑上层用户的Send/RDMA Read/RDMA Write等请求。用户下发这些请求后,软硬件会根据其内容封装出RDMAP的报文发给对端,对端硬件再解析RDMAP报文执行对应的数据搬移操作。

RDMAP协议在iWARP协议栈中的位置

对上层用户的API接口,即之前我们介绍过的Verbs。目前iWARP跟RoCE和Infiniband一样使用libibverbs库提供的同一套接口。Verbs和协议栈的关系如下图所示:

Verbs API和iWARP协议栈的关系

正文

原文:17. RDMA之RDMAP(Remote Direct Memory Access Protocol) - 知乎

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

本文给大家介绍一下RDMAP协议,请注意它是iWARP协议族(栈)中的一层而不是指RDMA技术。RDMAP主要由RFC 5041描述,之后在2014年IETF又发布了RFC 7306,补充了Atomic和立即数等特性。阅读本文需要《DDP》一文中的前置知识。

概述

RDMAP的全称为Remote Direct Memory Access Protocol,是iWARP协议栈中最靠近用户的一层。向上为中间件或者应用程序提供基于RDMA技术的服务,向下使用DDP(Data Placement Protocol)提供的零拷贝特性。

RDMAP协议在iWARP协议栈中的位置

RDMAP的主要功能是提供RDMA语义,支撑上层用户的Send/RDMA Read/RDMA Write等请求。用户下发这些请求后,软硬件会根据其内容封装出RDMAP的报文发给对端,对端硬件再解析RDMAP报文执行对应的数据搬移操作。

DDP层不依赖于底层的协议,下面可以是TCP/SCTP甚至是UDP,而RDMAP必须依赖于下层的DDP。RDMAP会使用我们之前讲解的DDP报文格式中的ULP预留的域段,所以从报文来看它们之间并没有像TCP/IP协议族各层之间清晰的分界,比如Send with Invalidate操作的报文长这个样子(绿色为RDMAP层相关的域段):

Send with Invalidate操作的DDP + RDMAP报文格式

术语

Advertisement/Placement/Delivery/ULP/LLP/RNIC...

这些术语已经在《DDP》一文中做过介绍,不再赘述

Verbs

对上层用户的API接口,即之前我们介绍过的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值