Все о RoCE RDMA — главный конкурент InfiniBand
Введение
Индустрия сетевых технологий появилась более 50 лет назад и за это время она претерпела колоссальные изменения. Однако ее наиболее бурное развитие началось в 90-х годах, когда после массового внедрения сети Ethernet в коммерческие и частные вычислительные инфраструктуры появилась потребность в высокоскоростных решениях для передачи данных между серверами в рамках одного кластера. По началу первые системы, предлагающие такие возможности, были крайне низкоэффективны и проприетарны, но с приходом эпохи RDMA все изменилось — появились технологии, обеспечивающие прямой доступ к данным без взаимодействия с CPU, снижая задержки. Одной из таких технологий стала RoCE, которая стала ключевым решением в Ethernet-сетях и не дала протоколу InfiniBand стать монополистом на рынке сетевого оборудования. В этой статье мы поговорим о том, что такое протокол RoCE, в чем его особенности, какие версии RoCE существуют и чем он лучше аналогов.
Что такое RoCE?
RoCE (RDMA over Converged Ethernet) — это протокол передачи данных, который позволяет получить прямой доступ к памяти, не задействуя центральный процессор и ядро операционной системы (Zero-copy, Kernel bypass), при этом способный работать поверх сетей Ethernet, что отличает его от собрата в лице InfiniBand. RoCE обеспечивает более низкие задержки при передаче данных, чем его прямой аналог в лице iWARP, минимизирует нагрузку на CPU, а также обеспечивает пропускную способность наравне с протоколом InfiniBand (800 Гбит/с). Примечательно, что протокол RoCE v1 впервые появился в 2010 году из-под крыла торговой ассоциации InfiniBand (IBTA), которая ответственна за выпуск одноименного, проприетарного сетевого протокола Infiniband для сектора HPC. Этот шаг был направлен на то, чтобы представить рынку RDMA-решение, которое будет совместимо с более массовыми Ethernet-сетями. После нескольких лет доработки, IBTA также представила обновленную версию протокола RoCE v2, который и стал наиболее массовой реализацией RoCE.

Версии RoCE
Но в чем же отличие двух версий RoCE и почему именно RoCE v2 стала популярной? Рассмотрим их особенности и отличия:
RoCE v1
RoCE v1 — первая версия протокола, использующая шифровку пакетов Ethertype 0x8915 и работающая на базе L2 Ethernet, вследствие чего RoCE v1 ограничивал длину кадра протокола Ethernet: 1500 байт для обычного кадра и 9000 байт для Jumbo Frame кадра (наибольшие пакеты данных). Кроме того, домен RoCE v1 ограничен одним широковещательным доменом (одним VLAN или одной подсетью L2), то есть для подключения устройств в единую систему они должны находиться только в пределах одной локальной сети и передавать трафик по одному каналу, вследствие чего сеть будет сильно перегружаться. Другими словами, RoCE v1 не поддерживает IP-домены и работает только с MAC-адресами, вследствие чего не используются все возможности Ethernet-сети.
Также для корректной работы RoCE v1 необходимо отключать контроль трафика Ethernet flow control (IEEE 802.3x), а также включать функции Priority-based Flow Control (802.1Qbb) и маркировку пакетов (ECN) для работы Lossless Ethernet.
Lossless Ethernet — это расширение стандартного Ethernet, которое гарантирует доставку пакетов без потерь даже в условиях перегрузки сети. Это критически важно для протоколов, чувствительных к потерям пакетов (например, RoCE v2, iSCSI, FCoE), где повторная передача данных увеличивает задержки и снижает производительность. При отключении функций Lossless Ethernet, все преимущества протокола RoCE v2 нивелируются — задержки значительно увеличиваются и возрастает нагрузка на CPU для повторной отправки пакетов.
В противном случае пакеты данных будут утеряны из-за угрозы переполнения буфера, что вызывает микропаузы. Последнее является особенно серьезной проблемой, поскольку кластерные системы конвергентны и все устройства работают с единой задержкой, а микропаузы нарушают этот баланс и сильно снижают производительность.

