Στην πληροφορική, και ειδικότερα στα δίκτυα υπολογιστών, μια σύνοδος (αγγλ. session) είναι

  • μια διαρκής σύνδεση δυο συσκευών που χρησιμοποιεί το επίπεδο συνόδου (αγγλ. session layer) ενός πρωτοκόλλου δικτύωσης (αγγλ. network protocol),
  • ή μια διαρκής σύνδεση μεταξύ ενός χρήστη (αγγλ. user) και ενός ομολόγου του (αγγλ. peer), που συνήθως είναι ένας εξυπηρετητής.

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

Η σύνοδος είναι ένα από τα επίπεδα διασύνδεσης ενός πρωτοκόλλου δικτύωσης (π.χ. telnet, FTP), για παράδειγμα είναι το πέμπτο επίπεδο του μοντέλου αναφοράς OSI. Στις περιπτώσεις όπου τα πρωτόκολλα μετάδοσης δεν είναι τυποποιημένα σε επίπεδα (π.χ. UDP) ή όπου οι σύνοδοι δεν είναι διαρκείς αλλά πολύ βραχύβιες (π.χ. HTTP), οι σύνοδοι διατηρούνται από λογισμικό ανωτέρου επιπέδου που χρησιμοποιεί μια μέθοδο (αγγλ. method) ορισμένη για τα δεδομένα που ανταλλάσσονται. Για παράδειγμα, μια σύνοδος μεταξύ ενός φυλλομετρητή (αγγλ. browser) και ενός απομακρυσμένου εξυπηρετητή μπορεί να βασίζεται σε ένα ειδικό κείμενο (αγγλ. cookie), το οποίο θα καθορίζει την κατάσταση της συνόδου, δηλαδή θα περιέχει μοναδικό αναγνωριστικό, αύξοντα αριθμό βήματος ή ώρα τελευταίας επαφής, και πληροφορίες για τις προτιμήσεις του χρήστη ή για το επίπεδο εξουσιοδότησης του.


Παράδειγμα συνόδου Επεξεργασία

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

Για παράδειγμα, θα παραθέσουμε επικοινωνία με έναν πρωτεύοντα (primary) υπολογιστή και έναν δευτερεύοντα (secondary), με χρήση του πρωτόκολλου HDLC (High-level Data Link Control-procedure, υψηλού επιπέδου διαδικασία ελέγχου του καναλιού μεταφοράς δεδομένων). Στο πρωτόκολλο αυτό ο τρόπος λειτουργίας λέγεται NRM (Normal Response Mode, κανονικός τρόπος απόκρισης), όπου ο πρωτεύων μιλά και ο δευτερεύων επιτρέπεται μόνο να απαντά, δηλαδή έχουν HDX (Half DupleX, δυνατότητα ροής μηνυμάτων σε δύο κατευθύνσεις με ενεργή διαδοχικά μόνο την μία από τις δύο) επικοινωνία ελεγχόμενη από τον πρωτεύοντα.

Επιτρεπτό αλφάβητο:

  • εντολές του πρωτεύοντα προς τον δευτερεύοντα
SNRM (Set NRM, ετοιμάσου για συζήτηση)
DISC (DISConnect, ας σταματήσουμε)
  • εντολές του δευτερεύοντα προς τον πρωτεύοντα
UA (Unnumbered Acknowledgement, ελήφθη)
CMDR (CoMmanD Reject, λάθος σήμα)
  • εντολές κοινές (από πρωτεύοντα: -εντολή, από δευτερεύοντα: εντολή-)
-RR, RR- (Receive Ready, ελήφθη, περιμένω επόμενο)
-RNR, RNR- (Receive Not Ready, δεν ελήφθη, μη στείλεις άλλο)
-I, I- (Information, πακέτο πληροφορίας)

Παραθέτουμε μερικές συνόδους, όπου σημειώνουμε με έντονα γράμματα τα μηνύματα του δευτερεύοντος και όπου μήκος είναι το πλήθος των μηνυμάτων:

  • SNRM CMDR DISC UA (μήκος 4, δεν μεταφέρθηκαν πακέτα πληροφοριών)
  • SNRM RR- –I RR- DISC UA (μήκος 6, έστειλε ο πρωτεύοντας ένα πακέτο)
  • SNRM CMDR SNRM RR- –I RR- DISC RNR- –RR I- –RR I- –RR RR- DISC UA (μήκος 16, έστειλε ο πρωτεύοντας ένα πακέτο και μετά ο δευτερεύοντας δυο πακέτα πληροφοριών)