iWARP - компьютер сетевой протокол, реализующий прямой удаленный доступ к памяти (RDMA) для эффективной передачи данных по сетям Интернет-протокола. В отличие от некоторых учетных записей, iWARP не является аббревиатурой.
Поскольку iWARP построен на уровне Internet Engineering Task Force (IETF) - стандартных перегрузок протоколов, таких как Протокол управления передачей (TCP) и Протокол передачи управления потоком (SCTP), он предъявляет мало требований к сети и может быть успешно развернут в широком диапазоне сред.
В 2007 году IETF опубликовала пять запросов на комментарии (RFC), которые определяют iWARP:
Эти RFC основаны на спецификациях Консорциума RDMA для RDMA через TCP. На спецификации Консорциума RDMA влияют более ранние стандарты RDMA, в том числе Архитектура виртуального интерфейса (VIA) и InfiniBand (IB).
С 2007 года IETF опубликовала три дополнительных RFC, которые поддерживают и расширяют iWARP:
Основным компонентом протокола iWARP является протокол прямого размещения данных (DDP), который обеспечивает фактическую передачу с нулевым копированием. Сам DDP не выполняет передачу; базовый протокол (TCP или SCTP) делает.
Однако TCP не соблюдает границы сообщений; он отправляет данные в виде последовательности байтов без учета блоков данных протокола (PDU). В этом отношении DDP может лучше подходить для SCTP, и действительно, IETF предложила стандартный RDMA поверх SCTP. Для запуска DDP через TCP требуется настройка, известная как формирование кадра с выравниванием маркеров PDU (MPA), чтобы гарантировать границы сообщений.
Кроме того, DDP не предназначен для прямого доступа. Вместо этого отдельный протокол RDMA (RDMAP) предоставляет услуги для чтения и записи данных. Следовательно, вся спецификация RDMA через TCP на самом деле является RDMAP через DDP через MPA / TCP или SCTP. Все эти протоколы могут быть реализованы аппаратно.
В отличие от IB, iWARP имеет только надежную связь, поскольку это единственная услуга, предоставляемая TCP и SCTP. Спецификация iWARP опускает другие функции IB, такие как операции отправки с немедленными данными. В рамках RFC 7306 IETF работает над устранением этих упущений.
Поскольку реализация ядра стека TCP может рассматриваться как узкое место, протокол обычно реализуется в аппаратных контроллерах сетевого интерфейса RDMA (rNIC). Поскольку простые потери данных редки в сильно связанных сетевых средах, механизмы исправления ошибок TCP могут выполняться программно, в то время как более часто выполняемые коммуникации обрабатываются строго логикой, встроенной в rNIC. Точно так же соединения часто полностью устанавливаются программным обеспечением, а затем передаются аппаратному обеспечению. Кроме того, обработка специфических деталей протокола iWARP часто изолирована от реализации TCP, что позволяет использовать rNIC как для разгрузки RDMA, так и для разгрузки TCP (для поддержки традиционных приложений TCP / IP на основе сокетов). Часть аппаратной реализации, используемая для реализации протокола TCP, известна как механизм разгрузки TCP (TOE).
Сам по себе TOE не препятствует копированию на принимающей стороне и должен быть объединен с оборудованием RDMA для результатов нулевого копирования. Спецификация RDMA / TCP представляет собой набор различных проводных протоколов, предназначенных для аппаратной реализации (хотя кажется возможным эмулировать ее в программном обеспечении для совместимости, но без повышения производительности).
iWARP - это протокол, а не реализация, но он определяет поведение протокола в терминах операций, которые разрешены для протокола, известных как Verbs. Таким образом, iWARP не имеет единого стандартного интерфейса программирования. Однако интерфейсы программирования имеют тенденцию очень близко соответствовать глаголам.
Было предложено несколько программных интерфейсов, включая OpenFabrics Verbs, Network Direct, uDAPL, kDAPL, IT-API и RNICPI. Реализации некоторых из этих интерфейсов доступны для разных платформ, включая Windows и Linux.
Сетевые сервисы, реализованные через iWARP, включают те, которые предлагаются в OpenFabrics Enterprise Distribution (OFED) OpenFabrics Alliance для операционных систем Linux и Microsoft Windows через Network Direct.
Среди популярных поставщиков оборудования с поддержкой iWarp: