Πείτε «τρέξε ένα IPv6 L3VPN πάνω από IPv6 BGP» σε μια ανασκόπηση σχεδίασης και τρεις ξεχωριστές αποφάσεις κρύβονται μέσα σε αυτή τη μία πρόταση. Ποια προθέματα ανήκουν στο VPN του πελάτη, ποιες διευθύνσεις μεταφέρουν τη συνεδρία δρομολόγησης μεταξύ των άκρων του παρόχου και ποιος πυρήνας κινεί το επισημασμένο πακέτο είναι ανεξάρτητες επιλογές. Μπορούν όλα να είναι IPv6, μπορούν να είναι μικτά, και η ανάμειξη επιτρέπεται σκόπιμα. Το ξεμπέρδεμα των τριών είναι αυτό που μετατρέπει μια αόριστη απαίτηση σε κάτι που μπορεί να δοκιμαστεί σε μια πλατφόρμα.

Διαχωρίστε τις τρεις εργασίες

Η πρώτη εργασία είναι η διαδρομή πελάτη: προθέματα IPv6 που ανήκουν σε ένα πλαίσιο δρομολόγησης VPN και πρέπει να μένουν έξω από κάθε άλλο πλαίσιο. Η δεύτερη είναι η σύνδεση δρομολόγησης μεταξύ των δρομολογητών άκρης του παρόχου που ανταλλάσσουν αυτά τα προθέματα. Η τρίτη είναι η μεταφορά που κουβαλά το επισημασμένο πακέτο του πελάτη μέσω του πυρήνα στο απομακρυσμένο άκρο. Το να ονομάσετε μόνο μία από αυτές δεν είναι ακόμη σχεδίαση.

JobThe question it answersWhat confusion looks like
Customer VPN routesWhich IPv6 prefixes belong to each VPN context, and how are they kept apart?Prefixes leak into the global table and between customers
PE-to-PE BGP sessionWhich addresses carry the routing connection between the two edges?A session-family mismatch gets chased as a core transport fault
Transport to the remote PEHow does the chosen core move the labelled packet to the far edge?A route is present and unforwardable in the same moment

Κάθε εργασία έχει τη δική της οικογένεια διευθύνσεων, τους δικούς της τρόπους αποτυχίας και συχνά τη δική της ομάδα. Ο πίνακας είναι χρήσιμος ακριβώς επειδή μια πρόταση σε ένα έγγραφο σχεδίασης τείνει να συνθλίψει και τις τρεις γραμμές σε μία.

Η οικογένεια της διαδρομής είναι VPN-IPv6, όχι IPv6 unicast

RFC 4659 ορίζει την οικογένεια BGP/MPLS IPv6 VPN, και η συμμετοχή σε αυτή είναι πιο συγκεκριμένη από ό,τι υπονοεί η λέξη IPv6. Μια διαδρομή εκεί είναι ένας διακριτής διαδρομής ενωμένος με ένα πρόθεμα IPv6, κωδικοποιημένος υπό AFI 2 και SAFI 128. Το συνηθισμένο IPv6 unicast είναι διαφορετική οικογένεια, οπότε μια αγγελία που σε ένα looking glass μοιάζει με πρόθεμα μπορεί να μην είναι καθόλου το ίδιο αντικείμενο. Το λάθος διάβασμα της οικογένειας είναι ο πρώτος τρόπος με τον οποίο αυτή η σχεδίαση πάει στραβά.

Η διαφορά φαίνεται στην άκρη, όπου μια διαδρομή πρέπει να προσγειωθεί στο σωστό πλαίσιο VPN πριν κάνει οτιδήποτε. Η λήψη ενός προθέματος αποδεικνύει ότι η ανταλλαγή συνέβη και δεν λέει τίποτα για την εγκατάσταση. Αυτό το κενό παράγει την κλασική αναφορά όπου η συνεδρία είναι πάνω και ο πελάτης παραμένει σκοτεινός.

Η συνεδρία μπορεί να τρέχει σε διαφορετική οικογένεια από το VPN

