Δύο μηχανικοί μπορούν να φύγουν από το ίδιο παράθυρο συντήρησης πεπεισμένοι ότι η νέα διαδρομή είναι σε λειτουργία, και οι δύο να κάνουν λάθος για διαφορετικούς λόγους. Ο ένας έφτιαξε το LSP και υπέθεσε ότι η υπηρεσία θα το ακολουθήσει. Ο άλλος άφησε την υπηρεσία ήσυχη και υπέθεσε ότι τίποτα δεν άλλαξε. Ένα pseudowire χρησιμοποιεί πάντα μόνο τη μεταφορά στην οποία επιλύεται η διεύθυνση του peer του εκείνη τη στιγμή, άρα το πραγματικό ερώτημα είναι τι παράγει αυτή η επίλυση τώρα, και τα δύο σχέδια απαντούν διαφορετικά.

Η μία ετικέτα ονομάζει υπηρεσία, η άλλη μετακινεί πακέτο

Η ετικέτα pseudowire, σηματοδοτούμενη από στοχευμένο LDP όπως περιγράφεται στο RFC 4447, λέει στην άκρη παρόχου που λαμβάνει ποιο κύκλωμα προσάρτησης πρέπει να παραλάβει το πλαίσιο. Δεν λέει τίποτα για το πώς έφτασε εκεί το πλαίσιο. Η ετικέτα από κάτω ανήκει στη μεταφορά, και αυτή η στοίβα χτίζεται από ό,τι διαφήμισε προσβασιμότητα για το loopback του peer, είτε LDP είτε RSVP-TE είτε διαδρομή δρομολογημένη κατά τμήματα. Επειδή διαφορετικά πρωτόκολλα σηματοδοτούν τα δύο στρώματα, το ένα μπορεί να είναι υγιές ενώ το άλλο παρωχημένο. Αυτός ο διαχωρισμός είναι όλη η πηγή της σύγχυσης.

Αξίζει να ειπωθεί ευθέως: το pseudowire δεν διαλέγει το LSP. Παραδίδει ένα πλαίσιο στη μεταφορά, και η μεταφορά αποφασίζει με βάση τη διεύθυνση προορισμού που της δόθηκε.

Γι' αυτό και ένα καθαρό ping κατά μήκος του νέου LSP αποδεικνύει τόσο λίγα. Το LSP μπορεί να είναι ενεργό, με ετικέτα και να μεταφέρει άλλες υπηρεσίες, ενώ το pseudowire σας επιλύεται ακόμη μέσω άλλου επόμενου άλματος. Μέχρι να διαβάσετε τη δέσμευση, αυτά τα δύο γεγονότα δεν σχετίζονται.

Επιλογή A: καρφιτσώστε το pseudowire σε επιλεγμένη μεταφορά

Το καρφίτσωμα σημαίνει να κάνετε την επίλυση μεταφοράς της υπηρεσίας ντετερμινιστική. Ανάλογα με την πλατφόρμα, αυτό παίρνει τη μορφή πολιτικής επιλογής σήραγγας, ρητού τελικού σημείου μεταφοράς στην υπηρεσία ή πολιτικής δρομολόγησης που ξαναγράφει το επόμενο άλμα για τη διεύθυνση του peer. Και τα τρία κάνουν το ίδιο από κάτω: αναγκάζουν την επίλυση ενός προορισμού σε συγκεκριμένο LSP. Αυτό κάνει το αποτέλεσμα ελέγξιμο εκ των υστέρων.

Το κόστος είναι το εύρος. Μια πολιτική που ταιριάζει σε διεύθυνση peer επηρεάζει κάθε υπηρεσία που δείχνει σε αυτόν τον peer, όχι μόνο το pseudowire που είχατε στο μυαλό σας.

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

Επιλογή B: αφήστε το IGP να διαλέξει και παρατηρήστε τι γίνεται

