GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Verbessern Sie die Netzwerkleistung mit openDataplane und Open Fast Path unter Ubuntu 16.04

Offene Datenebene (ODP)

Die Performance von Linux-basierten Netzwerklösungen war in der Vergangenheit eines der größten Probleme und deshalb hat Intel das Data Plane Development Kit (DPDK)-Projekt gestartet. Das Ziel der ODP-Umgebung ist es, ein plattformübergreifendes Framework für Anwendungen auf Datenebene bereitzustellen. ODP ist ein Open-Source-Projekt, das die Umgebung für Anwendungen auf Datenebene bereitstellt. Es ist einfach zu bedienen, bietet eine hohe Leistung und ist auch über verschiedene Netzwerk-System-on-Chip (SoCs) und Befehlssätze und Architekturen wie ARM und Intel portierbar. Die OPD-Umgebung besteht aus Konfigurationsdateien, Diensten, APIs für verschiedene Architekturen und Dienstprogramme, die für die verschiedenen zugrunde liegenden Hardwareanbieter optimiert sind. Der Zweck der ODP-Umgebung besteht darin, die API von den zugrunde liegenden Architekturen zu trennen, und sie ist so konzipiert, dass sie sowohl Software- als auch Hardwareimplementierungen unterstützt, um die in modernen SoCs vorhandenen Beschleunigungsfunktionen umfassend auszunutzen.

Öffnen Sie Fast Path (OFP)

Wie wir wissen, werden für den exponentiell wachsenden Datenverkehr leistungsstarke Geräte benötigt, die schnelle Paketverarbeitungsgeräte oder -maschinen im Netzwerk erfordern. OpenFastPath ist eine weitere Open-Source-Implementierung eines Hochleistungs-TCP/IP-Stacks, der für Netzwerkanwendungen mit einem herkömmlichen Linux-Stack hilfreich ist. Die Hauptfunktionalität von OFP wird als Bibliothek für verschiedene Anwendungen bereitgestellt, die ODP für die Vervollständigung, das Ausführungsmodell und das Framework verwenden. OFP unterstützt sowohl DPDK als auch ODP für eine hohe Leistung von Netzwerklösungen.

Erstellen Sie das Umgebungs-Setup

Laut OFP-Projektwebsite wurde es auf generischen 32/64-Bit-x86-Linux-Maschinen getestet. In diesem Tutorial wird OFP auf einer Ubuntu 16.04-VM installiert.

Voraussetzungen

Die folgenden Schritte werden als Root-Benutzer ausgeführt. Ausführen:

sudo -s

Root auf dem Server werden.

Die folgenden Pakete sind erforderlich, um OFP- und ODP-Code auf Ubuntu zu kompilieren.

Diese sind für den Zugriff auf und den Aufbau von ODP und OFP obligatorisch:

apt-get install git libtool automake build-essential pkg-config

Die folgenden Pakete sind jedoch Optionen.

 apt-get install libssl-dev valgrind libcunit1 libcunit1-doc libcunit1-dev

OFP-Pfad kann mit ODP und DPDK (Intel) verwendet werden. In diesem Tutorial wird ODP jedoch mit dem OFP-Projekt verwendet. Verwenden des Git-Dienstprogramms zum Herunterladen des ODP-Codes wie unten gezeigt.

 git clone https://git.linaro.org/lng/odp.git

Wechseln Sie in das Stammverzeichnis des ODP-Quellcodes und führen Sie den folgenden Befehl aus.

 ./bootstrap

In diesem Tutorial ist das Installationsverzeichnis von ODP "/usr/local/odp".

mkdir /usr/local/odp

Führen Sie das Konfigurationsskript mit der Präfixoption aus, wie im folgenden Screenshot gezeigt.

 ./configure --prefix=/usr/local/odp/

Die Ausgabe des Konfigurationsskripts ist unten dargestellt.

Führen Sie make und make install aus, um ODP auf der Ubuntu-Plattform zu kompilieren und zu installieren.

make
make install

Laden Sie den OFP-Code wie unten gezeigt mit dem Befehl git herunter.

git clone https://github.com/OpenFastPath/ofp

Gehen Sie in das Stammverzeichnis des OFP-Quellcodes und führen Sie den Befehl ./bootstrap aus.

cd ofp/
./bootstrap

Das Installationsverzeichnis des OFP-Projekts ist "/usr/local/ofp". Führen Sie das folgende Konfigurationsskript aus, um die Abhängigkeiten des Projekts zu überprüfen.

 ./configure --prefix=/usr/local/ofp/ --with-odp=/usr/local/odp/ --enable-cunit

Die Ausgabe des configure-Skripts wird im folgenden Schnappschuss gezeigt.

Führen Sie den Befehl „make“ aus, um den OFP-Projektcode zu erstellen. Es wird einige Zeit dauern, die OFP-Anwendung zu erstellen.

 make

Der folgende Befehl platziert die Binärdateien und Bibliotheken des OFP-Projekts im Präfixpfad.

 make install

Nach der Installation werden Binärdateien und Bibliotheken unter „/usr/local/ofp abgelegt "-Pfad. Alle zugehörigen Testanwendungen für das OFP-Projekt befinden sich unter dem "Papierkorb " Verzeichnis.

Ausführung der OFP-Anwendung

Zum Ausführen der OFP-Anwendung (fpm), Wechseln Sie in das Skriptverzeichnis unter dem Stammverzeichnis des OFP-Quellcodes.

Standardmäßig wird die fpm-Anwendung auf der eth0-Schnittstelle ausgeführt. Unter Ubuntu 16.04 LTS lautet der Schnittstellenname jedoch „enp0s3 ".  Der folgende Screenshot zeigt, wie die fpm-Anwendung mit der Datei "start_device.sh ausgeführt wird " Skript.

Nach dem Ausführen der Datei „fpm " Anwendung, eine neue Schnittstelle "fp0 " wird wie unten gezeigt erstellt.

Führen Sie den folgenden Befehl aus, um Zugriff auf die CLI von „fpm " Anwendung.

telnet localhost 2345

Die CLI der Anwendung unterstützt mehrere grundlegende Befehle. Der folgende Screenshot zeigt die Interface-Statistiken mit der Datei „stat "-Befehl. Nach dem Ausführen der Fastpath-Anwendung wird die Ethernet-Schnittstelle (enp0s3) von Linux getrennt und "NoARP" darauf gesetzt. Die neu erstellte virtuelle Schnittstelle (fp0) wird jetzt vom Linux-Betriebssystem für die Kommunikation verwendet.

Referenzen

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

Ubuntu
  1. Überwachen Sie den Netzwerkverkehr mit vnStat unter Ubuntu 20.04

  2. Verbessern Sie die Startgeschwindigkeit von Anwendungen mit Preload in Ubuntu

  3. Offene Hochleistungsinfrastruktur kommt zu Ubuntu

  4. Fehler mit Vagrant und Ubuntu 12.10 mit Rvm?

  5. Probleme mit Nvidia GPU und Ubuntu 16.04?

So installieren Sie Django mit PostgreSQL und Nginx unter Ubuntu 16.04

Überwachen Sie den Netzwerkverkehr mit Ntopng auf Ubuntu 18.04 LTS

Ersetzen von Amavisd durch Rspamd in ISPConfig 3.1 auf Debian und Ubuntu

So installieren und erstellen Sie ein Blog mit Hexo unter Ubuntu 20.04

Virtuelles Hosting mit vsftpd und MySQL auf Ubuntu 12.04

Virtuelles Hosting mit vsftpd und MySQL auf Ubuntu 12.10