Поиск по сайту:

Улучшите производительность сети с помощью openDataplane и Open Fast Path в Ubuntu 16.04


На этой странице

  1. Настройка среды сборки
    1. Предпосылки

    Открытая плоскость данных (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 для связи.

    использованная литература

    1. http://www.opendataplane.org/wp-content/uploads/2014/01/ODPIntroductionandOverview-2014Jan29.pdf
    2. http://www.openfastpath.org/index.php/service/technicaloverview/