Δίκτυα Υπολογιστών Κεφάλαιο 19 – Σύγκριση TCP και UDP
Δημοσιεύτηκε από τον/την codebrakes στις
Δίκτυα Υπολογιστών
Κεφάλαιο 19 - Σύγκριση TCP και UDP
Συνοπτικά οι λειτουργίες του επιπέδου μεταφοράς
Το επίπεδο μεταφοράς στο πρότυπο επικοινωνίας TCP/IP αφορά μια λογική σύνδεση μεταξύ δύο τερματικών σε ένα δίκτυο. Παρέχει υπηρεσίες απο σε υπολογιστές (hosts ή clients) και σε διακομιστές (servers). Αυτό αναφέρεται συχνά κι ως άκρο σε άκρο επικοινωνία (end-to-end connection). Οι κυριότερες υπηρεσίες που παρέχει το επίπεδο μεταφοράς είναι οι εξής:
Εγκαθίδρυση συνόδων (sessions)
Εντοπισμός μεμονομένων επικοινωνιών μεταξυ εφαρμογών τόσο στους πελάτες (clients) όσο και στους διακομιστές (servers)
Τεμαχισμός και διαχείριση δεδομένων
Επανασυναρμολόγηση των τμημάτων (segments) σε μια ροή δεδομένων για την εκάστοτε εφαρμογή που απευθύνεται
Εντοπισμός διαφορετικών εφαρμογών
Έλεγχος ροής (flow control) μεταξύ διαφορετικών χρηστών
Έλεγχος σφαλμάτων και τυχόν ανάκαμψης αυτών με επαναμετάδοση της πληροφορίας που χάθηκε
Εν συντομία ο κύριος σκοπός του επιπέδου μεταφοράς είναι να μπορέσουν πολλές εφαρμογές να χρησιμοποιούν το ίδιο δίκτυο ταυτόχρονά!!
Διαφορές και ομοιότητες του TCP και UDP
Υπάρχουν κάποιες βασικές ομοιότητες και διαφορές μεταξύ του TCP και του UDP. Μια απο αυτές τις διαφορές είναι ότι το TCP είναι ένα πρωτόκολλο μεταφοράς προσανατολισμένης σύνδεσης καθότι εγκαθιδρύει μια απ’ άκρο σε άκρο επικοινωνία (end-to-end connection) μεταξύ ενός πελάτη (client) κι ενός εξυπηρετητή (server) πρωτού ξεκινήσει η μεταφορά δεδομένων. Απο την αλλη μεριά το UDP είναι ένα ασυνδεσμικό (connection-less) πρωτόκολλο επικοινωνίας καθότι δεν καθορίζεται τίποτα στην σύνδεση και τα δεδομένα μεταφέρονται κατευθείαν. Η βασική δε ομοιότητα των δύο αυτών πρωτοκόλλων μεταφοράς είναι ότι και τα δύο βρίσκονται στο επίπεδο μεταφοράς του πρότυπου επικοινωνίας TCP/IP.
Το πρωτόκολλο μεταφοράς TCP
To Πρωτόκολλο Ελέγχου Μεταφοράς (Transmission Control Protocol – TCP) είναι ένα πρωτόκολλο προσανατολισμένης σύνδεσης (connection-oriented protocol) το οποίο βρίσκεται στο επίπεδο μεταφοράς του μοντέλου επικοινωνίας TCP/IP. Εγκαθιδρύει μια σύνδεση μεταξύ για μεταφορά δεδομένων μεταξύ δύο οντοτήτων (client και server). Η εικόνα παρακάτω δείνει ενα παράδειγμα εκκίνησης TCP σύνδεσης.
Όπως παρατηρούμε κι απο τις παραπάνω εικόνες βλέπουμε ότι το TCP είναι ένα αρκετά αξιόπιστο πρωτόκολλο μεταφοράς δεδομένων καθότι χρησιμοποιεί three-way handshake, έλεγχο ροής, έλεγχο συμφόρησης και έλεγχο σφαλμάτων. Τα παρακάτω πρωτόκολλα χρησιμοποιούν το TCP για μεταφορά δεδομένων.
HTTP (Hypertext Transfer Protocol)
HTTPS (Hypertext Transfer Protocol Secure
FTP (File Transfer Protocol)
SMTP (Simple Mail Transfer Protocol), κλπ.
Μειονεκτήματα TCP |
Μεγαλύτερο μήκος επικεφαλίδας σε σχέση με το UDP
|
Το πρωτόκολλο μεταφοράς UDP
Το πρωτόκολλο Αυτοδύναμων Πακέτων Χρήστη (User Datagram Protocol – UDP) είναι ένα ασυνδεσμικό πρωτόκολλο επικοινωνίας (connectionless protocol) και βρίσκεται στο επίπεδο μεταφοράς του πρότυπου επικοινωνίας TCP/IP. Δεν απαιτεί εγκαθύδρυση επικοινωνίας ούτε ελέγχει αν ο παραλήπτης έλαβε τα δεδομένα ή όχι, απλά στέλνει τα δεδομένα όσο πιο γρήγορα γίνεται. Το UDP χρησιμοποιείται για εφαρμογές που απαιτούν γρήγορη ταχύτητα όπως σε τηλεδιασκέψεις, σε video streaming π.χ. Youtube, για audio streaming π.χ. Soundcloud κλπ.
Λειτουργία | TCP | UDP |
Σύνδεση | Το TCP είναι ένα πρωτόκολλο προσανατολισμένης σύνδεσης connection-oriented) | Το UDP είναι ένα ασυνδεσμικό πρωτόκολλο (connectionless protocol) |
Τρόπος Λειτουργίας | Το TCP επιβλέπει την σύνδεση και παρακολουθεί την πορεία κάθε πακέτου μέχρι αυτό να φτάσει στον τελικό του προορισμό. Σε διαφορετική περίπτωση το ξαναστέλνει. | Το UDP απλά στέλνει τα πακέτα στον παραλήπτη και δεν το ενδιαφέρει αν φτάσουν τα πακέτα ή όχι. Απλά τα προωθεί όσο πιο γρήγορα γίνεται. |
Χρήση |
Το TCP χρησιμοποιείται σε εφαρμογές που απαιτούν αξιόπιστες συνδέσεις όπου ο χρόνος μετάδοσης των δεδομένων δεν αποτελεί μείζον ζήτημα. | Το UDP χρησιμοποιείται σε εφαρμογές που απαιτούν γρήγορη μεταφορά δεδομένων. |
Πρωτόκολλα | HTTP, HTTPs, FTP, SMTP, Telnet | DNS, DHCP, TFTP, SNMP, RIP, VOIP |
Αναδιάταξη πακέτων | Στο TCP κάθε πακέτο αριθμείται και στέλνεται με την σωστή σειρά | Στο UDP τα πακέτα δεν αριθμούνται και δεν στέλνονται με συγκεκριμένη σειρά |
Ταχύτητα μεταφοράς | Αργό καθότι υπάρχουν μηχανισμοί αξιοπιστίας | Γρήγορο καθότι δεν υπάρχουν μηχανισμοί αξιοπιστίας |
Αξιοπιστία |
Το TCP εγγυάται για την παράδοση των δεδομένων. Αν χαθεί έστω και ένα πακέτο τότε είναι υποχρεωμένο να το ξαναστείλει στον παραλήπτη και με χωρίς σφάλματα. | Στο UDP δεν υπάρχει καμία εγγύηση για την μεταφορά των δεδομένων. Αν ένα πακέτο χαθεί αυτό δεν ξαναστέλνεται. |
Μήκος επικεφαλίδας |
Ελάχιστο μήκος 20 bytes
Μέγιστο μήκος 60 bytes |
Σταθερό μήκος 8 bytes. |
Μεταφορά δεδομένων |
Τα πακέτα στέλνονται σαν μια αριθμημένη συνεχόμενη ροή δεδομένων και υπάρχουν ειδικές ενδείξεις που ελέγχουν το δίκτυο όπως ο έλεγχος συμφόρησης κι ο έλεγχος ροής των πακέτων. | Τα πακέτα στέλνονται ξεχωριστά και πραγματοποιείται έλεγχος ακεραιότητας στο τέλος όταν δηλαδή αυτά φτάσουν στον παραλήπτη. |
Επιβάρυνση |
Το TCP επιβαρύνει αρκετά ένα δίκτυο. Απαιτεί τρία πακέτα για εγκαθίδρυση σύνδεσης πριν καν ο χρήστης μπορέσει να στείλει δεδομένα. Επίσης οι μηχανισμοί αξιοπιστίας που χρησιμοποιεί είναι ουσιαστικά μηχανισμοί επίβλεψης του δικτύου κάτι που το κάνει ακόμα πιο βαρύ. | Το UDP είναι αρκετά ελαφρύ. Δεν υπάρχει αρίθμηση των πακέτων ούτε μηχανισμοί επίβλεψης του δικτύου. |
Έλεγχος ροής δεδομένων | Το TCP χρησιμοποιεί έλεγχο ροής καθότι απαιτεί τρία πακέτα για εγκαθίδρυση σύνδεσης πριν καν ο χρήσης είναι σε θέση να στείλει δεδομένα. | Το UDP δεν χρησιμοποιεί έλεγχο ροής |
Έλεγχος σφαλμάτων | Το TCP ελέγχει για τυχόν σφάλματα και προσπαθεί να τα διορθώσει με επαναμεταδόσεις των χαμένων πακέτων. | Το UDP δεν ελέγχει για σφάλματα και απορρίπτει τα κατεστραμμένα πακέτα. |
Πεδία επικεφαλίδας |
|
|
Επιβεβαιώσεις | Χρησιμοποιεί | Δεν χρησιμοποιεί |
Εγκαθίδρυση σύνδεσης |
Απαιτούνται τρία πακέτα για εγκαθίδρυση σύνδεσης:
|
Δεν πραγματοποιείται εγκαθίδρυση σύνδεσης |
Σύγκριση πρωτοκόλλων μεταφοράς TCP και UDP
Τελευταία ενημέρωση: 26/04/2018