GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Mejore el rendimiento de la red con openDataplane y Open Fast Path en Ubuntu 16.04

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

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

Ubuntu
  1. Mejore la velocidad de inicio de la aplicación con precarga en Ubuntu

  2. La infraestructura abierta de alto rendimiento llega a Ubuntu

  3. ¿Errores con Vagrant y Ubuntu 12.10 con Rvm?

  4. ¿Problemas con Nvidia Gpu y Ubuntu 16.04?

  5. Escanee la red local con arp-scan en ubuntu

Cómo instalar Django con PostgreSQL y Nginx en Ubuntu 16.04

Supervise el tráfico de red con Ntopng en Ubuntu 18.04 LTS

Reemplazo de Amavisd con Rspamd en ISPConfig 3.1 en Debian y Ubuntu

Cómo instalar y crear un blog con Hexo en Ubuntu 20.04

Alojamiento virtual con vsftpd y MySQL en Ubuntu 12.04

Alojamiento virtual con vsftpd y MySQL en Ubuntu 12.10