RoCE v2
RoCE v2 — вторая версия протокола (после экспериментальной версии RoCE v1.5), которая лишена недостатков RoCE v1 и привносит новые возможности. Например, RoCE v2 поддерживает передачу данных поверх протоколов UDP/IPv4 или UDP/IPv6, а также обеспечивает маршрутизацию через уровень L3 Ethernet, тем самым устраняя ограничения по масштабируемости L2. Примечательно, что для корректной передачи пакетов RoCE v2 также требует Lossless Ethernet, но из-за поддержки маршрутизации обеспечение бесконфликтной среды требует более сложной настройки QOS. Например, по-прежнему нужно включать PFC и ECN (DCB для дата-центров), а также необходимы коммутаторы с поддержкой алгоритмов CC (Congestion Control) для предотвращения перегрузки сети путем снижения скорости передачи данных. Также протокол RoCE v2 по умолчанию использует порт UDP 4791, но он может быть сконфигурирован под требования определенной вычислительной инфраструктуры.
Примечательно, что протокол RoCE v2 может работать без наличия сетевого коммутатора в системе, однако при соблюдении ряда условностей:
- Серверы должны быть подключены по системе “точка-точка”, то есть напрямую друг к другу с помощью Ethernet-кабеля.
- Можно подключить не более двух серверов.
- Необходимо настроить IP-адреса серверов так, чтобы они находились в одной подсети.
- Размеры пакетов (MTU) должен быть одинаковыми.В случае, если сетевые карты настроены на разные размеры пакетов, часть данных будет утеряна. Для максимальной производительности рекомендуется настраивать SmartNIC на пакеты по 9014 байт.
- Оба сервера должны быть оборудованы сетевыми картами с поддержкой RDMA. Настройка QoS (ETS, PFC и DCB) не требуется. Тем не менее, для выстраивания полноценных кластеров, коммутатор жизненно необходим.

Предлагаем вам ознакомиться с подробной таблицей, в которой описаны отличия сетевых технологий RoCE и традиционным Ethernet-протоколом TCP/IP.
|
Критерий |
RoCE v2 |
TCP/IP |
|
Принцип работы |
Прямой доступ к памяти (RDMA), минуя ОС и CPU. Данные копируются напрямую между буферами приложений |
Данные проходят через стек ОС (ядро → пользовательское пространство), требуя копирования и обработки CPU. |
|
Задержка (Latency) |
1–5 мкс (микросекунд) благодаря обходу ядра ОС |
80–100 мкс из-за накладных расходов стека и копирования данных |
|
Нагрузка на CPU |
Минимальная (0–5%). Операции выполняются сетевой картой (NIC) |
Высокая (до 100% при больших нагрузках). CPU обрабатывает заголовки, контрольные суммы, ретрансмиссии |
|
Надежность |
Требует lossless Ethernet (PFC + ECN). Без настройки возможны потери пакетов |
Встроенные механизмы (ретрансмиссии, ACK). Устойчив к потерям в ненадежных сетях |
|
Масштабируемость |
Высокая в L3-сетях, но требует однородной инфраструктуры (DCB, ECN) |
Отличная в гетерогенных сетях (интернет, WAN), но нагрузка на CPU ограничивает плотность соединений |
|
Топология сети |
Только в дата-центрах с поддержкой Data Center Bridging (PFC, ECN) |
Универсальная (LAN, WAN, интернет). Работает на любом Ethernet-оборудовании |
|
Накладные расходы |
Минимальные (инкапсуляция в UDP/IP + заголовок RDMA) |
Высокие (заголовки TCP + IP, контрольные суммы, ACK-пакеты) |
|
Типичные сценарии |
HPC, AI/ML, распределенные хранилища (NVMe-oF), финансовые транзакции |
Веб-сервисы, стриминг, файловые передачи (FTP), IoT |
|
Сложность настройки |
Высокая: требуется настройка PFC, ECN, DCQCN на коммутаторах и NIC |
Низкая: стандартные настройки Ethernet/IP |
RoCE vs. аналоги
Мы рассказали вам о главных особенностях протокола RoCE и даже сравнили его со стандартными Ethernet-протоколами. Однако, каковы преимущества RoCE в сравнении с его прямыми RDMA-аналогами, такими как Infiniband и iWARP.
- InfiniBand — по-началу проприетарный протокол Infiniband во всем превосходил RoCE, включая показатели задержки и пропускной способности. Однако, со временем ситуация поменялась — RoCE стал эквивалентен Infiniband по пропускной способности, достигая вплоть до 800 Гбит/с, но RoCE все еще уступает по задержкам (1 мкс у Infiniband против 2-5 мкс у RoCE). Благодаря таким впечатляющим характеристикам, а также большей доступности и широкого выбора совместимого оборудования, RoCE широко распространен в коммерческих инфраструктурах, но в секторе HPC все же доминирует протокол InfiniBand.
- iWARP — RoCE более совершенная технология передачи данных, чем iWARP, поскольку появилась значительно позднее и обладает лучшими характеристиками. В частности, RoCE обеспечивает кратно меньшие задержки, чем iWARP, задержки которого достигают 10–50 мкс. Помимо этого, пропускная способность iWARP ограничена 200 Гбит/с, что в 4 раза меньше пропускной способности RoCE. Однако, iWARP все же может похвастаться определенным преимуществом — для его работы не требуется интеграция какого-либо дополнительного, совместимого оборудования, поскольку он может свободно функционировать поверх существующей инфраструктуры TCP.

