Cải thiện hiệu suất mạng với openDataplane và Open Fast Path trên Ubuntu 16.04

theanh

Administrator
Nhân viên
Open Data Plane (ODP)

Hiệu suất của các giải pháp mạng dựa trên Linux là một trong những vấn đề lớn nhất trong quá khứ và đó là lý do tại sao Intel bắt đầu dự án Data Plane Development Kit (DPDK). Mục tiêu của môi trường ODP là cung cấp một khuôn khổ đa nền tảng cho các ứng dụng data plane. ODP là một dự án nguồn mở cung cấp môi trường cho các ứng dụng data plane. Nó dễ sử dụng, cung cấp hiệu suất cao và cũng có thể di động trên nhiều hệ thống mạng trên chip (SoC) và các bộ lệnh và kiến trúc như ARM và Intel. Môi trường OPD bao gồm các tệp cấu hình, dịch vụ, API cho các kiến trúc và tiện ích khác nhau được tối ưu hóa cho các nhà cung cấp phần cứng cơ bản khác nhau. Mục đích của môi trường ODP là tách API khỏi các kiến trúc cơ bản và được thiết kế theo cách hỗ trợ cả triển khai phần mềm và phần cứng để khai thác sâu các tính năng tăng tốc có trong SoC hiện đại.

Open Fast Path (OFP)

Như chúng ta đã biết, các thiết bị hiệu suất cao là cần thiết cho lưu lượng dữ liệu tăng theo cấp số nhân, đòi hỏi các thiết bị hoặc máy xử lý gói tin nhanh trong mạng. OpenFastPath là một triển khai nguồn mở khác của ngăn xếp TCP/IP hiệu suất cao, hữu ích cho các ứng dụng mạng có ngăn xếp Linux truyền thống. Chức năng chính của OFP được cung cấp dưới dạng thư viện cho các ứng dụng khác nhau đang sử dụng ODP để hoàn thành, mô hình thực thi và khuôn khổ. OFP hỗ trợ cả DPDK và ODP để có hiệu suất cao cho các giải pháp mạng.


Xây dựng thiết lập môi trường​

Theo trang web dự án OFP, nó đã được thử nghiệm trên các máy Linux x86 32/64bit chung. Trong hướng dẫn này, OFP sẽ được cài đặt trên máy ảo Ubuntu 16.04.


Điều kiện tiên quyết​

Các bước sau được thực hiện với tư cách là người dùng root. Chạy:
Mã:
sudo -s
để trở thành root trên máy chủ.

Các gói sau đây là bắt buộc để biên dịch mã OFP và ODP trên Ubuntu.

Những gói này là bắt buộc để truy cập và xây dựng ODP và OFP:
Mã:
apt-get install git libtool automake build-essential pkg-config


Tuy nhiên, các gói sau đây là tùy chọn.
Mã:
apt-get install libssl-dev valgrind libcunit1 libcunit1-doc libcunit1-dev


Đường dẫn OFP có thể được sử dụng với ODP và DPDK (intel). Tuy nhiên, trong hướng dẫn này, ODP sẽ được sử dụng với dự án OFP. Sử dụng tiện ích git để tải xuống mã ODP như được hiển thị bên dưới.
Mã:
git clone https://git.linaro.org/lng/odp.git
Vào thư mục gốc của mã nguồn ODP và chạy lệnh sau.
Mã:
./bootstrap


Trong hướng dẫn này, thư mục cài đặt của ODP là "/usr/local/odp".
Mã:
mkdir /usr/local/odp


Chạy tập lệnh cấu hình với tùy chọn tiền tố như được hiển thị trong ảnh chụp màn hình sau.
Mã:
./configure --prefix=/usr/local/odp/


Đầu ra của tập lệnh cấu hình được hiển thị bên dưới.



Chạy make và make install để biên dịch và cài đặt ODP trên nền tảng Ubuntu.
Mã:
make
Mã:
make install
Như được hiển thị bên dưới, hãy tải xuống mã OFP bằng cách sử dụng lệnh git.
Mã:
git clone https://github.com/OpenFastPath/ofp
Vào thư mục gốc của mã nguồn OFP và chạy lệnh ./bootstrap.
Mã:
cd ofp/
./bootstrap


Thư mục cài đặt của dự án OFP là "/usr/local/ofp". Chạy tập lệnh configure sau để kiểm tra các phụ thuộc của dự án.
Mã:
./configure --prefix=/usr/local/ofp/ --with-odp=/usr/local/odp/ --enable-cunit
Đầu ra của tập lệnh configure được hiển thị trong ảnh chụp nhanh sau.



Chạy lệnh "make" để xây dựng mã dự án OFP. Sẽ mất một thời gian để xây dựng ứng dụng OFP.
Mã:
make


Lệnh sau sẽ đặt các tệp nhị phân và thư viện của dự án OFP bên trong đường dẫn tiền tố.
Mã:
make install
Sau khi cài đặt, các tệp nhị phân và thư viện được đặt trong đường dẫn "/usr/local/ofp". Tất cả các ứng dụng thử nghiệm liên quan cho dự án OFP đều nằm trong thư mục "bin".




Thực thi ứng dụng OFP​

Để chạy ứng dụng OFP (fpm), hãy vào thư mục scripts trong thư mục gốc của mã nguồn OFP.



Theo mặc định, ứng dụng fpm chạy trên giao diện eth0. Tuy nhiên, trên ubuntu 16.04 LTS, tên giao diện là "enp0s3". Ảnh chụp màn hình sau đây cho thấy cách ứng dụng fpm được chạy bằng tập lệnh "start_device.sh".



Sau khi chạy ứng dụng "fpm", một giao diện mới "fp0" sẽ được tạo như hiển thị bên dưới.



Chạy lệnh sau để truy cập CLI của ứng dụng "fpm".
Mã:
telnet localhost 2345


CLI của ứng dụng hỗ trợ một số lệnh cơ bản. Ảnh chụp màn hình sau đây cho thấy số liệu thống kê giao diện bằng lệnh "stat". Sau khi chạy ứng dụng fastpath, giao diện ethernet (enp0s3) sẽ bị ngắt kết nối khỏi Linux và "NoARP" sẽ được thiết lập trên đó. Giao diện ảo mới được tạo (fp0) sẽ được HĐH Linux sử dụng để giao tiếp ngay bây giờ.


Tài liệu tham khảo​

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