RDMA:Remote Direct Memory Access 远程直接数据存取。服务器内存储信息读取技术,RDMA解决传统网络传输中服务器端数据处理导致延迟而产生的。
传统模式与RDMA模式对比
- 传统模式服务器间数据传输需要经过本地及远端CPU、操作系统的处理,数据处理时延较大时延,同时CPU利用率也会受到影响。
- RDMA直接读取远端服务器内存信息,不需要CPU、操作系统介入,数据处理时延<1us。
服务器支持RDMA处理流程需要达到要求:
- 软件上APP需要修改为verbs接口,即RDMA API接口;
- 硬件上要求网卡支持RDMA功能,接口协议上主流使用RoCE(基于Ethernet的RDMA )。
RDMA场景中主要转发RoCEv2报文。 RoCEv2针对RoCE进行了一些改进,如引入IP解决扩展性问题,可以跨二层组网;引入UDP解决ECMP负载分担等问题。
RoCEv2:RDMA在网络中报文形式,关键识别报文UDP目的端口为4791,UDP目的端口数据下一个报文为IB.BTH(ERSPAN使用ACL80匹配该字段识别RDMA报文)。