Сферы применения RoCE
Рассмотрим несколько сфер, в которых использование протокола RoCE будет наиболее эффективным:

Облачные хранилища
RoCE критически важен для ускорения работы NVMe over Fabrics (NVMe-oF), обеспечивая прямой доступ к удаленным SSD с задержками в несколько микросекунд — на порядок ниже решений на базе TCP/IP (100+ мкс). Кроме того, RoCE обеспечивает более 1 миллиона IOPS (4K случайное чтение), что в 10-20 раз выше, чем у протоколов TCP/IP. Технология реализует механизм zero-copy, исключая копирование данных между буферами ядра ОС и приложением, что снижает нагрузку на CPU до 30%. В распределенных системах хранения, таких как Ceph, интеграция RoCE через librbd ускоряет операции чтения/записи в 3–5 раз. Промышленные решения типа Pure Storage FlashBlade и VAST Data используют RoCE для достижения пропускной способности 100+ Гбит/с на узел при работе с NVMe-oF.

Искусственный интеллект и машинное обучение
В распределенных GPU-кластерах RoCE обеспечивает сверхнизкую задержку синхронизации данных (2–5 мкс) через NVIDIA GPUDirect RDMA, позволяя тысячам GPU обмениваться данными без участия CPU. Это позволяет значительно сократить время на обучение нейросетей, особенно на базе архитектур ResNet-50 или BERT. В кластерах масштаба NVIDIA DGX SuperPOD RoCE является базовой технологией для горизонтального масштабирования, обеспечивая пропускную способность до 800 Гбит/с между узлами. Помимо этого, в NVIDIA DGX часто интегрируют сопроцессоры DPU, которые поддерживают RoCE вследствие работы на базе Ethernet-сетей.

