VPN σε πολλαπλές διαδρομές: τέσσερις εγγυήσεις που πρέπει να παρέχει ο πάροχος
Δύο ζεύξεις WAN και πολλά socket δεν αποτελούν μία σύνδεση VPN. Καθορίστε τη ροή byte, την αποκατάσταση, την ταυτότητα τελικού σημείου και τη συμπεριφορά αστοχίας που χρειάζεστε.
Προσθέστε δεύτερη ζεύξη WAN και οι σήραγγες σηκώνονται, αλλά η αντιγραφή αρχείου ακόμη κολλάει όταν μια διαδρομή ταλαντεύεται. Οι ζεύξεις είναι υγιείς και οι διεργασίες VPN τρέχουν· αυτό που λείπει είναι ένα συμβόλαιο ανάμεσα στον πάροχο και τη σήραγγα. Πολλά socket δεν συμπεριφέρονται αυτόματα σαν μία σύνδεση, και η εφαρμογή από πάνω δεν βλέπει τη διαφορά μέχρι να σπάσει η παράδοση. Κάθε μέρος του συμβολαίου αντιστοιχεί σε μια αστοχία που μπορείτε να δοκιμάσετε, και αυτό το κάνει χρήσιμο.
Γράψτε αυτό το συμβόλαιο πριν επιλέξετε προϊόν. Έχει τέσσερα μέρη: τη ροή που λαμβάνει το VPN, πώς ο πάροχος ανακτά τα χαμένα δεδομένα, ποια ταυτότητα τελικού σημείου επιβιώνει από αλλαγή διαδρομής, και πώς συμπεριφέρεται το όλο όταν μια διαδρομή αποτυγχάνει.
Το σύμπτωμα: οι ζεύξεις είναι ενεργές, η συνεδρία κόβεται ακόμη
Ένα γράφημα παρακολούθησης που δείχνει και τις δύο ζεύξεις ενεργές αποδεικνύει μόνο ότι κάθε διαδρομή μπορεί να μεταφέρει κίνηση. Δεν αποδεικνύει ότι το VPN βλέπει μία διατεταγμένη ροή, ότι ένα πακέτο που χάθηκε σε μια διαδρομή ανακτάται σε άλλη, ή ότι ο ομότιμος ξέρει ακόμη με ποια συνεδρία μιλάει. Το υπόλοιπο συμβόλαιο καλύπτει ό,τι δεν μπορεί να δείξει το γράφημα.
Όταν μια μεταφορά κολλάει, βρείτε αν ο πάροχος συνέχισε την παράδοση στη διαδρομή που επιβίωσε. Αν η συνεδρία πεθάνει ενώ η δεύτερη ζεύξη είναι αδρανής, ο πάροχος δεν τη χρησιμοποίησε ποτέ. Αν η συνεδρία επιβιώσει αλλά τα δεδομένα φτάνουν εκτός σειράς ή διπλά, ο πάροχος μετακινεί πακέτα χωρίς συμβόλαιο σε επίπεδο σύνδεσης. Οι χρονικές σημάνσεις και στις δύο πλευρές το ξεκαθαρίζουν συνήθως.
Αυτή η διάκριση καθορίζει τη διόρθωση. Ένα πρόβλημα δρομολόγησης ή πολιτικής απαιτεί αλλαγή επιλογής διαδρομής· ένα στρώμα σειράς και αποκατάστασης που λείπει απαιτεί άλλη μεταφορά, όχι μεγαλύτερο buffer.
Εγγύηση πρώτη: ροή byte σε επίπεδο σύνδεσης
Αν το VPN χρειάζεται αξιόπιστη διατεταγμένη ροή, ο πάροχος πρέπει να αναγνωρίζει περιοχές byte πάνω από την επιμέρους διαδρομή. Κάθε υποκείμενη σύνδεση TCP αριθμεί μόνο τα δικά της τμήματα, οπότε ένας δέκτης δεν μπορεί να αναδιατάξει μεταξύ διαδρομών με μόνους αυτούς τους αριθμούς.
Το Multipath TCP είναι το τυποποιημένο παράδειγμα. Παρουσιάζει μία αξιόπιστη ροή byte συντονίζοντας πολλαπλές υποροές TCP, με αντιστοίχιση ακολουθίας και επιβεβαίωση σε επίπεδο δεδομένων. Η εφαρμογή διαβάζει ροή, όχι την υποροή που έτυχε να παραδώσει πρώτη ένα κομμάτι.
Στο Linux, το MPTCP είναι opt-in ανά socket μέσω IPPROTO_MPTCP. Όταν η διαπραγμάτευση δεν μπορεί να χρησιμοποιήσει συμπεριφορά πολλαπλών διαδρομών, η τεκμηριωμένη εναλλακτική είναι το συνηθισμένο TCP, που σημαίνει ότι η εφαρμογή μπορεί να συνεχίσει σε μία διαδρομή χωρίς να χρησιμοποιήσει ποτέ τη δεύτερη. Ελέγξτε τι συμπεριφορά διαπραγματεύτηκε πραγματικά το αναπτυγμένο socket αντί να υποθέσετε ότι ίσχυσε η ρύθμιση του πυρήνα.
Εγγύηση δεύτερη: σειρά, διπλασιασμός και αποκατάσταση
Διαδρομές με διαφορετικές καθυστερήσεις και ρυθμούς απώλειας αναγκάζουν τον πάροχο να αποθηκεύει, να αναδιατάσσει και να επαναμεταδίδει. Το συμβόλαιο πρέπει να ορίζει πόση αποθήκευση επιτρέπεται, ποια αντίθλιψη βλέπει η εφαρμογή και ποια διαδρομή μεταφέρει μια επαναμετάδοση.
Μια διαδρομή που μένει συνδεδεμένη αλλά σταματά να παραδίδει είναι δυσκολότερη από ένα καθαρό κλείσιμο. Ο πάροχος πρέπει να την ανιχνεύσει, να μετακινήσει τα εκκρεμή δεδομένα και να αποφύγει την αιώνια αναμονή για ένα τμήμα που δεν θα φτάσει ποτέ. Ένας απλός έλεγχος ότι και οι δύο ζεύξεις είναι ενεργές δεν καλύπτει αυτή την κατάσταση.
Ο διπλασιασμός χρειάζεται δικό του κανόνα. Η αποστολή του ίδιου φορτίου και στις δύο διαδρομές μπορεί να βελτιώσει την καθυστέρηση, αλλά ο δέκτης πρέπει να καταστείλει το αντίγραφο πριν φτάσει στο VPN. Το anti-replay του IPsec είναι προαιρετικό ανά συσχέτιση ασφαλείας και ελέγχει τους αριθμούς ακολουθίας· ένα στρώμα διπλασιασμού που αναδιατάσσει ή επαναπαίζει πακέτα μπορεί να το ενεργοποιήσει ή να κρύψει το πρόβλημα μέχρι να πέσει η σήραγγα.
Εγγύηση τρίτη: ταυτότητα τελικού σημείου και ένωση διαδρομής
Ο ομότιμος χρειάζεται έναν σταθερό τρόπο αναγνώρισης της συνεδρίας όταν εμφανίζεται νέα διαδρομή. Αν κάθε διαδρομή πιστοποιείται ως ξεχωριστή σήραγγα, το VPN μπορεί να δει δύο συνεδρίες αντί για μία. Αν ο πάροχος ενώνει διαδρομές κάτω από μία συνεδρία, πρέπει να ορίσει πώς πιστοποιείται η νέα διαδρομή και τι συμβαίνει στην παλιά.
Καταγράψτε ποιες διευθύνσεις και αναγνωριστικά μένουν σταθερά: το τελικό σημείο της σήραγγας, το αναγνωριστικό συνεδρίας του παρόχου και οποιοσδήποτε διαμεσολαβητής ενδιάμεσα. Ο διαμεσολαβητής προσθέτει άλλο ένα όριο διαθεσιμότητας και εμπιστοσύνης ακόμη και όταν δεν βλέπει ποτέ το προστατευμένο φορτίο.
Εδώ ζει και η πολιτική. Μια διαδρομή που ενώνεται από μη αναμενόμενο δίκτυο μπορεί να είναι τεχνικά έγκυρη και παρόλα αυτά να παραβιάζει το προβλεπόμενο μοντέλο εμπιστοσύνης. Αποφασίστε αν οι νέες διαδρομές γίνονται δεκτές αυτόματα, απαιτούν πιστοποίηση ή απορρίπτονται.
Εγγύηση τέταρτη: φραγμένη συμπεριφορά υπό αστοχία
Δοκιμάστε πλήρη αστοχία διαδρομής, όχι μόνο αργή διαδρομή. Η διαδρομή που επιβιώνει πρέπει να μεταφέρει τη συνεδρία χωρίς απεριόριστη αύξηση μνήμης, και η αποκατάσταση δεν πρέπει να εξαρτάται από χρονόμετρο μεγαλύτερο από ό,τι ανέχεται η εφαρμογή. Όταν η αποτυχημένη διαδρομή επιστρέψει, ο πάροχος πρέπει να αποφασίσει αν θα επανεξισορροπήσει ή θα αφήσει τη ροή στη θέση της.
Ορίστε όρια για αποθήκευση, επαναμετάδοση και πλήθος διαδρομών, μετά επαληθεύστε τα υπό απώλεια, αναδιάταξη, διπλασιασμό και ανισορροπία καθυστέρησης. Το συνολικό εύρος ζώνης είναι ο λιγότερο ενδιαφέρων αριθμός εδώ· η συνέχεια παράδοσης και τα όρια μνήμης είναι το συμβόλαιο.
Κρατήστε την κατάσταση αποκατάστασης του παρόχου ξεχωριστά από την κρυπτογραφική κατάσταση του VPN. Ένα προσαρμοσμένο στρώμα αξιοπιστίας που αντικαθιστά καθιερωμένη πιστοποίηση ή κρυπτογράφηση δεν είναι σύντομος δρόμος, και η επαναχρησιμοποίηση αριθμών ακολουθίας μεταξύ στρωμάτων κάνει την προστασία από επανάληψη και τη διάγνωση αναξιόπιστες.
Αποδεχτείτε τον πάροχο με σχέδιο δοκιμών
Γράψτε τις τέσσερις εγγυήσεις ως ελέγχους επιτυχίας ή αποτυχίας: μία διατεταγμένη ροή, καθορισμένη αποκατάσταση, σταθερή ταυτότητα συνεδρίας, φραγμένη συμπεριφορά αστοχίας. Εκτελέστε κάθε έλεγχο με μία διαδρομή υποβαθμισμένη και μετά με μία διαδρομή αφαιρεμένη.
Μία επιτυχημένη μεταφορά αρχείου μέσα από αλλαγή διαδρομής δεν αποδεικνύει συνεχή λειτουργία. Επαναλάβετε τη μεταφορά εναλλάσσοντας την προτιμώμενη διαδρομή, και επιθεωρήστε και την άποψη του παρόχου και τους δικούς του μετρητές του VPN. Αν οι δύο διαφωνούν για το ποια διαδρομή μετέφερε τα δεδομένα, το συμβόλαιο δεν είναι ακόμη παρατηρήσιμο.
Κρατήστε τον εγκεκριμένο πίνακα μαζί με την ανάπτυξη. Λέει στον επόμενο μηχανικό ποια συμπεριφορά υποσχέθηκε, ποιοι συνδυασμοί διαδρομών δοκιμάστηκαν και ποια λειτουργία αστοχίας παραμένει μη υποστηριζόμενη, χωρίς άλλο γύρο εικασιών από τις ενδείξεις κατάστασης των ζεύξεων.