Otwarty zestaw narzędzi dla programowalnych przełączników Ethernet Intel Tofino

Firma Intel udostępniła zestaw narzędzi umożliwiający tworzenie własnych aplikacji do przetwarzania pakietów w programowalnych przełącznikach serii Tofino. Zgodnie z licencją Apache 2.0 opublikowano kod źródłowy backendu kompilatora p4c oraz komponentów środowiska deweloperskiego Intel P4 Studio, takich jak sterowniki, model symulacji przełącznika, serwer i klient dla protokołu BF Runtime. Do tworzenia aplikacji stosuje się język programowania P4 (Programming Protocol-independent Packet Processors), przeznaczony do definiowania logiki przetwarzania pakietów w urządzeniach sieciowych, takich jak karty sieciowe, przełączniki, routery i zapory sieciowe.

Opublikowany backend umożliwia translację programów w języku P4 do postaci gotowej do zainstalowania na przełącznikach serii Intel Tofino. Dzięki temu użytkownicy przełączników mogą tworzyć aplikacje, które rozszerzają standardową funkcjonalność, zmieniają logikę działania lub dostosowują urządzenie do specyfiki swoich sieci.

Programy w języku P4 są kompilowane do postaci dla docelowych platform, które mogą być zarówno sprzętowe (FPGA, programowalne ASIC), jak i programowe (x86, BPF). Razem z kodem do instalacji na docelowych systemach kompilator generuje runtime do zarządzania aplikacją z użyciem protokołów Protobuf/gRPC oraz API P4Runtime.

Standardowa logika działania programów sprowadza się do klasyfikacji pakietów na podstawie ich nagłówków oraz wykonywania działań na przychodzących pakietach, takich jak przekierowywanie, odrzucanie, zmiana TTL i zamiana pól. Język nie jest związany z protokołami sieciowymi i zamiast wbudowanej obsługi typowych protokołów, takich jak IP, Ethernet, TCP i VxLAN, daje deweloperom możliwość definiowania dowolnych protokołów w odniesieniu do kompilowanych aplikacji (deweloper dołącza opis formatów nagłówków i pól protokołu).

Otwarty zestaw narzędzi dla programowalnych przełączników Ethernet Intel Tofino

Oprócz opublikowanego backendu dla przełączników Intel Tofino, projekt P4 oferuje backend do kompilacji aplikacji w języku P4 do kodu w języku C, który następnie może być skompilowany do formatu odpowiedniego do wykonania w maszynie wirtualnej eBPF wewnątrz jądra Linux. Projekt rozwija także otwarty symulator przełącznika, który można wykorzystać do przeprowadzania eksperymentów w wirtualnej sieci Mininet oraz backend do kompilacji programów P4 dla symulatora.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster