Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες 4.1 Γενικά Σκοπός ενός δικτύου υπολογιστών είναι οι χρήστες να έχουν τη δυνατότητα να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Η σχεδίαση και η ανάπτυξη του θα πρέπει να είναι τέτοια ώστε αυτό να καθίσταται ένα αξιόπιστο, αποδοτικό, ασφαλές και οικονομικό μέσο ανταλλαγής ή μεταβίβασης πληροφοριών μεταξύ των χρηστών. 4.2 Σχεδίαση αρχιτεκτονικής ενός δικτύου Η αρχιτεκτονική του δικτύου καθορίζει: τα φυσικά συστατικά την λειτουργική οργάνωση τις αρχές λειτουργίας τη μορφή που έχουν τα δεδομένα που μεταφέρονται μεταξύ των συσκευών παρέχοντας την δυνατότητα στους υπολογιστές και στις λοιπές συσκευές να συνδέονται μεταξύ τους για να σχηματίσουν ένα σύστημα επικοινωνίας. Οι πρώτες αρχιτεκτονικές δικτύων χαρακτηρίζονταν από την μονολιθική σχεδίαση. Ουσιαστικά όλη η αρχιτεκτονική υλοποιούνταν χωρίς σαφή διαχωρισμό των λειτουργιών που υλοποιούσε το κάθε κομμάτι της. Αυτό έκανε εξαιρετικά δύσκολη τη διόρθωση λαθών, αλλά και την ενσωμάτωση νέων τεχνολογιών, αφού αυτό θα σήμαινε μεγάλης έκτασης αλλαγές στην αρχιτεκτονική. Για το λόγο αυτό υιοθετήθηκε η τεχνική του «Διαίρει και Βασίλευε» (Divide and Conquer) επιβάλλοντας οι λειτουργίες των δικτύων υπολογιστών να οργανώνονται σε σειρές από στρώματα ή επίπεδα (layers). Αυτή η διαστρωμάτωση είναι η βασική ιδέα, αλλά και η κοινή πρακτική, σε όλες τις σύγχρονες αρχιτεκτονικές δικτύων. Τα βασικά συστατικά της στρωματοποιημένης αρχιτεκτονικής είναι: Οι υπηρεσίες (services): Το σύνολο των ενεργειών που ένα στρώμα μπορεί να παρέχει σε ένα άλλο (ανώτερου επίπεδου) στρώμα Τα πρωτόκολλα (protocols): Οι κανόνες επικοινωνίας και το κάθε στρώμα επικοινωνεί με τα γειτονικά του με τη μετάδοση μηνυμάτων μέσω των αντίστοιχων διεπαφών. Οι διεπαφές (interfaces): Το μέσο/τρόπος της επικοινωνίας μεταξύ των επιπέδων. Σελίδα 21
Έτσι στη στρωματοποιημένη αρχιτεκτονική: Κάθε επίπεδο επιτελεί αυστηρά καθορισμένες λειτουργίες, ανεξάρτητες από αυτές των άλλων επιπέδων. Ένα επίπεδο προσφέρει υπηρεσίες στο αμέσως υψηλότερο στην ιεραρχία επίπεδο, ενώ χρησιμοποιεί τις υπηρεσίες του αμέσως κατώτερου στην ιεραρχία επιπέδου. Σχήμα 4.1: Στρωματοποιημένη αρχιτεκτονική δικτύου Σε μια αρχιτεκτονική ν-επιπέδων, το επίπεδο-ν ενός κόμβου συνομιλεί με το επίπεδο-ν του κόμβου με τον οποίο ο πρώτος επικοινωνεί (ομότιμο επίπεδο). Οι κανόνες και οι συμβάσεις που ρυθμίζουν την επικοινωνία αυτή αναφέρονται συνολικά σαν πρωτόκολλα επιπέδου-ν. Στην πραγματικότητα το κάθε επίπεδο μεταβιβάζει δεδομένα και πληροφορίες ελέγχου στο αμέσως κατώτερο επίπεδο μέχρι αυτά να φτάσουν στο τελευταίο επίπεδο. Κάτω από αυτό το επίπεδο υπάρχει το μέσο μετάδοσης μέσω του οποίου γίνεται η πραγματική μεταφορά των δεδομένων. Όταν τα δεδομένα φτάσουν στον κόμβο προορισμού, ακολουθείται η αντίστροφη διαδικασία με τα δεδομένα να ανεβαίνουν τη στοίβα των επιπέδων, μέχρις ότου φτάσουν στο επίπεδο για το οποίο προορίζονται. Στο επόμενο σχήμα δίνεται μια αναπαράσταση της διαδικασίας, παραλληλίζοντας την επικοινωνία σε ένα δίκτυο με την επικοινωνία των προέδρων δύο εταιριών με χρήση του συμβατικού ταχυδρομείου. Στο συγκεκριμένο Σελίδα 22
παράδειγμα, η ενδεχόμενη αλλαγή του τρόπου μεταφοράς των επιστολών στο ταχυδρομείο από τον οδηγό π.χ. με μηχανάκι αντί για αυτοκίνητο (αποφεύγοντας έτσι το μποτιλιάρισμα) δεν επηρεάζει τις λειτουργίες των υπόλοιπων στρωμάτων της αρχιτεκτονικής, αφού ο οδηγός εξακολουθεί να παρέχει την ίδια υπηρεσία, απλά το κάνει με έναν πιο αποτελεσματικό τρόπο. Σχήμα 4.2: Παραλληλισμός υπηρεσιών δικτύου σε επίπεδα Συνοψίζοντας θα μπορούσαμε να πούμε ότι τα δύο σημαντικότερα πλεονεκτήματα της στρωματοποιημένης αρχιτεκτονικής είναι τα ακόλουθα: Απλοποιεί τη σχεδίαση και την υλοποίηση ενός δικτύου. Διευκολύνει τη διόρθωση λαθών και την ενσωμάτωση νέων τεχνολογιών. Κατά τη σχεδίαση των στρωμάτων ενός δικτύου, θα πρέπει να ληφθούν αποφάσεις για τον αριθμό των επιπέδων, τις λειτουργίες που θα αναλάβουν να υλοποιούν τα επίπεδα καθώς επίσης και θέματα που αφορούν: Τη Διευθυνσιοδότηση (Addressing). Την Ανίχνευση και Διόρθωση Λαθών (Error Detection and Correction). τον Έλεγχο Ροής (Flow Control). Τον Κατακερματισμό και την Επανασύνθεση (Fragmentation - Reassembly) την Πολυπλεξία (Multiplexing). τη Δρομολόγηση (Routing). Σελίδα 23
4.3 Υπηρεσίες Στα δίκτυα υπολογιστών υπηρεσία είναι κάθε διαδικασία που υλοποιείται από τα επίπεδα του πρωτοκόλλου με σκοπό να πραγματοποιηθεί η επικοινωνία. Στην αρχιτεκτονική δικτύου που είναι διαρθρωμένη σε επίπεδα, οι λειτουργίες που επιτελεί κάθε επίπεδο σκοπό έχουν να προσφέρουν υπηρεσίες στο αμέσως ανώτερο επίπεδο. Έτσι οι υπηρεσίες που μπορεί να παρέχουν τα επίπεδα μπορεί να είναι: η μεταφορά της πληροφορίας η σηματοδοσία η χρέωση Όταν δύο τερματικές συσκευές του δικτύου επικοινωνούν, δηλαδή γίνεται από άκρο σε άκρο επικοινωνία οι υπηρεσίες που μπορεί να παρέχει το δίκτυο για την μεταφορά των δεδομένων είναι: Σύγχρονες: Τα δεδομένα μεταφέρονται χρησιμοποιώντας μία ακολουθία από bits με σταθερή καθυστέρηση και με δεδομένο ρυθμό σφαλμάτων Ασύγχρονες: Τα bit των δεδομένων έχουν διαιρεθεί σε πακέτα και μεταφέρονται το κάθε πακέτο ανεξάρτητα από τα άλλα Όσον αφορά την ασύγχρονη επικοινωνία παρέχονται δύο κατηγορίες υπηρεσιών: 1) Υπηρεσία με σύνδεση (connection oriented service): Στην υπηρεσία με σύνδεση το άκρο που θέλει να ξεκινήσει την επικοινωνία εγκαθιστά πρώτα μια σύνδεση με το άλλο άκρο πριν ξεκινήσει η μεταφορά των δεδομένων. Στην υπηρεσία με σύνδεση τα δύο άκρα συμφωνούν στην αρχή ότι θα επικοινωνήσουν, καθορίζουν από κοινού τις παραμέτρους επικοινωνίας και στη συνέχεια μεταφέρονται τα δεδομένα. Όταν πλέον δεν υπάρχουν δεδομένα για μετάδοση, τα δύο άκρα συμφωνούν για την διακοπή της επικοινωνίας οπότε η σύνδεση τερματίζεται (π.χ. τηλεφωνικό δίκτυο). 2) Υπηρεσία χωρίς σύνδεση (connectionless service): Στην υπηρεσία χωρίς σύνδεση δεν έχει προηγηθεί η αποκατάσταση σύνδεσης μεταξύ αποστολέα και παραλήπτη. Τα πακέτα δεδομένων μεταφέρονται ανεξάρτητα το ένα από το άλλο και είναι πιθανό να φθάνουν στο προορισμό τους με διαφορετική σειρά, οπότε ο παραλήπτης θα πρέπει να έχει τη δυνατότητα να τα τοποθετήσει στη σωστή σειρά. Η υπηρεσία χωρίς σύνδεση μπορεί να παρομοιασθεί με το κλασικό ταχυδρομείο. 4.4 Βασικά στοιχεία υπηρεσιών Όπως έχει ήδη αναφερθεί, για να πραγματοποιηθεί επικοινωνία το κάθε επίπεδο θα πρέπει να υλοποιεί κάποιες διαδικασίες παρέχοντας υπηρεσίες στο ανώτερο επίπεδό του. Σελίδα 24
Οι βασικές καταστάσεις στις οποίες μπορεί να βρίσκεται μία υπηρεσία είναι: Αναμονή (Listen): Σε αυτή τη κατάσταση η υπηρεσία αναμένει για εισερχόμενες κλήσεις, περιμένει δηλαδή κάποιο άλλο άκρο να στείλει αίτημα για επικοινωνία. Σύνδεση (Connect): Έχοντας λάβει αίτημα για σύνδεση, υλοποιείται η σύνδεση οπότε τα δύο άκρα συμφωνούν να επικοινωνήσουν. Λήψη (Receive): Σε αυτή τη κατάσταση η υπηρεσία λαμβάνει δεδομένα που στέλνει το άλλο άκρο. Αποστολή (Send): Σε αυτή τη κατάσταση η υπηρεσία στέλνει δεδομένα στο άλλο άκρο. Αποσύνδεση (Disconnect): Αφού ολοκληρωθεί η επικοινωνία τα δύο άκρα συμφωνούν τα τερματίσουν την σύνδεση. Σελίδα 25
4.5 Ασκήσεις 1. Αντιστοιχίστε τους ορισμούς της αριστερής στήλης με τους αντίστοιχους ορισμούς της δεξιάς στήλης: 1. Μονολιθική αρχιτεκτονική Α. Τα δύο άκρα συμφωνούν στην αρχή ότι θα επικοινωνήσουν 2. Υπηρεσίες Β. Οι κανόνες επικοινωνίας 3. Στρωματοποιημένη αρχιτεκτονική Γ. Αρχιτεκτονική χωρίς σαφή διαχωρισμό λειτουργιών 4. Πρωτόκολλα Δ. Αρχιτεκτονική με φιλοσοφία του «Διαίρει και Βασίλευε» 5. Υπηρεσία με σύνδεση Ε. Το σύνολο των ενεργειών που ένα στρώμα μπορεί να παρέχει σε ένα άλλο (ανώτερου επίπεδου) στρώμα 2. Συμπληρώστε τα κενά στις παρακάτω προτάσεις: 1. Η σχεδίαση και η ανάπτυξη ενός δικτύου υπολογιστών θα πρέπει να είναι τέτοια ώστε αυτό να καθίσταται ένα.., αποδοτικό,.. και οικονομικό μέσο ανταλλαγής ή μεταβίβασης πληροφοριών μεταξύ των χρηστών. 2. Οι.. είναι το μέσο της επικοινωνίας μεταξύ των επιπέδων μιας στρωματοποιημένης αρχιτεκτονικής. 3. Στη στρωματοποιημένης αρχιτεκτονική, κάθε επίπεδο επιτελεί αυστηρά καθορισμένες λειτουργίες,.., από αυτές των άλλων επιπέδων. 4. Πλεονέκτημα της στρωματοποιημένης αρχιτεκτονικής είναι το ότι.. τη σχεδίαση και την υλοποίηση ενός δικτύου 5. Κατά την ασύγχρονη επικοινωνία, τα bit των δεδομένων έχουν.. σε πακέτα και μεταφέρονται το κάθε πακέτο ανεξάρτητα από τα άλλα. Σελίδα 26