RDMA技术
传统上的RDMA技术设计内核封装多层网络协议并且涉及内核数据传输。RDMA通过专有的RDMA网卡RNIC,绕过内核直接从用户空间访问RDMA enabled NIC网卡。RDMA提供一个专有的Verbs Interface而不是传统的TCP/IP Socket Interface。要使用RDMA首先要建立从RDMA到应用程序内存的数据路径 ,可以通过RDMA专有的Verbs Interface接口来建立这些数据路径,一旦数据路径建立后,就可以直接访问用户空间buffer。
RDMA系统架构图
RDMA在应用程序用户空间,提供了一系列verbs interface接口操作RDMA硬件。RDMA绕过内核直接从用户空间访问RDMA 网卡(RNIC)。RNIC网卡中包括Cached Page Table Entry,页表就是用来将虚拟页面映射到相应的物理页面。
RDMA工作过程
1)当一个应用执行RDMA 读或写请求时,不执行任何数据复制.在不需要任何内核内存参与的条件下,RDMA 请求从运行在用户空间中的应用中发送到本地NIC( 网卡)。
2) NIC 读取缓冲的内容,并通过网络传送到远程NIC。
3) 在网络上传输的RD