Arkitekturen af BPF-kommandoer har fået status som foreslået standard

IETF (Internet Engineering Task Force), der arbejder med udviklingen af protokoller og arkitektur for internettet, har afsluttet dannelsen af RFC for arkitekturen af BPF-instruktionssættet og offentliggjort den tilknyttede specifikation med identifikatoren RFC 9669. RFC'en har fået status som "Foreslået standard", hvorefter arbejdet med at give RFC'en status som udkaststandard (Draft Standard) vil begynde, hvilket i praksis betyder fuld stabilisering og hensyntagen til alle fremsatte bemærkninger.

Den offentliggjorte specifikation beskriver et sæt BPF bytekode instruktioner og en lavniveau virtuel maskine, der anvendes i Linux-kernens eBPF subsystem til at udføre eksterne handlere, der i realtid kan ændre systemets opførsel uden at ændre kernens kode. Grundlæggende implementerer eBPF en simpel virtuel processor med sit eget registersæt, RISC-lignende instruktioner, en stak og en programtæller. BPF-programmer oprettes typisk på et delmængde af C-sproget og kompileres derefter til bytekode, der er egnet til udførelse i virtuelle maskiner. Den virtuelle maskine kan udføre BPF-programmer både ved brug af fortolkning og ved at anvende JIT-kompilation til at oversætte bytekode til maskininstruktioner i realtid.

Det forventes, at standardiseringen af BPF-instruktionssættets arkitektur vil stimulere udviklingen af tredjepartsimplementeringer, der er kompatible med eBPF-virtuelle maskiner og i stand til at udføre BPF-programmer skrevet til Linux-kernen. Nogle producenter af netværksadaptere arbejder på at udvikle værktøjer til hardwareacceleration af udførelsen af BPF-netværkspakkehandlere. virtual machines Ideen er at udvide mulighederne i XDP (eXpress Data Path) subsystemet til at køre BPF-programmer ikke kun på netværksdriverniveau, men også på netværkskortets side.

For eksempel har virksomheden Netronome tilføjet understøttelse af BPF i Netronome Agilio CX SmartNIC-adapteren og givet en samling af eksempler på universelle BPF-programmer, der kan køre ikke kun ved hjælp af CPU i kernen med enhver XDP-kompatibel driver, men også på netværkskortet, hvilket gør det muligt at træffe beslutninger om at droppe, ændre eller omdirigere pakker uden at bruge CPU-ressourcer. Teknologien XRP (eXpress Resubmission Path) udvikles særskilt, hvilket muliggør brugen af BPF til at udføre nogle operationer med NVMe-lagring, såsom arbejde med indekser og dataaggregation, på NVMe-driverniveau eller på en ekstern enhed.

Det bemærkes, at bredere implementering af sådanne muligheder stadig er hæmmet af risici relateret til kompatibilitetsproblemer og behovet for at overvåge tilstanden af eBPF i kernen. På grund af disse risici har nogle producenter udsat implementeringen af hardwareaccelererede BPF-midler i deres enheder, indtil der er dannet en standard.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster