Leveraging programmable data planes for lightweight in-band network telemetry and scalable source-routing fabrics
Authors: Παπαδόπουλος Κωνσταντίνος 
Published: July 2024

Η εμφάνιση της τεχνολογίας 5G φιλοδοξεί να προσφέρει εξαιρετικά γρήγορη συνδεσιμότητα, με χαμηλές καθυστερήσεις, ανοίγοντας το δρόμο για νέες εφαρμογές όπως αυτόνομα οχήματα, εξ αποστάσεως χειρουργικές επεμβάσεις και εντυπωσιακές εμπειρίες επαυξημένης πραγματικότητας. Παράλληλα, η άνοδος του Software-Defined Networking (SDN) και του Network Function Virtualization (NFV) έχει εισάγει ένα νέο μοντέλο διαχείρισης δικτύων, επιτρέποντας μεγαλύτερη ευελιξία, κεντρικό έλεγχο και τη δυνατότητα ταχείας ανάπτυξης και κλιμάκωσης των υπηρεσιών δικτύου. Επιπλέον, οι πρόοδος στον προγραμματισμό των δικτύων, που υλοποιούνται μέσω εξειδικευμένων γλωσσών όπως η P4, επιτρέπουν λεπτομερή έλεγχο της συμπεριφοράς του δικτύου, διευκολύνοντας την ανάπτυξη καινοτόμων πρωτοκόλλων και υπηρεσιών χωρίς την ανάγκη αντικατάστασης των δικτυακών συσκευών.Σε αυτό το πλαίσιο, η παρούσα διατριβή διερευνά τις αναδυόμενες προκλήσεις στα σύγχρονα δίκτυα και την αυξανόμενη ζήτηση για δικτυακούς πόρους, που εισάγουν αυστηρότερες απαιτήσεις στο επίπεδο δεδομένων (data plane). Οι ακολουθίες Εικονικών Δικτυακών Λειτουργιών (VNF chains) επιβαρύνουν σημαντικά τις υποδομές νέφους λόγω της υψηλών απαιτήσεών τους για κανόνες προώθησης. Η δρομολόγηση της κυκλοφορίας μέσω πολλαπλών VNF απαιτεί πολυάριθμους κανόνες προώθησης σε ολόκληρο το δίκτυο. Στα σημερινά πολυχρηστικά περιβάλλοντα κέντρων δεδομένων, οι παραδοσιακοί μεταγωγοί με δρομολόγηση επιπέδου 2/3 αντιμετωπίζουν σημαντικούς περιορισμούς. Για την αντιμετώπιση αυτών των προκλήσεων, παρουσιάζουμε μια πρακτική υλοποίηση πηγαίας δρομολόγησης χρησιμοποιώντας μεταγωγούς που υποστηρίζουν OpenFlow. Η συγκριτική μελέτη μας μεταξύ της πηγαίας δρομολόγησης και της δρομολόγησης L2, που πραγματοποιήθηκε χρησιμοποιώντας την υλοποίησή μας στο Mininet, δείχνει σημαντική εξοικονόμηση στους απαιτούμενους κανόνες προώθησης και εύκολες αλλαγές διαδρομών στις ροές δεδομένων όταν χρησιμοποιείται το προτεινόμενο σχήμα πηγαίας δρομολόγησης.Στη συνέχεια, εμβαθύνουμε στις τεχνολογίες προγραμματισμού δικτύων, αξιοποιώντας τη γλώσσα P4 για να διερευνήσουμε τα οφέλη της στην Ενδοζωνική Δικτυακή Τηλεμετρία (In-band Network Telemetry - INT). Η INT επιτρέπει λεπτομερή παρακολούθηση του δικτύου και τηλεμετρική ανάλυση στο επίπεδο δεδομένων, αποφεύγοντας την επιβάρυνση ενός κεντρικού ελεγκτή. Ωστόσο, οι υπάρχουσες INT υλοποιήσεις, εισάγουν σημαντική επιβάρυνση στα πακέτα δεδομένων η οποία αυξάνεται γραμμικά με τον μέγεθος της διαδρομής τους, καθώς και με τον αριθμό των εισαγόμενων τηλεμετρικών μεταβλητών. Για την αντιμετώπιση αυτού του ζητήματος, προτείνουμε μια ελαφριά υλοποίηση INT, το DLINT, που ενσωματώνει τηλεμετρικά δεδομένα σε όλη τη ροή δεδομένων. Πιο συγκεκριμένα, το DLINT διασπείρει τις πληροφορίες τηλεμετρίας σε αρκετά πακέτα μιας ροής, πετυχαίνοντας μια σταθερή επιβάρυνση ανά πακέτο. Συντονίζουμε τους μεταγωγούς διατηρώντας μια ελάχιστη τηλεμετρική κατάσταση με χρήση Bloom Filters. Η προτεινόμενη υλοποίηση INT περιλαμβάνει συνεχή παρακολούθηση των τηλεμετρικών μεταβλητών κατά τη διάρκεια των ροών δεδομένων. Η αξιολόγηση του DLINT σε μια εφαρμογή παρακολούθησης διαδρομής (path tracing), δείχνει σημαντικά οφέλη στον περιορισμό του απαιτούμενου χώρου στην επικεφαλίδα των πακέτων και συνεχή παρακολούθηση, ακόμα και σε περιπτώσεις αλλαγής διαδρομής.Επιπλέον, μελετούμε μια πιθανοτική μέθοδο INT, το PLINT. Το PLINT αποφεύγει την ανάγκη συντονισμού μεταξύ των μεταγωγών, επιτρέποντας στους κόμβους INT να εισάγουν τα δικά τους τηλεμετρικά δεδομένα βασιζόμενα σε μια πιθανότητα. Το PLINT χρησιμοποιεί reservoir sampling για να εξασφαλίσει ίση κατανομή των πληροφοριών τηλεμετρίας μεταξύ των πακέτων. Όπως και το DLINT, το PLINT χρησιμοποιεί προσαρμόσιμο χώρο στην επικεφαλίδα INT, αλλά πάσχει από πλεονασματικά και τυχαία τηλεμετρικά δεδομένα λόγω της πιθανοτικής φύσης του. Τα αποτελέσματα της αξιολόγησής μας επιβεβαιώνουν ότι το PLINT είναι κατώτερο από το DLINT όσον αφορά την παρακολούθηση των διαδρομών των πακέτων, αλλά ανιχνεύει τις αλλαγές διαδρομών πιο γρήγορα, εκμεταλλευόμενο την πιο αποδοτική χρήση του χώρου της ΙΝΤ επικεφαλίδας.Αν και αυτές οι τεχνικές βελτιώνουν την απόδοση του INT, εμφανίζουν επιπλοκές που απορρέουν από πιθανοτικά στοιχεία, όπως οι συγκρούσεις στα Bloom Filter. Για την αντιμετώπιση αυτών των επιπλοκών, δημιουργούμε την CLINT, μια μέθοδο INT που χρησιμοποιεί έναν κεντρικό ελεγκτή τηλεμετρίας με ελάχιστη εμπλοκή για να διατηρήσει πιο σταθερή την συμπεριφορά του INT. Πιο συγκεκριμένα, η χρήση του ελεγκτή περιορίζεται στην αρχική ρύθμιση κάθε παρακολουθούμενης ροής, μετά την οποία η διαδικασία INT προχωρά αποκλειστικά στο επίπεδο δεδομένων. Τα αποτελέσματα της αξιολόγησής μας δείχνουν ότι το CLINT υπερέχει των προηγούμενων τεχνικών INT όσον αφορά την αποδοτικότητα της παρακολούθησης και την ανίχνευση αλλαγών διαδρομών, ενώ έχει αμελητέα επιβάρυνση επικοινωνίας με τον Ελεγκτή.