Η Αρχιτεκτονική του σετ εντολών BPF έλαβε την προτεινόμενη τυπική κατάσταση

Η Ομάδα Εργασίας Μηχανικής Διαδικτύου (IETF), η οποία είναι υπεύθυνη για την ανάπτυξη πρωτοκόλλων και αρχιτεκτονικής Διαδικτύου, ολοκλήρωσε το RFC για την αρχιτεκτονική του συνόλου εντολών BPF και δημοσίευσε τη σχετική προδιαγραφή με το αναγνωριστικό RFC 9669. Το RFC έχει λάβει το καθεστώς ένα "Προτεινόμενο Πρότυπο", μετά το οποίο θα αρχίσουν οι εργασίες για να δοθεί στο RFC το καθεστώς ενός σχεδίου προτύπου, πράγμα που σημαίνει στην πραγματικότητα πλήρη σταθεροποίηση και λαμβάνοντας υπόψη όλα τα σχόλια που έγιναν.

Η δημοσιευμένη προδιαγραφή περιγράφει το σύνολο εντολών bytecode BPF και την εικονική μηχανή χαμηλού επιπέδου που χρησιμοποιείται στο υποσύστημα πυρήνα. Linux Το eBPF είναι ένα πρόγραμμα για την εκτέλεση εξωτερικών χειριστών ικανών να αλλάζουν τη συμπεριφορά του συστήματος εν κινήσει χωρίς να απαιτείται τροποποίηση του κώδικα πυρήνα. Ουσιαστικά, το eBPF υλοποιεί έναν απλό εικονικό επεξεργαστή με το δικό του σύνολο καταχωρητών, εντολές τύπου RISC, στοίβα και μετρητή προγράμματος. Τα προγράμματα BPF συνήθως γράφονται σε ένα υποσύνολο της γλώσσας C και στη συνέχεια μεταγλωττίζονται σε bytecode κατάλληλο για εκτέλεση σε... εικονική μηχανήΗ εικονική μηχανή μπορεί να εκτελέσει προγράμματα BPF χρησιμοποιώντας είτε ερμηνεία είτε μεταγλώττιση just-in-time (JIT) για να μεταφράσει bytecode σε οδηγίες μηχανής εν κινήσει.

Αναμένεται ότι η τυποποίηση της αρχιτεκτονικής του συνόλου εντολών BPF θα ενθαρρύνει τη δημιουργία υλοποιήσεων τρίτων κατασκευαστών που είναι συμβατές με την εικονική μηχανή eBPF και ικανές να εκτελούν προγράμματα BPF γραμμένα για τον πυρήνα. LinuxΣχετικά με τη δημιουργία παρόμοιων εικονικές μηχανές Ορισμένοι κατασκευαστές προσαρμογέων δικτύου αναπτύσσουν εργαλεία επιτάχυνσης υλικού για χειριστές πακέτων δικτύου BPF. Η ιδέα είναι να επεκταθούν οι δυνατότητες του υποσυστήματος XDP (eXpress Data Path) ώστε να εκτελεί προγράμματα BPF όχι μόνο σε επίπεδο προγράμματος οδήγησης δικτύου, αλλά και στον προσαρμογέα δικτύου.

Για παράδειγμα, η Netronome έχει προσθέσει υποστήριξη BPF στον προσαρμογέα Netronome Agilio CX SmartNIC και παρείχε μια συλλογή από παραδείγματα γενικών προγραμμάτων BPF που μπορούν να εκτελεστούν όχι μόνο χρησιμοποιώντας την CPU στον πυρήνα με οποιοδήποτε πρόγραμμα οδήγησης συμβατό με XDP, αλλά και στην κάρτα δικτύου πλευρά, η οποία σας επιτρέπει να λαμβάνετε αποφάσεις σχετικά με την απόρριψη, την τροποποίηση ή την ανακατεύθυνση πακέτων χωρίς να σπαταλάτε πόρους της CPU. Ξεχωριστά, αναπτύσσεται η τεχνολογία XRP (eXpress Resubmission Path), η οποία καθιστά δυνατή τη χρήση του BPF για τη μετακίνηση ορισμένων λειτουργιών με μονάδες NVMe, όπως η εργασία με ευρετήρια και συνάθροιση δεδομένων, στο επίπεδο προγράμματος οδήγησης NVMe ή σε μια εξωτερική συσκευή.

Σημειώνεται ότι η ευρύτερη υιοθέτηση τέτοιων δυνατοτήτων έχει μέχρι στιγμής παρεμποδιστεί από κινδύνους που σχετίζονται με ζητήματα συμβατότητας και την ανάγκη παρακολούθησης της κατάστασης του eBPF στον πυρήνα. Εξαιτίας αυτών των κινδύνων, ορισμένοι κατασκευαστές καθυστέρησαν να ενσωματώσουν την επιτάχυνση υλικού BPF στις συσκευές τους έως ότου καθιερωθεί ένα πρότυπο.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster