7.4 Πρωτόκολλο Μέχρι τώρα περιγράψαμε συνδέσεις, που χρησιμοποιούν το πρωτόκολλο TCP. Θυμηθείτε, ότι το TCP είναι υπεύθυνο για το τεμαχισμό των μηνυμάτων σε τμήματα και την επανασύνδεση τους στον προορισμό. TCP TCP TCP
7.4 Πρωτόκολλο Εντούτοις, σε πολλές εφαρμογές έχουμε μηνύματα, που χωρούν σε ένα τμήμα. Χαρακτηριστικό παράδειγμα τέτοιων μηνυμάτων αποτελούν οι ερωτήσεις, που στέλνει ένα σύστημα, προκειμένου να προσδιορίσει μία άγνωστη διεύθυνση προορισμού.
7.4 Πρωτόκολλο Σε αυτές τις περιπτώσεις μοιάζει ανόητο να χρησιμοποιούμε το πρωτόκολλο TCP. Φυσικά, το TCP κάνει πολύ περισσότερα από το να σπάει τα μηνύματα σε τμήματα. TCP TCP TCP
7.4 Πρωτόκολλο Στην περίπτωση, όμως μίας ερώτησης, που χωρά σε ένα τμήμα, δεν χρειαζόμαστε όλη την πολυπλοκότητα, που εισάγει το πρωτόκολλο TCP, προκειμένου να εξασφαλίσουμε την αξιόπιστη μετάδοση της.
7.4 Πρωτόκολλο Για τέτοιες εφαρμογές, που δεν χρειάζονται όλη την πολυπλοκότητα του πρωτοκόλλου TCP, έχει σχεδιαστεί ένα εναλλακτικό πρωτόκολλο επιπέδου μεταφοράς, το οποίο ονομάζεται Πρωτόκολλο Αυτοδύναμων Πακέτων Χρήστη (User Datagram Protocol, ). To είναι πρωτόκολλο, που παρέχει υπηρεσίες αυτοδύναμου πακέτου. μεταφορά μεταφορά E D C Β Α Station 1 Σταθμός 1 Station 2 Σταθμός 2
7.4 Πρωτόκολλο To χρησιμοποιείται, κυρίως, από εφαρμογές, στις οποίες ο κρίσιμος παράγοντας είναι η ταχύτητα και στις οποίες δεν έχει νόημα η επαναμετάδοση των δεδομένων για την αποκατάσταση τυχόν σφαλμάτων, που συνέβησαν κατά την μετάδοση. Mbps Mbps
7.4 Πρωτόκολλο Χαρακτηριστικό παράδειγμα τέτοιων εφαρμογών είναι η μετάδοση φωνής. Στην μετάδοση φωνής δεν έχει νόημα η επαναμετάδοση πακέτων (λέξεων), ενώ θα πρέπει να μειωθεί στο ελάχιστο η καθυστέρηση, που εισάγει το πρωτόκολλο έτσι, ώστε να μην παρατηρούνται μεγάλες καθυστερήσεις, διαφορετικά ο παραλήπτης θα αντιλαμβάνεται ομιλία πολύ κακής ποιότητας.
7.4 Πρωτόκολλο Η διαφορά του από το TCP είναι, ότι το δεν εκτελεί τόσες λειτουργίες όσες το TCP. Δεν τεμαχίζει τα δεδομένα σε πολλαπλά τμήματα. Δεν κρατά αντίγραφα από τα δεδομένα, που έχουν σταλεί, ώστε σε περίπτωση, που δεν φτάσουν έγκαιρα στον προορισμό ή συμβούν σφάλματα μετάδοσης, να γίνει επαναμετάδοσή τους. Δεν εξασφαλίζει, ότι τα τμήματα θα παραδοθούν στον προορισμό τους με τη σειρά, που στάλθηκαν από τον αποστολέα. TCP Αντίγραφα μεταφορά Παράδοση Τεμαχισμός Αντίγραφα μεταφορά Παράδοση Όχι Όχι Μπορεί Όχι Τεμαχισμός
7.4 Πρωτόκολλο Επομένως, στην περίπτωση, που χρησιμοποιείται το πρωτόκολλο, καταστάσεις, όπως: απώλεια μηνύματος, πολλαπλά αντίγραφα, μεγάλες καθυστερήσεις, λήψη μηνυμάτων εκτός σειράς, έλεγχος ροής, διακοπή της επικοινωνίας πρέπει να τις χειρίζονται οι εφαρμογές. Εφαρμογή μεταφορά 7 6 5 4 3 2 1
7.4 Πρωτόκολλο Η επικοινωνία του πρωτοκόλλου με τα προγράμματα εφαρμογής γίνεται μέσω αφηρημένων σημείων επικοινωνίας, που ονομάζονται θύρες ( ports). Κάθε port προσδιορίζεται από ένα θετικό ακέραιο αριθμό των 16 bits, ο οποίος βρίσκεται στην επικεφαλίδα του τμήματος. Port 16 bit
7.4 Πρωτόκολλο Εάν κάποια εφαρμογή θέλει να χρησιμοποιήσει το πρωτόκολλο, πρέπει να συσχετισθεί με κάποιο port. Η ανάθεση των port στις εφαρμογές γίνεται από το λειτουργικό σύστημα. Τα ports παρέχουν τη δυνατότητα στο λογισμικό του πρωτοκόλλου να χρησιμοποιείται ταυτόχρονα από διαφορετικές εφαρμογές και χρησιμοποιούνται, όπως ακριβώς και τα αντίστοιχα TCP ports. Port 16 bit
7.4 Πρωτόκολλο Ας δούμε, όμως, πιο αναλυτικά, πως μία εφαρμογή μπορεί να επικοινωνήσει με κάποια άλλη μέσω του πρωτοκόλλου. Το μονοπάτι επικοινωνίας μεταξύ της εφαρμογής και του πρωτοκόλλου πραγματοποιείται μέσω των ports.
7.4 Πρωτόκολλο Όπως και στο πρωτόκολλο TCP, έτσι και στο για ορισμένες εφαρμογές έχουν καθορισθεί συγκεκριμένα ports, που είναι ευρέως γνωστά και χρησιμοποιούνται αποκλειστικά και μόνο για την επικοινωνία με τους εξυπηρετητές αυτών των εφαρμογών. Οποιοδήποτε τμήμα φέρει στην επικεφαλίδα του τον αριθμό του port, που έχει ανατεθεί σε συγκεκριμένη εφαρμογή, αναγνωρίζεται από τον εξυπηρετητή της εφαρμογής, ο οποίος, στη συνέχεια, προχωρά στην επεξεργασία του τμήματος. Για παράδειγμα, ο εξυπηρετητής του Απλού Πρωτοκόλλου Διαχείρισης Δικτύου (Simple Network Management Protocol, SNMP), περιμένει και λαμβάνει μηνύματα, που φέρουν σαν port τον αριθμό 161. Για την εφαρμογή αυτή θα μιλήσουμε στο 8ο Κεφάλαιο. 161
7.4 Πρωτόκολλο Κάθε τμήμα, όπως και το TCP τμήμα, αποτελείται από δύο μέρη, την επικεφαλίδα και τα προς μετάδοση δεδομένα (Σχήμα 7-13). Κάθε εισερχόμενο αυτοδύναμο πακέτο, που στην επικεφαλίδα του έχει την ένδειξη διαβιβάζεται από το πρωτόκολλο στο πρωτόκολλο. Η βασική λειτουργικότητα, που προσθέτει το πρωτόκολλο σε αυτές του πρωτοκόλλου, είναι η πολυπλεξία της πληροφορίας διαφορετικών εφαρμογών με βάση τα ports.