Το να αφήσεις την υπηρεσία ήσυχη είναι νόμιμο σχέδιο, και συχνά το καλύτερο. Το pseudowire ακολουθεί την ίδια επίλυση με κάθε άλλη κίνηση προς το loopback του peer, οπότε κληρονομεί τη σύγκλιση του IGP, την καταστολή προθεμάτων και όση πλεονασματικότητα προσφέρει ήδη ο πυρήνας. Λιγότερες πολιτικές σημαίνουν λιγότερα σημεία όπου μπορεί να κρυφτεί μια παρωχημένη αντιστοίχιση. Το ανταλλάγιμο είναι ότι δεν ελέγχετε πια ποια διαδρομή παίρνει η υπηρεσία, μόνο ότι υπάρχει κάποια διαδρομή.

Η πολυδιαδρομικότητα ίσου κόστους οξύνει αυτή την ανταλλαγή περισσότερο απ' ό,τι φαίνεται με την πρώτη ματιά. Ο κατακερματισμός γίνεται ανά ροή, άρα δύο συνομιλίες μέσα σε ένα pseudowire μπορούν να φύγουν με διαφορετικές εξωτερικές ετικέτες.

Διαβάστε την εγκατεστημένη προώθηση πριν εμπιστευτείτε οποιοδήποτε από τα δύο

Ξεκινήστε από τη διεύθυνση του peer και όχι από την υπηρεσία. Στο Junos, το show route 203.0.113.1 detail εκτυπώνει το επιλεγμένο επόμενο άλμα και τη λειτουργία ετικέτας, και το show route table mpls.0 αντιστοιχίζει την εισερχόμενη ετικέτα σε αυτή τη λειτουργία. Στο IOS XR, το show mpls l2transport vc 100 detail δίνει την κατάσταση του pseudowire μαζί με τη στοίβα που επιβάλλεται.

Επιβεβαιώστε το LSP που χρησιμοποιεί πραγματικά η μεταφορά, όχι αυτό που ονομάζει το έγγραφο σχεδίου σας. Το traceroute mpls ipv4 203.0.113.1/32 στο IOS XR διασχίζει τη διαδρομή με μεταγωγή ετικετών και απαριθμεί τις ετικέτες και τις εξερχόμενες διεπαφές κατά μήκος της, που είναι το πιο κοντινό στο να παρακολουθήσετε μόνοι σας τη διαδρομή. Στη συνέχεια επαναλάβετε την άσκηση από την απομακρυσμένη άκρη παρόχου, γιατί η αντίστροφη κατεύθυνση επιλύεται ανεξάρτητα και η ασυμμετρία είναι συνηθισμένη μετά από μερική ανάπτυξη πολιτικής. Μια διαδρομή σωστή στη μία κατεύθυνση και λάθος στην άλλη είναι χειρότερη από μία εξίσου λάθος, αφού οι μισές δοκιμές σας θα περάσουν.

Κρατήστε τα στοιχεία μαζί με το αρχείο της υπηρεσίας: διεύθυνση peer, επόμενο άλμα, εξωτερική ετικέτα και την ημερομηνία που ελέγξατε. Οι πολιτικές δρομολόγησης γερνούν άσχημα και κανείς δεν θυμάται ποια ίσχυε πριν από δύο τρίμηνα.

Διαλέξτε με κριτήριο τον τρόπο αποτυχίας, όχι την προτίμηση

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

Το αποφασιστικό ερώτημα είναι τι σας κοστίζει μια λάθος διαδρομή. Αν μια υπηρεσία στο λάθος LSP αποδίδει απλώς λίγο χειρότερα, αφήστε το IGP να αποφασίσει και ξοδέψτε την προσπάθεια στην παρακολούθηση. Αν μια λάθος διαδρομή σπάει σύμβαση, εύρημα ελέγχου ή απαίτηση ασυνέχειας, καρφιτσώστε την και γράψτε την εφεδρεία. Έπειτα δοκιμάστε την εφεδρεία, γιατί μια αδοκίμαστη εφεδρεία είναι υπόθεση και όχι σχέδιο. Όπως και να έχει, ξαναδιαβάστε τη δεσμεύση που έχει εγκατασταθεί μετά από κάθε αλλαγή στον πυρήνα, και αντιμετωπίστε ένα pseudowire που σηκώθηκε ως απόδειξη για τίποτα άλλο εκτός από το ότι η σηματοδότηση δουλεύει.

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