OpenDataPlane - OpenDataPlane

OpenDataPlane
OpenDataPlane logo.jpg
Оригинальный автор (ы)Начальная загрузка проекта с открытым исходным кодом в рамках сетевой группы Linaro
Репозиторийgithub.com/ OpenDataPlane/ odp
Написано вC
ЛицензияBSD-3
Интернет сайтопендатаплан.org

В OpenDataPlane (ODP) является Открытый исходный код проект, который определяет интерфейсы прикладного программирования (API) для портативных высокопроизводительных сетей плоскость данных Приложения.[1] Дизайн ODP API позволяет использовать различные стратегии реализации, не подвергая приложение подробностям реализации. Это позволяет одному и тому же приложению (исходному или двоичному) эффективно работать на различных аппаратных платформах с разными уровнями аппаратного ускорения. Например, один и тот же исходный код приложения может быть перекомпилирован для работы в стандартной серверной системе или специализированной сети. Система на чипе (SoC) устройство.

Плоскость сетевых данных относится к программному и аппаратному обеспечению, которое пересылает пакеты / кадры с одного интерфейса на другой и обычно выполняет различные операции (проверка ошибок, добавление / удаление / изменение заголовков протокола и т. Д.) С пакетными данными. Обычно программное обеспечение плоскости данных использует аппаратное ускорение (например, вычисление контрольной суммы протокола) для достижения высоких скоростей передачи пакетов и битрейта. Сети плоскость управления и плоскость управления относятся к программному обеспечению, которое контролирует и контролирует работу программного и аппаратного обеспечения плоскости данных.

История

29 октября 2013 года Linaro объявила, что сотрудничает с членами группы интересов Linaro Networking в разработке и размещении открытого стандартного интерфейса программирования приложений для приложений плоскости данных.[2] Первоначально разработанный членами Linaro Networking Group, этот проект открыт для участия всех людей и компаний, которые разделяют интерес в продвижении стандартного набора API-интерфейсов для использования во всем диапазоне доступных архитектур сетевых процессоров.

Обзор технологии

Проект OpenDataPlane - это кроссплатформенный набор интерфейсов прикладного программирования (API) с открытым исходным кодом для плоскости сетевых данных.

ODP состоит из спецификации API и набора эталонных реализаций, реализующих эти API на разных платформах.[3] Реализации варьируются от чистого программного обеспечения до тех, которые глубоко используют различные функции аппаратного ускорения и разгрузки, имеющиеся в современных сетях. Система на кристалле (SoC) процессоры.

Цель ODP - предоставить разработчикам API большую гибкость для использования и оптимизации реализации. Это предназначено для обеспечения легкой переносимости платформы, чтобы приложение, написанное для API, могло повысить производительность без необходимости значительных знаний платформы при переносе.

ODP в настоящее время используется для разработки реализаций эталонной платформы Открытая платформа для NFV (OPNFV) [4] и продвигается [5][6] компаниями в рамках своих инициатив по поддержке плоскости данных.

Продукты были анонсированы такими компаниями, как Kalray, с множеством аббревиатур.[7] Модели исполнения OpenDataPlane до завершения и инфраструктура также используются приложениями FastPath для использования функциональности OpenFastPath. DPDK поддерживается в версии OpenFastPath через уровень ODP-DPDK. Цель OpenFastPath - обеспечить ускоренную маршрутизацию / переадресацию для IPv4 и IPv6, туннелирование и завершение для различных протоколов.[8]

Реализации

Существует Linux основанная на эталонной программной реализации ODP API, предназначенная как функциональная модель для определения поведения API. В сочетании с пакетом проверки это дает основу для расширения ускоренных реализаций. Текущие реализации ODP существуют для нескольких процессоров с разной степенью аппаратной разгрузки:

Текущие реализации ODP

ИмяВладелец / СопровождающийЦелевая платформаАрхитектура
odp-linuxОткрытый вкладЧистая программная реализация, работает в любой системе Linux. Не является целью производительности, но может использовать DPDK и Netmap.Любой
odp-dpdkОткрытый вкладСерверы Intel x86 и ARMv8, использующие DPDK в качестве уровня программного ускоренияIntel x86, ARMv8
odp-keystone2Инструменты ТехасаSoC TI Keystone IIARM Cortex-A-15
linux-qoriqNXPSoC NXP QorIQ[9]Питание и ARMv8
OCTEONCavium NetworksSoC Cavium Octeon ™MIPS64
ГРОМ[10]Cavium NetworksCavium ThunderX ™ SoCARMv8
Kalray[11]KalrayПлатформа MPPAMPPA
odp-hisilicon[12]HisiliconПлатформа HisiliconARMv8

Релизы

Ниже перечислены различные выпуски OpenDatePlane:

