written by Asterfuison
In the age of data, people have stricter requirements on the network. However, traditional TCP/IP Ethernet connections take up a lot of CPU resources and require additional data processing and copying which can no longer meet faster, efficient and scalable networks requirements. In this case, RoCE (RDMA over Converged Ethernet) goes into people’s vision.
RDMA (Remote Direct Data Access) is developed to solve the delay of server-side data processing in network transmission. It can directly access the memory of one host or server from the memory of another host or server without using the CPU. It frees up the CPU to do what it’s supposed to do, such as running applications and processing large amounts of data. This both increases bandwidth and reduces latency, jitter, and CPU consumption.
Therefore, RDMA can be simply understood as using related hardware and network technology, server A’s network card can directly read and write server B’s memory, resulting in high bandwidth, low latency.
As shown in the figure below, in RDMA mode, the application specifies the memory’s read and write address instead of participating data transfer process.
RDMA over Converged Ethernet (RoCE) or InfiniBand over Ethernet is a network protocol that allows remote direct memory access (RDMA) over an Ethernet network. It does this by encapsulating an InfiniBand (IB) transport packet over Ethernet. In short, it can be seen as the application of RDMA technology in hyper-converged data centers, cloud, storage, and virtualization environments.
There are two RoCE versions, RoCE v1 and RoCE v2.
RoCE v1 is an RDMA protocol based on the Ethernet link layer (the switch needs to support PFC and other flow control technologies to ensure reliable transmission at the physical layer), allowing communication between any two hosts in the same Ethernet broadcast domain.
RoCE v2 overcomes the limitation of RoCE v1 binding to a single VLAN. RoCE v2 can be used across L2 and L3 networks by changing packet encapsulation, including IP and UDP headers.
To implement RDMA for data centers, a network card driver and network adapter that supports RoCE can be installed. All Ethernet NICs require a RoCE network adapter card.RoCE is available in two ways: for network switches, you can choose to use switches that support PFC (Priority Flow Control) network operating system; for servers or hosts, you need to use a network card.
Currently, there are three types of RDMA networks: Infiniband, RoCE, and iWARP. Infiniband is a network designed for RDMA to ensure reliable transport from the hardware level, while RoCE and iWARP are Ethernet-based RDMA technologies that support the corresponding Verbs interface.
RDMA was first realized on the Infiniband transmission network with advanced technology but high price. Later, manufacturers transplanted RDMA to the traditional Ethernet network, reducing the use cost of RDMA and promoting the popularity of RDMA technology.
On Ethernet, there are iWARP and RoCE divided by stack integration. RoCE includes RoCEv1 and RoCEv2 (RoCEv2’s biggest improvement is IP routing). The following is the comparison of each RDMA network protocol stack.
Asterfusion Networks is the leading provider of open networking infrastructure solutions. We provide an open, disaggregated, and highly programmable network fabric for next generation data centers and campus with white-box switching.