Автор (ы) оригинала | Начальная загрузка проекта с открытым исходным кодом в рамках сетевой группы Linaro |
---|---|
Репозиторий | github |
Написано в | C |
Лицензия | BSD-3 |
Интернет сайт | opendataplane |
OpenDataPlane (ODP) является открытым исходным кодом проекта , который определяет интерфейсы прикладного программирования (API) для портативных высокопроизводительных сетей плоскости данных приложений. [1] Дизайн ODP API позволяет использовать различные стратегии реализации, не подвергая приложение подробностям реализации. Это позволяет одному и тому же приложению (исходному или двоичному) эффективно работать на различных аппаратных платформах с разными уровнями аппаратного ускорения. Например, один и тот же исходный код приложения может быть перекомпилирован для работы в стандартной серверной системе или в специализированной сетевой системе на устройстве Chip (SoC).
Плоскость сетевых данных относится к программному и аппаратному обеспечению, которое пересылает пакеты / кадры с одного интерфейса на другой и обычно выполняет различные операции (проверка ошибок, добавление / удаление / изменение заголовков протокола и т. Д.) С пакетными данными. Обычно программное обеспечение плоскости данных использует аппаратное ускорение (например, вычисление контрольной суммы протокола) для достижения высоких скоростей передачи пакетов и битрейта. Сеть плоскости управления и плоскости управления см программного обеспечения , что контроль и плоскости данных программное обеспечение мониторинга и аппаратного обеспечения работы.
История [ править ]
29 октября 2013 года Linaro объявила о сотрудничестве с членами группы интересов Linaro Networking в разработке и размещении открытого стандартного интерфейса прикладного программирования для приложений плоскости данных. [2] Первоначально разработанный членами Linaro Networking Group, этот проект открыт для участия всех лиц и компаний, которые разделяют интерес в продвижении стандартного набора API-интерфейсов для использования во всем диапазоне доступных архитектур сетевых процессоров.
Обзор технологии [ править ]
ODP состоит из спецификации API и набора эталонных реализаций, реализующих эти API на разных платформах. [3] Реализации варьируются от чистого программного обеспечения до тех, которые глубоко используют различные функции аппаратного ускорения и разгрузки, имеющиеся в современных сетевых процессорах System-on-Chip (SoC).
Цель ODP - предоставить разработчикам API большую гибкость для использования и оптимизации реализации. Это предназначено для обеспечения легкой переносимости платформы, чтобы приложение, написанное для API, могло повысить производительность без необходимости значительных знаний платформы при переносе.
ODP в настоящее время используется для разработки реализаций эталонной платформы Open Platform for NFV (OPNFV) [4] и продвигается [5] [6] компаниями в рамках их инициатив по поддержке плоскости данных.
Продукты были анонсированы такими компаниями, как Kalray, с большим количеством аббревиатур. [7] OpenDataPlane работает до завершения, модели выполнения и инфраструктура также используются приложениями FastPath для использования функциональности OpenFastPath. DPDK поддерживается в версии OpenFastPath через уровень ODP-DPDK. Цель OpenFastPath - обеспечить ускоренную маршрутизацию / пересылку для IPv4 и IPv6, туннелирование и завершение для различных протоколов. [8]
Реализации [ править ]
Существует эталонная программная реализация ODP API на базе Linux , предназначенная для использования в качестве функциональной модели для определения поведения API. В сочетании с пакетом проверки это дает основу для расширения ускоренных реализаций. Текущие реализации ODP существуют для нескольких процессоров с разной степенью аппаратной разгрузки:
Текущие реализации ODP [ править ]
Имя | Владелец / Сопровождающий | Целевая платформа | Архитектура |
---|---|---|---|
odp-linux | Открытый вклад | Чистая программная реализация, работает в любой системе Linux. Не является целью производительности, но можно использовать DPDK и Netmap. | Любой |
odp-dpdk | Открытый вклад | Серверы Intel x86 и ARMv8, использующие DPDK в качестве уровня программного ускорения | Intel x86, ARMv8 |
odp-keystone2 | Инструменты Техаса | SoC TI Keystone II | ARM Cortex-A-15 |
linux-qoriq | NXP | SoC NXP QorIQ [9] | Питание и ARMv8 |
OCTEON | Cavium Networks | SoC Cavium Octeon ™ | MIPS64 |
ГРОМ [10] | Cavium Networks | Cavium ThunderX ™ SoC | ARMv8 |
Калрай [11] | Kalray | Платформа MPPA | MPPA |
odp-hisilicon [12] | Hisilicon | Платформа Hisilicon | ARMv8 |
Релизы [ править ]
Ниже перечислены различные выпуски OpenDatePlane:
Название выпуска | Дата выхода |
---|---|
OpenDataPlane v1.0.0 | 27 февраля 2015 г. |
OpenDataPlane v1.0.1 | 17 марта 2015 г. |
OpenDataPlane v1.0.2 | 27 марта 2015 г. |
OpenDataPlane v1.0.3 | 17 апреля 2015 г. |
OpenDataPlane v1.0.4 | 30 апреля 2015 г. |
OpenDataPlane v1.1 | 13 мая 2015 |
OpenDataPlane v1.2 | 22 июля 2015 г. |
OpenDataPlane v1.3 | 31 августа 2015 г. |
OpenDataPlane v1.4 | 30 сентября 2015 г. |
OpenDataPlane v1.4.1 | 13 ноября 2015 г. |
OpenDataPlane v1.5 | 1 декабря 2015 г. |
OpenDataPlane v1.6 | 31 декабря 2015 г. |
OpenDataPlane v1.7 | 8 февраля 2016 г. |
OpenDataPlane v1.8 | 4 марта 2016 г. |
OpenDataPlane v1.9 | 15 апреля 2016 г. |
OpenDataPlane v1.10 | 29 апреля 2016 г. |
OpenDataPlane v1.10.1 | 14 июня 2016 г. |
OpenDataPlane v1.11 | 18 августа 2016 г. |
OpenDataPlane v1.12 | 2 декабря 2016 г. |
OpenDataPlane v1.13 | 18 января 2017 г. |
OpenDataPlane v1.14 | 1 марта 2017 г. |
OpenDataPlane v1.15 | 19 июня 2017 г. |
OpenDataPlane v1.16 | 10 ноября 2017 г. |
OpenDataPlane v1.17 | 30 декабря 2017 г. |
OpenDataPlane v1.18 | 5 марта 2018 г. |
OpenDataPlane v1.18.0.1 | 16 марта 2018 г. |
OpenDataPlane v1.19 | 19 апреля 2018 г. |
OpenDataPlane v1.19.0.1 | 10 мая 2018 г. |
OpenDataPlane v1.19.0.2 | 4 июля 2018 г. |
OpenDataPlane v1.20.0.0 | 3 декабря 2018 г. |
OpenDataPlane v1.21.0.0 | 28 января 2019 г., |
OpenDataPlane v1.22.0.0 | 22 августа 2019 г., |
OpenDataPlane v1.23.0.0 | 21 ноября 2019 г., |
Экосистема [ править ]
Следующие организации в настоящее время спонсируют разработку ODP.
- РУКА
- Broadcom [13]
- Кавиум [14]
- Cisco
- ENEA AB [15]
- Ericsson
- HiSilicon
- Линаро
- MontaVista
- Nokia
- NXP
- Инструменты Техаса
- Wind - ранее Wind River Systems
- ZTE
Проекты [ править ]
Следующие проекты с открытым исходным кодом используют ODP API в качестве уровня абстракции по отношению к оборудованию плоскости данных.
- Платформа приложений уровня данных OpenEventMachine
- Стек OpenFastPath TCP / IP
Ссылки [ править ]
- ^ Сообщество ARM Connected (2013-10-29). «Linaro Networking Group запускает новую инициативу с открытым исходным кодом, касающуюся API программирования плоскости данных» . ARM.com . Проверено 29 октября 2013 .
- ^ Линаро Limited (2013-10-29). «Linaro запускает проект OpenDataPlane ™ (ODP) для обеспечения межплатформенной совместимости с открытым исходным кодом для сетевых платформ» . Linaro.org . Проверено 29 октября 2013 .
- ^ https://www.ietf.org/proceedings/90/slides/slides-90-forces-6.pdf
- ^ Энеа (05.05.2015). «Enea AB: ARM и Enea демонстрируют эталонную платформу открытой платформы для виртуализации сетевых функций» . Businesswire.com . Проверено 5 мая 2015 .
- ^ Сообщество ARM Connected (2015-05-18). «Появление стандарта OpenDataPlane» . ARM.com . Проверено 18 мая 2015 .
- ^ Marvell (2016-02-23). «Marvell расширяет свое семейство 32-разрядных и 64-разрядных встроенных процессоров ARMADA SoC с помощью надежной экосистемы программных решений и партнеров для различных приложений» . Marvell.com . Проверено 23 февраля 2016 .
- ^ Kalrayinc (2016-02-09). «Kalray запускает высокоскоростные процессоры ввода-вывода» . kalrayinc.com . Проверено 9 февраля 2016 .
- ^ OpenFastPath (15 марта 2016 г.). «OpenFastPath - быстрый путь IP с открытым исходным кодом» . openfastpath.org . Проверено 15 марта 2016 .
- ^ Freescale (в настоящее время NXP) (2015-03-03). «Freescale поддерживает OpenDataPlane для программно-определяемых сетей на основе платформ обработки QorIQ» . NXP.com . Проверено 12 августа 2015 .
- ↑ Cavium ( 2 марта 2015 г.). «Cavium преодолевает барьер пропускной способности IPsec 100 Гбит / с с помощью OpenDataPlane ™ на Mobile World Congress 2015» . Cavium.com . Проверено 2 марта 2015 .
- ^ Kalray (2017-10-11). «Порт OpenDataPlane для платформы MPPA» .
- ^ HiSilicon (2017-03-25). «Порт OpenDataPlane для платформы Hisilicon» .
- ↑ Broadcom (20 февраля 2014 г.). «Broadcom анонсирует платформу виртуализации открытых сетевых функций» . broadcom.com . Проверено 20 февраля 2014 .
- ^ Cavium (2016-08-19). «Линаро объявляет о первом выпуске OpenDataPlane для LTS Monarch» . cavium.com . Проверено 19 августа 2016 .
- ^ Enea (2015-02-13). «Enea демонстрирует реализацию Open Event Machine на архитектуре Broadcom XLP на MWC» . enea.com . Проверено 13 февраля 2015 .