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

Τρεις υποσχέσεις, και μόνο μία χρειάζεται συνεργάτη

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

MechanismFar-end requirementEffect on one transferWhat breaks under a link loss
Packet-spraying overlayA cooperating endpoint that reassembles the streamPackets can spread across both linksReordering and buffering on the surviving path; its own recovery logic decides what continues
MPTCP subflowsA peer or proxy that accepts subflowsSubflows can share one connectionSurviving subflows continue if the peer keeps them alive
Flow-hash balancingNothing new; the existing tunnel endpoint is enoughOne outer flow still follows one linkFlows hashed onto the dead link move; established sessions break
Link failoverNothing newOne path at a time; the second link sits idleThe session stalls or restarts on the other link

Τίποτα σε εκείνον τον πίνακα δεν είναι λόγος να αγοράσετε δεύτερη γραμμή. Αυτό που κάνει είναι να εμποδίζει την αξιολόγηση ενός σχεδίου εναλλαγής σαν να ήταν σύζευξη.

Γιατί ένα τούνελ φαίνεται στον δρομολογητή ως μία ροή

Ένας δρομολογητής που εξισορροπεί φορτίο κατακερματίζει τις διευθύνσεις πηγής και προορισμού μαζί με τις θύρες και μετά στέλνει ολόκληρη τη ροή εκεί που δείχνει ο κατακερματισμός. Ένα τούνελ VPN είναι μία τέτοια ροή από την οπτική του δρομολογητή, ό,τι κι αν τρέχει μέσα του. Οι εσωτερικές συνδέσεις δεν φτάνουν ποτέ στην απόφαση κατακερματισμού, γιατί η εξωτερική κεφαλίδα έχει ήδη καθορίσει τη διαδρομή. Γι' αυτό μια δεύτερη ζεύξη ανόδου μπορεί να διπλασιάσει τη συνολική χωρητικότητα για πολλούς χρήστες και να μην αλλάξει τίποτα για τη μεγάλη μεταφορά ενός χρήστη.

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

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

Τι χρειάζεται το πολυδιαδρομικό TCP στα δύο άκρα

Η τεκμηρίωση του Linux για το Multipath TCP περιγράφει πολλαπλές υπορροές που ανήκουν σε μία σύνδεση. Η υποστήριξη πυρήνα στο ένα άκρο δεν αλλάζει τίποτα από μόνη της, αφού και ο ομότιμος πρέπει να δεχτεί αυτές τις υπορροές. Ένας διαμεσολαβητής στο μακρινό άκρο είναι η άλλη συνηθισμένη διάταξη, και γίνεται συστατικό με δική του χωρητικότητα και διαθεσιμότητα για σχεδιασμό. Η ίδια λογική αποκλείει μια εύκολη απάντηση για το WireGuard, του οποίου η μεταφορά είναι UDP: το MPTCP αναπτύσσει υπορροές TCP και δεν μπορεί να συναθροίσει αυτό το τούνελ χωρίς κάτι άλλο στο σχέδιο.

Ελέγξτε αν η λειτουργία του πυρήνα είναι ενεργοποιημένη πριν σχεδιάσετε γύρω από αυτήν, γιατί πολλές διανομές τη δίνουν απενεργοποιημένη. Αυτές οι τρεις εντολές απαντούν σε ένα λεπτό.

sysctl net.mptcp.enabled
ss -M | head
ip mptcp limits show

Διαλέξτε από το φορτίο εργασίας, όχι από το φυλλάδιο

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

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

Κρατήστε τις τρεις υποσχέσεις ξεχωριστές στο έγγραφο απαιτήσεων. Ένα σχέδιο που διεκδικεί και τις τρεις συνήθως παραδίδει μία και υποθέτει σιωπηρά τις άλλες. Η επόμενη ενότητα ελέγχει ποια παραδίδεται πραγματικά.

Δοκιμάστε μία μεταφορά και πολλές, μετά τραβήξτε μια ζεύξη

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

ip route show default
ip route get 10.80.0.5
mtr -n -c 20 -r 10.80.0.5

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

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