Улучшите производительность сети с помощью openDataplane и Open Fast Path в Ubuntu 16.04
На этой странице
- Настройка среды сборки
- Предпосылки
Открытая плоскость данных (ODP)
Производительность сетевых решений на базе Linux была одной из самых больших проблем в прошлом, и именно поэтому Intel начала проект Data Plane Development Kit (DPDK). Цель среды ODP — предоставить кроссплатформенную структуру для приложений плоскости данных. ODP — это проект с открытым исходным кодом, который предоставляет среду для приложений плоскости данных. Он прост в использовании, обеспечивает высокую производительность, а также совместим с различными сетевыми системами на кристалле (SoC), наборами инструкций и архитектурами, такими как ARM и Intel. Среда OPD состоит из файлов конфигурации, служб, API-интерфейсов для различных архитектур и утилит, оптимизированных для различных поставщиков оборудования. Целью среды ODP является отделение API от базовых архитектур, и она разработана таким образом, чтобы поддерживать как программные, так и аппаратные реализации для глубокого использования функций ускорения, присутствующих в современных SoC.
Открытый быстрый путь (OFP)
Как мы знаем, высокопроизводительные устройства требуются для экспоненциально растущего трафика данных, который требует устройств или машин для быстрой обработки пакетов в сети. OpenFastPath — это еще одна реализация с открытым исходным кодом высокопроизводительного стека TCP/IP, полезная для сетевых приложений с традиционным стеком Linux. Основная функциональность OFP предоставляется в виде библиотеки для различных приложений, которые используют ODP для модели завершения, выполнения и структуры. OFP поддерживает как DPDK, так и ODP для обеспечения высокой производительности сетевых решений.
Создайте настройку среды
Согласно веб-сайту проекта OFP, он был протестирован на обычных 32/64-битных машинах x86 Linux. В этом руководстве OFP будет установлен на виртуальной машине Ubuntu 16.04.
Предпосылки
Следующие шаги выполняются от имени пользователя root. Бег:
sudo -s
стать root на сервере.
Следующие пакеты необходимы для компиляции кода OFP и ODP в Ubuntu.
Они обязательны для доступа и построения ODP и OFP:
apt-get install git libtool automake build-essential pkg-config
Однако следующие пакеты являются опциями.
apt-get install libssl-dev valgrind libcunit1 libcunit1-doc libcunit1-dev
Путь OFP можно использовать с ODP и DPDK (intel). Однако в этом руководстве ODP будет использоваться с проектом OFP. Используйте утилиту git для загрузки кода ODP, как показано ниже.
git clone https://git.linaro.org/lng/odp.git
Перейдите в корневой каталог исходного кода ODP и выполните следующую команду.
./bootstrap
В этом руководстве каталог установки ODP — \/usr/local/odp\.
mkdir /usr/local/odp
Запустите скрипт настройки с параметром префикса, как показано на следующем снимке экрана.
./configure --prefix=/usr/local/odp/
Вывод скрипта configure показан ниже.
Запустите make и make install для компиляции и установки ODP на платформе Ubuntu.
make
make install
Как показано ниже, загрузите код OFP с помощью команды git.
git clone https://github.com/OpenFastPath/ofp
Войдите в корневой каталог исходного кода OFP и выполните команду ./bootstrap.
cd ofp/
./bootstrapКаталог установки проекта OFP — \/usr/local/ofp\. Запустите следующий скрипт configure, чтобы проверить зависимости проекта.
./configure --prefix=/usr/local/ofp/ --with-odp=/usr/local/odp/ --enable-cunit
Вывод скрипта configure показан на следующем снимке.
Запустите команду make, чтобы построить код проекта OFP. Создание приложения OFP займет некоторое время.
make
Следующая команда поместит двоичные файлы и библиотеки проекта OFP в префиксный путь.
make install
После установки двоичные файлы и библиотеки размещаются по пути \/usr/local/ofp\. Все связанные тестовые приложения для проекта OFP находятся в каталоге \bin\.
Выполнение заявки OFP
Чтобы запустить приложение OFP (fpm)
,
перейдите в каталог scripts в корневом каталоге исходного кода OFP.По умолчанию приложение fpm работает на интерфейсе eth0. Однако в Ubuntu 16.04 LTS имя интерфейса — «enp0s3». На следующем снимке экрана показано, как приложение fpm запускается с использованием сценария start_device.sh.
После запуска приложения «fpm» будет создан новый интерфейс «fp0», как показано ниже.
Запустите следующую команду, чтобы получить доступ к CLI приложения \fpm\.
telnet localhost 2345
Интерфейс командной строки приложения поддерживает несколько основных команд. Следующий снимок экрана показывает статистику интерфейса с помощью команды \stat\. После запуска приложения fastpath интерфейс Ethernet (enp0s3) будет отключен от Linux и на нем будет установлен параметр «NoARP». Только что созданный виртуальный интерфейс (fp0) теперь будет использоваться ОС Linux для связи.
использованная литература
- http://www.opendataplane.org/wp-content/uploads/2014/01/ODPIntroductionandOverview-2014Jan29.pdf
- http://www.openfastpath.org/index.php/service/technicaloverview/