Название выпускаДата выхода
OpenDataPlane v1.0.027 февраля 2015 г.
OpenDataPlane v1.0.117 марта 2015 г.
OpenDataPlane v1.0.227 марта 2015 г.
OpenDataPlane v1.0.317 апреля 2015 г.
OpenDataPlane v1.0.430 апреля 2015 г.
OpenDataPlane v1.113 мая 2015 года
OpenDataPlane v1.222 июля 2015 г.
OpenDataPlane v1.331 августа 2015 г.
OpenDataPlane v1.430 сентября 2015 г.
OpenDataPlane v1.4.113 ноября 2015 г.
OpenDataPlane v1.51 декабря 2015 г.
OpenDataPlane v1.631 декабря 2015 г.
OpenDataPlane v1.78 февраля 2016 г.
OpenDataPlane v1.84 марта 2016 г.
OpenDataPlane v1.915 апреля 2016 г.
OpenDataPlane v1.1029 апреля 2016 г.
OpenDataPlane v1.10.114 июня 2016 г.
OpenDataPlane v1.1118 августа 2016 г.
OpenDataPlane v1.122 декабря 2016 г.
OpenDataPlane v1.1318 января 2017 г.
OpenDataPlane v1.141 марта 2017 г.
OpenDataPlane v1.1519 июня 2017 г.
OpenDataPlane v1.1610 ноября 2017 г.
OpenDataPlane v1.1730 декабря 2017 г.
OpenDataPlane v1.185 марта 2018 г.
OpenDataPlane v1.18.0.116 марта 2018 г.
OpenDataPlane v1.1919 апреля 2018 г.
OpenDataPlane v1.19.0.110 мая 2018
OpenDataPlane v1.19.0.24 июля 2018 г.
OpenDataPlane v1.20.0.03 декабря 2018 г.
OpenDataPlane v1.21.0.028 января 2019 г.,
OpenDataPlane v1.22.0.022 августа 2019 г.,
OpenDataPlane v1.23.0.021 ноября 2019 г.,

Экосистема

Следующие организации в настоящее время спонсируют разработку ODP.

Проекты

Следующие проекты с открытым исходным кодом используют ODP API в качестве уровня абстракции для оборудования плоскости данных.

Рекомендации

  1. ^ Сообщество ARM Connected (2013-10-29). «Linaro Networking Group запускает новую инициативу с открытым исходным кодом для API программирования плоскости данных». ARM.com. Получено 2013-10-29.
  2. ^ Linaro Limited (29 октября 2013 г.). «Linaro запускает проект OpenDataPlane ™ (ODP) для обеспечения межплатформенной совместимости с открытым исходным кодом для сетевых платформ». Linaro.org. Получено 2013-10-29.
  3. ^ https://www.ietf.org/proceedings/90/slides/slides-90-forces-6.pdf
  4. ^ Энеа (05.05.2015). «Enea AB: ARM и Enea демонстрируют эталонную платформу открытой платформы для виртуализации сетевых функций». Businesswire.com. Получено 2015-05-05.
  5. ^ Сообщество ARM Connected (18 мая 2015 г.). «Появление стандарта OpenDataPlane». ARM.com. Получено 2015-05-18.
  6. ^ Марвелл (23 февраля 2016 г.). «Marvell расширяет свое семейство 32- и 64-разрядных встроенных процессоров ARMADA SoC с помощью надежной экосистемы программных решений и партнеров для множества приложений». Marvell.com. Получено 2016-02-23.
  7. ^ Kalrayinc (09.02.2016). "Kalray запускает высокоскоростные процессоры ввода-вывода". kalrayinc.com. Получено 2016-02-09.
  8. ^ OpenFastPath (15 марта 2016 г.). «OpenFastPath - быстрый путь IP с открытым исходным кодом». openfastpath.org. Получено 2016-03-15.
  9. ^ Freescale (в настоящее время NXP) (03.03.2015). «Freescale поддерживает OpenDataPlane для программно-определяемых сетей на основе платформ обработки QorIQ». NXP.com. Получено 2015-08-12.
  10. ^ Cavium (02.03.2015). «Cavium преодолевает барьер пропускной способности IPsec 100 Гбит / с с помощью OpenDataPlane ™ на Mobile World Congress 2015». Cavium.com. Получено 2015-03-02.
  11. ^ Калрай (2017-10-11). «Порт OpenDataPlane для платформы MPPA».
  12. ^ HiSilicon (25 марта 2017 г.). «Порт OpenDataPlane для платформы Hisilicon».
  13. ^ Broadcom (20 февраля 2014 г.). «Broadcom анонсирует платформу виртуализации открытых сетевых функций». broadcom.com. Получено 2014-02-20.
  14. ^ Cavium (19.08.2016). «Linaro объявляет о первом выпуске OpenDataPlane для LTS Monarch». cavium.com. Получено 2016-08-19.
  15. ^ Энеа (13 февраля 2015 г.). «Enea демонстрирует реализацию Open Event Machine на архитектуре Broadcom XLP на MWC». enea.com. Получено 2015-02-13.