Σύνοδος (υπολογιστές)

Στην πληροφορική, και ειδικότερα στα δίκτυα υπολογιστών, μια **σύνοδος** (αγγλ. *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 (***N'''ormal '''R'''esponse '''M'''ode'', κανονικός τρόπος απόκρισης), όπου ο πρωτεύων μιλά και ο δευτερεύων επιτρέπεται μόνο να απαντά, δηλαδή έχουν [[HDX]] (***H**alf **D**uple**X***, δυνατότητα ροής μηνυμάτων σε δύο κατευθύνσεις με ενεργή διαδοχικά μόνο την μία από τις δύο) επικοινωνία ελεγχόμενη από τον πρωτεύοντα.

Επιτρεπτό αλφάβητο: 
* εντολές του πρωτεύοντα προς τον δευτερεύοντα
: SNRM (***S**et **NRM***, ετοιμάσου για συζήτηση) 
: DISC (***DISC**onnect'', ας σταματήσουμε)
* εντολές του δευτερεύοντα προς τον πρωτεύοντα
: UA (***U*'nnumbered **A**cknowledgement*, ελήφθη)
: CMDR (***C**o**M**man**D R**eject*, λάθος σήμα)
* εντολές κοινές (από πρωτεύοντα: *'-**εντολή, από δευτερεύοντα: εντολή**-**) 
: -RR, RR- (***R*'eceive **R**eady*, ελήφθη, περιμένω επόμενο)
: -RNR, RNR- (***R**eceive **N**ot **R**eady*, δεν ελήφθη, μη στείλεις άλλο)
: -I, I- (***I**nformation*, πακέτο πληροφορίας)

Παραθέτουμε μερικές συνόδους, όπου σημειώνουμε με έντονα γράμματα τα μηνύματα του δευτερεύοντος και όπου *μήκος* είναι το πλήθος των μηνυμάτων:
* 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, έστειλε ο πρωτεύοντας ένα πακέτο και μετά ο δευτερεύοντας δυο πακέτα πληροφοριών) 

Κατηγορία:Δίκτυα υπολογιστών
Κατηγορία:Δικτύωση υπολογιστών