Виртуализация
Для миграции виртуальных машин RoCE минимизирует задержки до миллисекунд за счет высокой пропускной способности и устранения накладных расходов на обработку сетевого стека. В средах VMware vSphere поддержка RDMA (через vRDMA) ускоряет vMotion, а в Kubernetes CNI-плагины на базе RoCE (например, Multus) обеспечивают изолированные низколатентные сети для контейнеров. Технология также интегрируется с Hyper-V SMB Direct, ускоряя доступ к удаленным дискам в 4 раза.
Финансовый сектор
В высокочастотном трейдинге (HFT) RoCE снижает сетевую задержку до минимальных значений, что на 90% меньше задержек типичных Ethernet-решений. Это позволяет обрабатывать рыночные данные и исполнять ордера в разы быстрее конкурентов. Системы на базе сетевых карт AMD, Broadcom и Mellanox используют RoCEv2 для детерминированной доставки пакетов в рамках одной стойки. Пропускная способность в 800 Гбит/с гарантирует обработку свыше 1 млн транзакций в секунду без потерь.
Проблемы RoCE
Несмотря на все преимущества протокола RoCE, у него все-таки есть недостаток, который может стать главной причиной выбора таких аналогов, как InfiniBand и iWARP.
Безопасность
Основная уязвимость RoCE — отсутствие сквозного шифрования. Данные передаются в открытом виде, что критично для публичных облаков и многопользовательских сред. Попытки добавить TLS поверх RoCE (например, через адаптацию OpenSSL) разрушают ключевые преимущества технологии: задержка возрастает на 40–60% из-за криптографических вычислений на CPU, а нагрузка на процессор достигает 80% при 100 Gbps, полностью нивелируя эффект offload. Однако решения вроде, Nvidia BlueField и AMD Pensando, частично решают проблему выполнения криптографических операций благодаря наличию специальных программируемых ядер, интегрированных в аппаратную составляющую сетевой карты с поддержкой RoCE. Еще один фактор, негативно влияющий на безопасность использования протокола RoCE — необходимость отключения функции Ethernet flow control.
Выводы
Технология RoCE — это инновационное сетевое решение с поддержкой функций RDMA, благодаря которому коммерческие вычислительные инфраструктуры смогли получить возможность выстраивания высокопроизводительных кластеров, при этом сохраняя баланс между стоимостью оборудования, его производительностью и минимизируя задержки. Этот протокол — действительно лучшая альтернатива проприетарному InfiniBand, несмотря на ряд незначительных минусов, вроде усложненной настройки.
Рекомендуемые товары
- Новое
- Выгодно
- Под заказ
- Б/У
Артикул: SF-00003249
Нет в наличии
Видеокарта AMD Radeon Instinct MI50 32GB HBM2 [100-506194] [Новый]
- Сокет AM4
- Сокет AM4
- Сокет AM4
- Сокет AM4
29 800 ₽
- Цена включает НДС 7%
- Гарантия: 1 год
- Новое
- Выгодно
- Под заказ
- Б/У
Артикул: SF-00001431
Нет в наличии
Видеокарта NVIDIA A100 OEM 40GB HBM2 [900-21001-0000-000] [Новый]
- Сокет AM4
- Сокет AM4
- Сокет AM4
- Сокет AM4
529 800 ₽
- Цена включает НДС 7%
- Гарантия: 1 год
- Новое
- Выгодно
- Под заказ
- Б/У
Артикул: 285
Нет в наличии
SSD-накопитель Intel (HP) S3700 400GB 2.5" 6Gb/s [SSDSC2BA400G3P] [Новый]
- Сокет AM4
- Сокет AM4
- Сокет AM4
- Сокет AM4
13 100 ₽
- Цена включает НДС 7%
- Гарантия: 1 год
- Новое
- Выгодно
- Под заказ
- Б/У
Артикул: 1350
Нет в наличии
HBA адаптер Broadcom 9500-16i (NVMe/SAS/SATA 12GB/s, no cache) [Новый]
- Сокет AM4
- Сокет AM4
- Сокет AM4
- Сокет AM4
53 900 ₽
- Цена включает НДС 7%
- Гарантия: 1 год
- Новое
- Выгодно
- Под заказ
- Б/У
Артикул: 5136
Нет в наличии
Кабель Supermicro SFF8643 (NVMe) - SFF8643 (NVMe) 0.7м [Новый]
- Сокет AM4
- Сокет AM4
- Сокет AM4
- Сокет AM4
3 000 ₽
- Цена включает НДС 7%
- Гарантия: 1 год