Τίποτα δεν αναγκάζει τη σύνδεση BGP μεταξύ δύο άκρων να χρησιμοποιεί την ίδια οικογένεια με το VPN. Η προδιαγραφή επιτρέπει συνεδρία IPv4 ή IPv6, και η μεταφορά IPv6 VPN ορίζεται η ίδια πάνω και στους δύο τύπους πυρήνα. Άρα μια συνεδρία IPv6 δεν λέει τίποτα για την οικογένεια αυτού που μεταφέρει, και δεν επιλέγει ούτε το επίπεδο δεδομένων. Τρία ανεξάρτητα bit, και η σχεδίαση πρέπει να τα κουβαλά και τα τρία ξεχωριστά.

Αυτό απελευθερώνει και ταυτόχρονα διαβάζεται εύκολα λάθος. Διαδρομές πελάτη IPv6 μπορούν να ταξιδέψουν σε συνεδρία με διεύθυνση IPv4, και διαδρομές IPv4 σε συνεδρία IPv6, αρκεί η πλατφόρμα να υποστηρίζει τον συνδυασμό και να επιλύεται το επόμενο άλμα. Αυτό που δεν πρέπει να συμβεί είναι να αφήσει η συνεδρία να υπονοεί το φορτίο, στο έγγραφο σχεδίασης ή στην παρακολούθηση που αποδεικνύει αργότερα την υπηρεσία.

Το επόμενο άλμα σε πυρήνα IPv4 έχει τη δική του κωδικοποίηση

Όταν ο πυρήνας κάτω από το VPN είναι IPv4, η διαδρομή δεν εμφανίζεται με επόμενο άλμα που η άκρη εισόδου μπορεί να χρησιμοποιήσει άμεσα. Φτάνει σε μορφή IPv6 αντιστοιχισμένη σε IPv4, και έτσι η προδιαγραφή εκφράζει την άκρη εξόδου όταν η μεταφορά από κάτω είναι IPv4. Ο δρομολογητής εισόδου πρέπει τότε να μετατρέψει αυτή τη αντιστοιχισμένη διεύθυνση σε κάτι που μπορεί πραγματικά να φτάσει μέσω του πυρήνα, και η επίλυση είναι το βήμα που αποτυγχάνει αθόρυβα.

Διαβάστε το ως εξάρτηση προώθησης και όχι ως συμβολοσειρά για αντιγραφή μεταξύ συσκευών. Επιβεβαιώστε τρία πράγματα στην πλατφόρμα που πραγματικά τρέχετε: το αναγγελθέν επόμενο άλμα επιλύεται σε χρησιμοποιήσιμη διαδρομή, η στοίβα ετικετών γίνεται δεκτή και ο προορισμός προσγειώνεται στο προβλεπόμενο πλαίσιο VPN. Αν αποτύχει οποιοδήποτε από αυτά, μένει μια συνεδρία που φαίνεται υγιής και δεν προωθεί τίποτα, γι' αυτό ο έλεγχος ανήκει στη δοκιμή αποδοχής και όχι σε μεταγενέστερο περιστατικό.

Γράψτε την απαίτηση σε τέσσερις γραμμές

Μια απαίτηση που αξίζει να δοκιμαστεί ονομάζει τέσσερα πράγματα: την οικογένεια του VPN, τη μεταφορά της συνεδρίας, την κωδικοποίηση του επόμενου άλματος και τη διάταξη του πυρήνα. Έπειτα ονομάζει ένα πρόθεμα πελάτη για παρακολούθηση από άκρη σε άκρη: μέσα από ανταλλαγή, εγκατάσταση, επίλυση ετικετών και διαδρομή επιστροφής. Το «Υποστηρίζει IPv6 BGP» δεν καλύπτει κανένα από τα τέσσερα και κρύβει πού ζει πραγματικά η ασυμφωνία.

Μια υγιής συνεδρία χωρίς την ανταλλαγή VPN-IPv6 είναι ελλιπής, και μια ληφθείσα διαδρομή VPN χωρίς λειτουργική προώθηση είναι εξίσου ελλιπής. Το να κρατάτε αυτά ως ξεχωριστές γραμμές αποδοχής κάνει την επόμενη συζήτηση αντιμετώπισης προβλημάτων σύντομη, γιατί η γραμμή που αποτυγχάνει είναι ήδη γραμμένη.

Σχετικά άρθρα