Plano de datos abiertos (ODP)
El rendimiento de las soluciones de red basadas en Linux fue uno de los mayores problemas en el pasado y es por eso que Intel inició el proyecto Data Plane Development Kit (DPDK). El objetivo del entorno ODP es proporcionar un marco multiplataforma para aplicaciones de plano de datos. ODP es un proyecto de código abierto que proporciona el entorno para aplicaciones de planos de datos. Es fácil de usar, proporciona un alto rendimiento y también es portátil a través de varios sistemas de red en chip (SoC) y conjuntos de instrucciones y arquitecturas como ARM e Intel. El entorno OPD consta de archivos de configuración, servicios, API para diferentes arquitecturas y utilidades que están optimizadas para los diferentes proveedores de hardware subyacentes. El propósito del entorno ODP es separar la API de las arquitecturas subyacentes y está diseñado de manera que admita implementaciones de software y hardware para aprovechar en profundidad las funciones de aceleración presentes en los SoC modernos.
Ruta rápida abierta (OFP)
Como sabemos, se requieren dispositivos de alto rendimiento para el tráfico de datos en crecimiento exponencial que exige dispositivos o máquinas de procesamiento de paquetes rápidos en la red. OpenFastPath es otra implementación de código abierto de una pila TCP/IP de alto rendimiento que es útil para aplicaciones de red con una pila tradicional de Linux. La funcionalidad principal de OFP se proporciona como una biblioteca para diferentes aplicaciones que utilizan ODP para el marco y el modelo de ejecución y finalización. OFP es compatible con DPDK y ODP para un alto rendimiento de las soluciones de red.
Crear la configuración del entorno
Según el sitio web del proyecto OFP, se ha probado en máquinas Linux x86 genéricas de 32/64 bits. En este tutorial, OFP se instalará en una máquina virtual Ubuntu 16.04.
Requisitos
Los siguientes pasos se ejecutan como usuario root. Ejecutar:
sudo -s
para convertirse en root en el servidor.
Se requieren los siguientes paquetes para compilar código OFP y ODP en Ubuntu.
Estos son obligatorios para acceder y construir ODP y OFP:
apt-get install git libtool automake build-essential pkg-config
Sin embargo, los siguientes paquetes son opciones.
apt-get install libssl-dev valgrind libcunit1 libcunit1-doc libcunit1-dev
La ruta OFP se puede utilizar con ODP y DPDK (Intel). Sin embargo, en este tutorial, se usará ODP con el proyecto OFP. Usando la utilidad git para descargar el código ODP como se muestra a continuación.
git clone https://git.linaro.org/lng/odp.git
Vaya al directorio raíz del código fuente de ODP y ejecute el siguiente comando.
./bootstrap
En este tutorial, el directorio de instalación de ODP es "/usr/local/odp".
mkdir /usr/local/odp
Ejecute el script de configuración con la opción de prefijo como se muestra en la siguiente captura de pantalla.
./configure --prefix=/usr/local/odp/
El resultado del script de configuración se muestra a continuación.
Ejecute make y make install para la compilación e instalación de ODP en la plataforma Ubuntu.
make
make install
Como se muestra a continuación, descargue el código OFP usando el comando git.
git clone https://github.com/OpenFastPath/ofp
Ingrese al directorio raíz del código fuente de OFP y ejecute el comando ./bootstrap.
cd ofp/
./bootstrap
El directorio de instalación del proyecto OFP es "/usr/local/ofp". Ejecute el siguiente script de configuración para comprobar las dependencias del proyecto.
./configure --prefix=/usr/local/ofp/ --with-odp=/usr/local/odp/ --enable-cunit
El resultado del script de configuración se muestra en la siguiente instantánea.
Ejecute el comando "hacer" para compilar el código del proyecto OFP. Tomará algún tiempo construir la aplicación OFP.
make
El siguiente comando colocará los archivos binarios y las bibliotecas del proyecto OFP dentro de la ruta del prefijo.
make install
Después de la instalación, los archivos binarios y las bibliotecas se colocan en "/usr/local/ofp " ruta. Todas las aplicaciones de prueba relacionadas con el proyecto OFP se encuentran en el "bin " directorio.
Ejecucion de la Solicitud OFP
Para ejecutar la aplicación OFP (fpm),
vaya al directorio de scripts en el directorio raíz del código fuente de OFP.
De forma predeterminada, la aplicación fpm se ejecuta en la interfaz eth0. Sin embargo, en ubuntu 16.04 LTS, el nombre de la interfaz es "enp0s3 ". La siguiente captura de pantalla muestra cómo se ejecuta la aplicación fpm usando "start_device.sh " guión.
Después de ejecutar el "fpm " aplicación, una nueva interfaz "fp0 " se creará como se muestra a continuación.
Ejecute el siguiente comando para obtener acceso a la CLI de "fpm " aplicación.
telnet localhost 2345
La CLI de la aplicación admite varios comandos básicos. La siguiente captura de pantalla muestra las estadísticas de la interfaz usando el "stat " comando. Después de ejecutar la aplicación fastpath, la interfaz ethernet (enp0s3) se desconectará de Linux y se configurará "NoARP". La interfaz virtual recién creada (fp0) será utilizada por el sistema operativo Linux para la comunicación ahora.
Referencias
- http://www.opendataplane.org/wp-content/uploads/2014/01/ODPIntroductionandOverview-2014Jan29.pdf
- http://www.openfastpath.org/index.php/service/technicaloverview/