Όρια συνδέσεων VPN: ζωντανή κατάσταση ή διατηρημένο ιστορικό
Ένα όριο τριών συνδέσεων χρειάζεται ζωντανή κατάσταση θέσεων, όχι ιστορικό περιήγησης: τι πρέπει να αποθηκεύει ο μηχανισμός, τι μπορεί να απορρίπτει και πού πηγαίνει μετά αυτή η κατάσταση.
Οι τρεις ταυτόχρονες συνδέσεις είναι μια απόφαση εισδοχής, και για να απαντηθεί απαιτείται να γνωρίζουμε ποιες θέσεις είναι κατειλημμένες αυτή τη στιγμή και όχι τι συνέβη τον περασμένο μήνα. Μια υπηρεσία μπορεί να αρνηθεί μια τέταρτη συνεδρία από έναν μικρό πίνακα ενεργών εγγραφών και να μη δημιουργήσει ποτέ χρονολόγιο. Αυτό είναι μια δήλωση για τον μηχανισμό, όχι για τον πάροχο, και η διαφορά μετράει όταν διαβάζεις μια πολιτική απορρήτου. Το παρακάτω μοντέλο δείχνει τι χρειάζεται η απόφαση και τι μπορεί να απορρίψει.
Ο μηχανισμός: ένας πίνακας θέσεων, όχι ένα αρχείο καταγραφής
Η απλούστερη υλοποίηση συνδέει μια συνδρομή με έως τρεις ενεργές εγγραφές συνεδρίας. Κάθε συνεδρία που γίνεται δεκτή καταλαμβάνει μία θέση, και η θέση ελευθερώνεται όταν η υπηρεσία κρίνει ότι η συνεδρία έχει τελειώσει. Η εγγραφή χρειάζεται ταυτότητα αρκετά ειδική ώστε η απελευθέρωση μιας σύνδεσης να μην ελευθερώνει τη θέση μιας άλλης, γι' αυτό το αναγνωριστικό συνεδρίας έχει μεγαλύτερη σημασία από το όνομα του λογαριασμού.
Η πληρότητα και το ιστορικό είναι διαφορετικές δομές δεδομένων. Η πληρότητα απαντά σε μια ερώτηση ναι ή όχι για το παρόν και μπορεί να απορριφθεί τη στιγμή που τελειώνει η συνεδρία. Ένα ιστορικό είναι μια ροή γεγονότων μόνο προσθήκης, και επιβιώνει επειδή κάποιος επέλεξε να το κρατήσει. Μια υπηρεσία μπορεί να έχει το ένα, και τα δύο ή κανένα.
Η διάκριση είναι αόρατη από έξω. Ένα ορατό όριο συνδέσεων είναι συμβατό με έναν μικροσκοπικό μετρητή στη μνήμη, έναν κοινόχρηστο πίνακα βάσης δεδομένων και ένα πλήρες αρχείο γεγονότων με ταμπλό. Τίποτα στο όριο δεν σου λέει ποιο από αυτά λειτουργεί.
| What is stored | Why it exists |
|---|---|
| Active session slots | To admit or refuse the next connection |
| Session event log | To investigate or bill later |
| Monitoring series | To watch capacity and error rates |
| Backup copies | To restore any of the above |
Γιατί το ζωντανό μοντέλο χρειάζεται ακόμη συντονισμό
Μια χαμένη σύνδεση μπορεί να μην αναγνωριστεί αμέσως ως τελειωμένη. Η πύλη περιμένει ένα χρονικό όριο, μια αποτυχία keepalive ή μια διακοπή λογιστικής, και μέχρι να φτάσει ένα από αυτά η θέση παραμένει κατειλημμένη. Ένας χρήστης που επανασυνδέεται σε αυτό το διάστημα βλέπει μια άρνηση που δεν έχει καμία σχέση με μια τέταρτη συσκευή.
Ένας διακομιστής που επανεκκινεί πρέπει να συμβιβάσει την κατάστασή του, και πολλές πύλες που εξυπηρετούν τον ίδιο λογαριασμό χρειάζονται κοινή απόφαση. Διαφορετικά ένας λογαριασμός μπορεί να υπερβεί το όριό του συνδεόμενος σε διαφορετικές τοποθεσίες. Η κοινόχρηστη ή ανακτήσιμη κατάσταση το λύνει, και η κοινόχρηστη κατάσταση είναι απαίτηση σχεδιασμού και όχι απόδειξη παρακολούθησης.
Κανένα μέρος αυτού του συντονισμού δεν απαιτεί ιστορικά περιήγησης. Μια πύλη που προωθεί πακέτα δεν χρειάζεται να ξέρει ποιες τοποθεσίες επισκέφθηκε μια συνεδρία για να μετρήσει συνεδρίες, και οι δύο ροές δεδομένων συνήθως χειρίζονται από εντελώς διαφορετικά στοιχεία.
Η τήρηση ενός μετρητή στη μνήμη δεν κάνει ούτε τα σχετικά γεγονότα ανώνυμα. Όσο η υπηρεσία λειτουργεί, μια εγγραφή συνδεδεμένη με τη συνδρομή αποκαλύπτει ότι ένας λογαριασμός έχει ενεργές συνδέσεις, και τόσο η πρόσβαση σε αυτή την κατάσταση όσο και η διάρκεια ζωής της αξίζουν ερώτηση.
Πού πηγαίνει μετά η κατάσταση
Το ερώτημα απορρήτου δεν είναι αν ο διακομιστής μπορεί να μετρά. Ρώτα τι συμβαίνει σε μια συνεδρία που τελείωσε: η εγγραφή αφαιρείται ή γίνεται γεγονός σε μια σειρά παρακολούθησης; Μετά ρώτα ποια άλλα στοιχεία είδαν το ίδιο γεγονός, γιατί τα αρχεία ελέγχου ταυτότητας, οι λογιστικές εγγραφές και τα αντίγραφα ασφαλείας μπορούν το καθένα να κρατήσει ένα αντίγραφο που η διαδρομή επιβολής απέρριψε.
Η λογιστική RADIUS είναι το πιο σαφές παράδειγμα. Ένα ζεύγος Start και Stop υπάρχει για να υποστηρίζει τη χρέωση και τον έλεγχο συνεδριών, και δημιουργεί εγγραφή της σύνδεσης ανεξάρτητα από το αν κάποιος την αναζητήσει ποτέ ως ιστορικό. Μια υπηρεσία που επιβάλλει όρια μέσω λογιστικής διατηρεί επομένως περισσότερα από έναν πίνακα θέσεων εκ κατασκευής.
Και η διαγραφή έχει σχήμα. Μια εγγραφή που αφαιρέθηκε από τον ζωντανό πίνακα μπορεί να παραμένει σε αντίγραφο ασφαλείας που ελήφθη μία ώρα νωρίτερα, και η περίοδος διατήρησης αυτού του αντιγράφου είναι δική της δήλωση πολιτικής. Η ανάγνωση μόνο του κύριου χώρου αποθήκευσης δίνει ελλιπή απάντηση.
Θέσε το ερώτημα με όρους πεδίων
Η κατευθυντήρια γραμμή ελαχιστοποίησης δεδομένων του RFC 6973 συνδέει τα δεδομένα που συλλέγονται και αποθηκεύονται με τον σκοπό που εξυπηρετείται. Εφαρμοσμένο εδώ, το χρήσιμο ερώτημα είναι ποια πεδία χρειάζεται πραγματικά η εργασία ταυτόχρονης εισδοχής και ποιος σκοπός δικαιολογεί τη διατήρηση του καθενός μετά το τέλος αυτής της εργασίας.
Μια ακριβής δήλωση υπηρεσίας διαχωρίζει τη ζωντανή κατάσταση σύνδεσης που χρησιμοποιείται για την επιβολή του ορίου από τυχόν εγγραφές που διατηρούνται μετά τον τερματισμό, και ονομάζει τα άλλα συστήματα εντός του πεδίου της υπόσχεσης. Μια φράση που λέει μόνο ότι επιβάλλονται τρεις συνδέσεις δεν αποδεικνύει ούτε ότι υπάρχει αρχείο ούτε ότι δεν υπάρχει.
Όταν ο κύκλος ζωής είναι ασαφής, κατέγραψέ το ως αναπάντητο ερώτημα διατήρησης και όχι ως ετυμηγορία. Η ύπαρξη ενός ορίου δεν είναι απόδειξη κρυφού ιστορικού, και μια πιθανή εξήγηση ζωντανής κατάστασης δεν είναι έλεγχος του παρόχου.