Επίπεδο συνόδου

Το Επίπεδο Συνόδου (session layer) επιτρέπει σε χρήστες που χρησιμοποιούν διαφορετικές μηχανές να αποκαταστήσουν συνόδους (sessions) μεταξύ τους. Μια σύνοδος επιτρέπει τη συνηθισμένη μεταφορά δεδομένων, όπως δηλαδή και το στρώμα μεταφοράς, αλλά παρέχει επίσης επιπρόσθετες υπηρεσίες, χρήσιμες σε μερικές εφαρμογές. Μια σύνοδος μπορεί να χρησιμοποιηθεί για να επιτρέψει την είσοδο (login) ενός χρήστη σ΄ ένα απομακρυσμένο σύστημα καταμερισμού χρόνου ή τη μεταφορά ενός αρχείου μεταξύ δύο μηχανών.

Μια από τις υπηρεσίες του στρώματος συνόδου είναι η διαχείρηση του ελέγχου του διαλόγου. Οι σύνοδοι μπορούν να επιτρέπουν στην κίνηση να κατευθύνεται και προς τις δύο κατεθύνσεις ταυτόχρονα ή μόνο προς την μία κατεύθυνση κάθε φορά. Αν η κίνηση μπορεί να κατευθύνεται προς τη μία μόνο κατεύθυνση κάθε φορά (κατ΄ αναλογία προς τη μονή σιδηροδρομική γραμμή) το στρώμα συνόδου μπορεί να βοηθά στην τήρηση της σειράς.

Μια σχετική υπηρεσία συνόδου είναι η διαχείρηση σκυτάλης (token management). Για κάποια πρωτόκολλα είναι ουσιώδες το να μην αποπειρώνται και οι δύο πλευρές την ίδια λειτουργία κατά την ίδια στιγμή. Για να διαχειρίζεται αυτές τις δραστηριότητες, το στρώμα συνόδου παρέχει σκυτάλες που μπορούν να ανταλλάσσονται. Μόνο η πλευρά που κατέχει τη σκυτάλη μπορεί να εκτελέσει την κρίσιμη λειτουργία.

Μια άλλη υπηρεσία είναι ο συγχρονισμός (synchronization). Σκεφθείτε τα προβλήματα που θα μπορούσαν να προκύψουν στην περίπτωση που προσπαθεί κάποιος να κάνει μια δίωρη μεταφορά αρχείου μεταξύ δύο μηχανών, όταν ο μέσος χρόνος μεταξύ των βλαβών είναι μία ώρα. Μετά κάθε πρόωρη διακοπή της μεταφοράς, όλη η μεταφορά θα πρέπει να γίνει πάλι από την αρχή και μπορεί κάλλιστα να αποτύχει ξανά. Για να απαλειφθεί αυτό το πρόβλημα, το στρώμα συνόδου παρέχει ένα τρόπο εισαγωγής σημείων ελέγχου στον συρμό δεδομένων, ώστε μετά από μία διακοπή να επαναλαμβάνεται μόνο η μετάδοση των δεδομένων μετά το τελευταίο σημείο ελέγχου.