Το πρωτόκολλο Spanning Tree, που μερικές φορές αναφέρεται απλώς ως Spanning Tree, είναι το Waze ή το MapQuest των σύγχρονων δικτύων Ethernet, που κατευθύνει την κυκλοφορία κατά μήκος της πιο αποτελεσματικής διαδρομής με βάση τις συνθήκες σε πραγματικό χρόνο.
Βασισμένο σε έναν αλγόριθμο που δημιουργήθηκε από την Αμερικανίδα επιστήμονα υπολογιστών Radia Perlman ενώ εργαζόταν για την Digital Equipment Corporation (DEC) το 1985, ο πρωταρχικός σκοπός του Spanning Tree είναι να αποτρέψει τις περιττές συνδέσεις και το looping μονοπατιών επικοινωνίας σε πολύπλοκες διαμορφώσεις δικτύου. Ως δευτερεύουσα λειτουργία, το Spanning Tree μπορεί να δρομολογήσει πακέτα γύρω από προβληματικά σημεία για να διασφαλίσει ότι οι επικοινωνίες είναι σε θέση να περάσουν μέσω δικτύων που ενδέχεται να αντιμετωπίζουν διακοπές.
Τοπολογία εκτεινόμενου δέντρου έναντι τοπολογίας δακτυλίου
Όταν οι οργανισμοί μόλις άρχιζαν να δικτυώνουν τους υπολογιστές τους στη δεκαετία του 1980, μια από τις πιο δημοφιλείς διαμορφώσεις ήταν το δίκτυο δακτυλίου. Για παράδειγμα, η IBM εισήγαγε την αποκλειστική τεχνολογία Token Ring το 1985.
Σε μια τοπολογία δικτύου δακτυλίου, κάθε κόμβος συνδέεται με δύο άλλους, έναν που βρίσκεται μπροστά του στον δακτύλιο και έναν που βρίσκεται πίσω του. Τα σήματα ταξιδεύουν γύρω από τον δακτύλιο μόνο προς μία κατεύθυνση, με κάθε κόμβο στην πορεία να παραδίδει όλα τα πακέτα που περιστρέφονται γύρω από τον δακτύλιο.
Ενώ τα απλά δίκτυα κλήσης λειτουργούν καλά όταν υπάρχουν μόνο λίγοι υπολογιστές, οι δακτύλιοι καθίστανται αναποτελεσματικοί όταν προστίθενται εκατοντάδες ή χιλιάδες συσκευές σε ένα δίκτυο. Ένας υπολογιστής μπορεί να χρειαστεί να στείλει πακέτα μέσω εκατοντάδων κόμβων μόνο για να μοιραστεί πληροφορίες με ένα άλλο σύστημα σε ένα παρακείμενο δωμάτιο. Το εύρος ζώνης και η διεκπεραίωση αποτελούν επίσης πρόβλημα όταν η κυκλοφορία μπορεί να ρέει μόνο προς μία κατεύθυνση, χωρίς εφεδρικό σχέδιο εάν ένας κόμβος στην πορεία σπάσει ή υπερφορτωθεί.
Στη δεκαετία του '90, καθώς το Ethernet έγινε πιο γρήγορο (100 Mbit/sec. Το Fast Ethernet εισήχθη το 1995) και το κόστος ενός δικτύου Ethernet (γέφυρες, μεταγωγείς, καλωδίωση) έγινε σημαντικά φθηνότερο από το Token Ring, το Spanning Tree κέρδισε τους πολέμους τοπολογίας LAN και το Token Το δαχτυλίδι έσβησε γρήγορα.
Πώς λειτουργεί το Spanning Tree
Το Spanning Tree είναι ένα πρωτόκολλο προώθησης για πακέτα δεδομένων. Είναι ένα μέρος αστυνομικός της κυκλοφορίας και ένα μέρος πολιτικός μηχανικός για τους αυτοκινητόδρομους δικτύου που διακινούνται τα δεδομένα. Βρίσκεται στο επίπεδο 2 (επίπεδο σύνδεσης δεδομένων), επομένως ασχολείται απλώς με τη μετακίνηση πακέτων στον κατάλληλο προορισμό τους, όχι με το είδος των πακέτων που αποστέλλονται ή τα δεδομένα που περιέχουν.
Το Spanning Tree έχει γίνει τόσο πανταχού παρόν που η χρήση του ορίζεται στοΠρότυπο δικτύωσης IEEE 802.1D. Όπως ορίζεται στο πρότυπο, μόνο μία ενεργή διαδρομή μπορεί να υπάρχει μεταξύ οποιωνδήποτε δύο τελικών σημείων ή σταθμών προκειμένου να λειτουργούν σωστά.
Το Spanning Tree έχει σχεδιαστεί για να εξαλείφει την πιθανότητα τα δεδομένα που περνούν μεταξύ των τμημάτων του δικτύου να κολλήσουν σε βρόχο. Γενικά, οι βρόχοι συγχέουν τον αλγόριθμο προώθησης που είναι εγκατεστημένος στις συσκευές δικτύου, με αποτέλεσμα η συσκευή να μην γνωρίζει πλέον πού να στείλει πακέτα. Αυτό μπορεί να έχει ως αποτέλεσμα την αντιγραφή πλαισίων ή την προώθηση διπλότυπων πακέτων σε πολλαπλούς προορισμούς. Τα μηνύματα μπορούν να επαναληφθούν. Οι επικοινωνίες μπορούν να επανέλθουν σε έναν αποστολέα. Μπορεί ακόμη και να καταρρεύσει ένα δίκτυο εάν αρχίσουν να εμφανίζονται πάρα πολλοί βρόχοι, καταναλώνοντας το εύρος ζώνης χωρίς αξιόλογα κέρδη, ενώ εμποδίζεται η διέλευση άλλης μη βρόχου κυκλοφορίας.
Το πρωτόκολλο Spanning Treeσταματά το σχηματισμό βρόχωνμε το κλείσιμο όλων εκτός από μία πιθανή διαδρομή για κάθε πακέτο δεδομένων. Οι διακόπτες σε ένα δίκτυο χρησιμοποιούν το Spanning Tree για να ορίσουν ριζικές διαδρομές και γέφυρες όπου τα δεδομένα μπορούν να ταξιδεύουν και κλείνουν λειτουργικά διπλές διαδρομές, καθιστώντας τις ανενεργές και άχρηστες ενώ είναι διαθέσιμη μια κύρια διαδρομή.
Το αποτέλεσμα είναι ότι οι δικτυακές επικοινωνίες ρέουν απρόσκοπτα ανεξάρτητα από το πόσο περίπλοκο ή τεράστιο γίνεται ένα δίκτυο. Κατά κάποιο τρόπο, το Spanning Tree δημιουργεί μεμονωμένες διαδρομές μέσω ενός δικτύου για τη μεταφορά δεδομένων χρησιμοποιώντας λογισμικό με τον ίδιο σχεδόν τρόπο που έκαναν οι μηχανικοί δικτύου χρησιμοποιώντας το υλικό στα παλιά δίκτυα βρόχου.
Πρόσθετα πλεονεκτήματα του Spanning Tree
Ο κύριος λόγος που χρησιμοποιείται το Spanning Tree είναι για την εξάλειψη της πιθανότητας δρομολόγησης βρόχων μέσα σε ένα δίκτυο. Υπάρχουν όμως και άλλα πλεονεκτήματα.
Επειδή το Spanning Tree συνεχώς αναζητά και καθορίζει ποιες διαδρομές δικτύου είναι διαθέσιμες για να ταξιδεύουν πακέτα δεδομένων, μπορεί να εντοπίσει εάν ένας κόμβος που βρίσκεται σε μία από αυτές τις κύριες διαδρομές έχει απενεργοποιηθεί. Αυτό μπορεί να συμβεί για διάφορους λόγους, από μια αποτυχία υλικού έως μια νέα διαμόρφωση δικτύου. Μπορεί ακόμη και να είναι μια προσωρινή κατάσταση που βασίζεται στο εύρος ζώνης ή άλλους παράγοντες.
Όταν το Spanning Tree ανιχνεύσει ότι μια κύρια διαδρομή δεν είναι πλέον ενεργή, μπορεί να ανοίξει γρήγορα μια άλλη διαδρομή που είχε προηγουμένως κλείσει. Στη συνέχεια, μπορεί να στείλει δεδομένα γύρω από το σημείο προβλήματος, προσδιορίζοντας τελικά την παράκαμψη ως τη νέα κύρια διαδρομή ή στέλνοντας πακέτα πίσω στην αρχική γέφυρα εάν γίνει ξανά διαθέσιμη.
Ενώ το αρχικό Spanning Tree ήταν σχετικά γρήγορο στην πραγματοποίηση αυτών των νέων συνδέσεων ανάλογα με τις ανάγκες, το 2001 η IEEE εισήγαγε το πρωτόκολλο Rapid Spanning Tree Protocol (RSTP). Αναφέρεται επίσης ως η έκδοση 802.1w του πρωτοκόλλου, το RSTP σχεδιάστηκε για να παρέχει σημαντικά ταχύτερη ανάκτηση σε απόκριση σε αλλαγές δικτύου, προσωρινές διακοπές λειτουργίας ή την πλήρη αστοχία στοιχείων.
Και ενώ το RSTP εισήγαγε νέες συμπεριφορές σύγκλισης διαδρομής και ρόλους θύρας γεφύρωσης για να επιταχύνει τη διαδικασία, σχεδιάστηκε επίσης για να είναι πλήρως συμβατό προς τα πίσω με το αρχικό Spanning Tree. Έτσι, είναι δυνατό για συσκευές με και τις δύο εκδόσεις του πρωτοκόλλου να λειτουργούν μαζί στο ίδιο δίκτυο.
Μειονεκτήματα του Spanning Tree
Ενώ το Spanning Tree έχει γίνει πανταχού παρόν εδώ και πολλά χρόνια μετά την εισαγωγή του, υπάρχουν εκείνοι που υποστηρίζουν ότι είναιήρθε η ώρα. Το μεγαλύτερο σφάλμα του Spanning Tree είναι ότι κλείνει πιθανούς βρόχους μέσα σε ένα δίκτυο κλείνοντας πιθανές διαδρομές όπου τα δεδομένα θα μπορούσαν να ταξιδέψουν. Σε οποιοδήποτε δεδομένο δίκτυο που χρησιμοποιεί το Spanning Tree, περίπου το 40% των πιθανών διαδρομών δικτύου είναι κλειστά για δεδομένα.
Σε εξαιρετικά πολύπλοκα περιβάλλοντα δικτύωσης, όπως αυτά που βρίσκονται στα κέντρα δεδομένων, η δυνατότητα γρήγορης κλιμάκωσης για την κάλυψη της ζήτησης είναι κρίσιμη. Χωρίς τους περιορισμούς που επιβάλλονται από το Spanning Tree, τα κέντρα δεδομένων θα μπορούσαν να ανοίξουν πολύ περισσότερο εύρος ζώνης χωρίς την ανάγκη πρόσθετου υλικού δικτύωσης. Αυτή είναι μια ειρωνική κατάσταση, επειδή τα περίπλοκα περιβάλλοντα δικτύωσης είναι ο λόγος που δημιουργήθηκε το Spanning Tree. Και τώρα, η προστασία που παρέχεται από το πρωτόκολλο έναντι του looping εμποδίζει κατά κάποιο τρόπο αυτά τα περιβάλλοντα από το πλήρες δυναμικό τους.
Μια βελτιωμένη έκδοση του πρωτοκόλλου που ονομάζεται Multiple-Instance Spanning Tree (MSTP) αναπτύχθηκε για να χρησιμοποιεί εικονικά LAN και να επιτρέπει την ταυτόχρονη ανοιχτή περισσότερων διαδρομών δικτύου, αποτρέποντας παράλληλα το σχηματισμό βρόχων. Αλλά ακόμα και με το MSTP, αρκετές πιθανές διαδρομές δεδομένων παραμένουν κλειστές σε οποιοδήποτε δεδομένο δίκτυο που χρησιμοποιεί το πρωτόκολλο.
Έχουν γίνει πολλές μη τυποποιημένες, ανεξάρτητες προσπάθειες βελτίωσης των περιορισμών εύρους ζώνης του Spanning Tree όλα αυτά τα χρόνια. Ενώ οι σχεδιαστές ορισμένων από αυτές έχουν ισχυριστεί ότι έχουν επιτυχία στις προσπάθειές τους, οι περισσότεροι δεν είναι απολύτως συμβατοί με το βασικό πρωτόκολλο, πράγμα που σημαίνει ότι οι οργανισμοί πρέπει είτε να εφαρμόσουν τις μη τυποποιημένες αλλαγές σε όλες τις συσκευές τους ή να βρουν κάποιον τρόπο για να τους επιτρέψουν να υπάρχουν με διακόπτες που τρέχουν το τυπικό Spanning Tree. Στις περισσότερες περιπτώσεις, το κόστος διατήρησης και υποστήριξης πολλαπλών γεύσεων του Spanning Tree δεν αξίζει τον κόπο.
Θα συνεχιστεί το Spanning Tree στο μέλλον;
Εκτός από τους περιορισμούς στο εύρος ζώνης που οφείλονται στο κλείσιμο των μονοπατιών δικτύου του Spanning Tree, δεν καταβάλλεται πολλή σκέψη ή προσπάθεια για την αντικατάσταση του πρωτοκόλλου. Αν και το IEEE εκδίδει κατά καιρούς ενημερώσεις για να προσπαθήσει να το κάνει πιο αποτελεσματικό, είναι πάντα συμβατές με τις υπάρχουσες εκδόσεις του πρωτοκόλλου.
Κατά μία έννοια, το Spanning Tree ακολουθεί τον κανόνα του «Εάν δεν είναι χαλασμένο, μην το διορθώσεις». Το Spanning Tree εκτελείται ανεξάρτητα στο παρασκήνιο των περισσότερων δικτύων για να διατηρεί τη ροή της κυκλοφορίας, να αποτρέπει το σχηματισμό βρόχων που προκαλούν σύγκρουση και να δρομολογεί την κυκλοφορία γύρω από προβληματικά σημεία, έτσι ώστε οι τελικοί χρήστες να μην γνωρίζουν ποτέ αν το δίκτυό τους αντιμετωπίζει προσωρινές διακοπές ως μέρος της καθημερινής του λειτουργίας ημερήσιες λειτουργίες. Εν τω μεταξύ, στο backend, οι διαχειριστές μπορούν να προσθέσουν νέες συσκευές στα δίκτυά τους χωρίς πολύ σκέψη για το αν θα μπορούν ή όχι να επικοινωνούν με το υπόλοιπο δίκτυο ή τον έξω κόσμο.
Εξαιτίας όλων αυτών, είναι πιθανό ότι το Spanning Tree θα παραμείνει σε χρήση για πολλά χρόνια ακόμα. Μπορεί να υπάρχουν κάποιες μικρές ενημερώσεις από καιρό σε καιρό, αλλά το βασικό πρωτόκολλο Spanning Tree Protocol και όλες οι κρίσιμες λειτουργίες που εκτελεί είναι πιθανότατα εδώ για να μείνουν.
Ώρα δημοσίευσης: Νοε-07-2023