# vRoCE协议概述
#### 什么是vRoCE协议
vRoCE（Virtual RDMA over Converged Ethernet）是实现弹性网卡EFI能力的关键网络协议。
vRoCE是华为云自研的云上弹性RDMA（Remote Direct Memory Access，远程直接内存访问）网络协议，底层链路复用VPC网络，它允许在虚拟化环境中实现RDMA功能。RDMA技术可以显著减少网络通信中的延迟和服务器的CPU负载，允许用户绕过内核，直接与网卡进行交互，从而降低了延迟，可兼容传统HPC应用以及传统TCP/IP应用。
#### vRoCE协议优势
- 高性能 vRoCE允许云服务器直接访问网络资源，数据可以直接从发送方的内存传输到接收方的内存，无需经过主机CPU的处理，减少了数据传输过程中主机CPU和内存的负担，从而提高了数据传输的效率和性能，显著减少数据传输的延迟。这对于需要大量数据传输的应用程序尤其重要，如大数据分析、高性能计算等
  
- 规模部署，弹性扩展 传统的RDMA依赖于网络的无损特性，规模部署成本高、规模部署困难。vRoCE依附于弹性网卡支持在虚拟化环境中轻松扩展网络资源，无需对物理网络进行重大更改。随着业务需求的增长，可以通过添加更多的云服务器或调整现有云服务器的资源来轻松扩展网络容量，不会对现有网络架构造成重大影响。
  
- 普惠 无偿启用vRoCE。您只需在购买ECS时，勾选"启用EFI"选项，即可实现开启vRoCE网络，无需再额外付费。
  
 
#### vRoCE协议的基础能力和规格
vRoCE协议涉及需要使用的RDMA资源，QP（Queue Pair）、CQ（Completion Queue）、MR（Memory Region）等，需要在支持的规格内使用，否则可能会出现资源申请失败，从而无法正常使用功能。
- **QP（Queue Pair）**
  每对QP由Send Queue（SQ）和Receive Queue（RQ）构成，这些队列中管理着各种类型的消息。
  
  | 名称                    | 规格                         |
  |:---|:---|
  | 建链方式                      | SOCKET/RDMA_CM            |
  | QP类型                   | RC/UD                     |
  | SRQ                     | 支持                         |
  | 最大QP数目max_qp_num       | 与实例规格相关，例如128u实例支持262144 |
  | 最大的发送WR深度max_send_wr     | 8191                      |
  | 最大的接收WR深度max_recv_wr   | 8191                      |
  | 最大的发送SGE数目max_send_sge  | 12                         |
  | 最大的接收SGE数目max_recv_sge | 16                        |
     
  ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
  当使用RDMA_CM建链方式同时对大规格QP进行打流测试时，需要调整内核参数max_backlog，该参数是内核处理建链请求的队列深度，默认值为1024。
  当最大QP数目为262144时，推荐调整内核参数max_backlog为65536，您可以执行以下命令进行添加：
  **echo 65536 \>/proc/sys/net/rdma_ucm/max_backlog**
  
- **CQ（Completion Queue）**
  CQ用来知会用户WQ上的消息已经被处理完。
  
  | 名称     | 规格                      |
  |:---|:---|
  | CQ数目    | 与实例规格相关，最大CQ数是最大QP数的两倍 |
  | 最大CQ队列深度 | 8,388,607                 |
     
  
- **MR（Memory Region）**
  代表一块可以被RDMA访问的内存区域。通过注册MR，应用程序可以让RDMA硬件直接访问这块内存区域。
  
  | 名称    | 规格                     |
  |:---|:---|
  | MR数目 | 与实例规格相关，最大MR数是最大QP数的两倍。 |
     
  
 
