
Σε αυτό το άρθρο
Transmission Control Protocol και User Datagram Protocol είναι δύο πρωτόκολλα επιπέδου μεταφοράς που χρησιμοποιούνται ευρέως με το Πρωτόκολλο Διαδικτύου. Ένα πρωτόκολλο είναι ένα σύνολο διαδικασιών και κανόνων που ακολουθούν δύο υπολογιστές για να κατανοούν ο ένας τον άλλο και να ανταλλάσσουν δεδομένα. Αν και το TCP είναι το πιο συχνά χρησιμοποιούμενο πρωτόκολλο των δύο, το UDP είναι πιο χρήσιμο σε ορισμένες περιπτώσεις.
Συνολικά ευρήματα
TCP
- Εγγυάται την άφιξη των δεδομένων κατά την αποστολή.
- Σφάλμα ελέγχει ροές δεδομένων.
- Μια κεφαλίδα 20 byte επιτρέπει προαιρετικά 40 byte δεδομένων λειτουργίας.
- Πιο αργό από το UDP.
- Ιδανικό για εφαρμογές που απαιτούν αξιοπιστία.
UDP
- Δεν υπάρχει εγγύηση για την άφιξη των δεδομένων.
- Δεν παρέχεται έλεγχος σφαλμάτων.
- Μια κεφαλίδα 8 byte επιτρέπει μόνο υποχρεωτικά δεδομένα λειτουργίας.
- Ταχύτερο από το TCP.
- Ιδανικό για εφαρμογές που απαιτούν ταχύτητα.
Και τα δύο πρωτόκολλα αποστέλλουν δεδομένα μέσω Διαδικτύου σε πακέτα. Από τα δύο, το TCP είναι προσανατολισμένο στη σύνδεση. Μετά τη σύνδεση, τα δεδομένα ταξιδεύουν αμφίδρομα. Το UDP είναι ένα απλούστερο πρωτόκολλο που είναι χωρίς σύνδεση. Το TCP είναι πιο ισχυρό από το UDP. Παρέχει λειτουργίες διόρθωσης σφαλμάτων και υψηλή αξιοπιστία. Το UDP είναι ταχύτερο από το TCP, κυρίως επειδή δεν παρέχει διόρθωση σφαλμάτων. Επιπλέον, το TCP χειρίζεται τον έλεγχο ροής, ενώ το UDP δεν έχει δυνατότητα ελέγχου ροής.
Καλύτερο για αξιοπιστία: TCP
TCP
- Εγγυημένη παράδοση δεδομένων.
- Παρακολουθεί πακέτα δεδομένων.
- Ελέγχει πακέτα για σφάλματα.
- Έλεγχος ροής.
- Κεφαλίδες 20 byte με δυνατότητα επιλογής για περισσότερα.
UDP
- Χωρίς εγγύηση παράδοσης.
- Τα πακέτα μπορούν να χαθούν.
- Χωρίς έλεγχο ροής.
- Οι κεφαλίδες περιορίζονται σε 8 byte.
Το TCP εγγυάται την παράδοση δεδομένων στον δέκτη. Εάν χαθούν δεδομένα, το TCP λαμβάνει μέτρα για την ανάκτηση των χαμένων δεδομένων και τα στέλνει ξανά. Για να γίνει αυτό, το TCP παρακολουθεί πακέτα δεδομένων και ελέγχει τα πακέτα για σφάλματα. Το UDP δεν εγγυάται την παράδοση δεδομένων. Επιπλέον, τα πακέτα UDP μπορεί να χαθούν κατά τη μεταφορά ή να καταστραφούν. Τόσο το TCP όσο και το UDP χρησιμοποιούν κεφαλίδες ως μέρος της συσκευασίας των δεδομένων μηνυμάτων για μεταφορά μέσω συνδέσεων δικτύου. Επειδή το TCP είναι το πιο ισχυρό από τα δύο πρωτόκολλα, η κεφαλίδα του είναι μεγαλύτερη στα 20 byte με δυνατότητα πρόσθετων δεδομένων, ενώ οι κεφαλίδες UDP περιορίζονται σε μέγεθος 8 byte.
Καλύτερο για ταχύτητα: UDP
TCP
- Αργή επειδή εκτελεί πολλές λειτουργίες.
UDP
- Γρήγορη επειδή παρέχει περιορισμένες λειτουργίες.
Αν και το TCP είναι αξιόπιστο, είναι πιο αργό από το UDP, κυρίως επειδή εκτελεί περισσότερες λειτουργίες. Οι τελικοί χρήστες που απαιτούν την ταχύτερη δυνατή ταχύτητα, όπως παίκτες και άτομα που εργάζονται με βίντεο, επωφελούνται από το UDP.
Καλύτερο για χρήση: Εξαρτάται από τη χρήση
TCP
- Καλύτερο για web, μεταφορά αρχείων, email και ασφαλές κέλυφος.
UDP
- Καλύτερο για VPN, ροή βίντεο, VoIP, ζωντανές μεταδόσεις και διαδικτυακά παιχνίδια.
Επειδή το TCP είναι αξιόπιστο, είναι καλύτερο σε καταστάσεις που απαιτούν υψηλή αξιοπιστία αλλά δεν απαιτούν ταχύτητα, όπως το διαδίκτυο, το email και το FTP. Η ταχύτητα του UDP το καθιστά πιο κατάλληλο για διαδικτυακά παιχνίδια, ζωντανές μεταδόσεις, σήραγγες VPN και ροή βίντεο.
Μορφή κεφαλίδας TCP
Κάθε κεφαλίδα TCP έχει 10 απαιτούμενα πεδία συνολικού μεγέθους 20 byte (160 bit). Μπορεί προαιρετικά να περιλαμβάνει ένα επιπλέον πεδίο δεδομένων έως 40 byte σε μέγεθος.
- Αριθμός θύρας προέλευσης TCP (2 byte ή 16 bits): Ο αριθμός θύρας TCP προέλευσης αντιπροσωπεύει τη συσκευή αποστολής.
- Αριθμός θύρας TCP προορισμού (2 byte ή 16 bits): Ο αριθμός θύρας TCP προορισμού είναι το τελικό σημείο επικοινωνίας για τη συσκευή λήψης.
- Αριθμός ακολουθίας (4 bytes ή 32 bits): Οι αποστολείς μηνυμάτων χρησιμοποιούν αριθμούς ακολουθίας για να επισημάνουν τη σειρά μιας ομάδας μηνυμάτων.
- Αριθμός αναγνώρισης (4 bytes ή 32 bit): Και οι αποστολείς και οι παραλήπτες χρησιμοποιούν την επιβεβαίωση πεδίο αριθμών για την επικοινωνία των αριθμών ακολουθίας των μηνυμάτων που είτε λαμβάνονται πρόσφατα είτε αναμένεται να σταλούν.
- Μετατόπιση δεδομένων TCP (4 bits): Το πεδίο μετατόπισης δεδομένων αποθηκεύει το συνολικό μέγεθος μιας κεφαλίδας TCP σε πολλαπλάσια των τεσσάρων byte. Μια κεφαλίδα που δεν χρησιμοποιεί το προαιρετικό πεδίο TCP έχει μετατόπιση δεδομένων 5 (αντιπροσωπεύει 20 byte), ενώ μια κεφαλίδα που χρησιμοποιεί το προαιρετικό πεδίο μέγιστου μεγέθους έχει μετατόπιση δεδομένων 15 (αντιπροσωπεύει 60 bytes).
- Δεσμευμένα δεδομένα (3 bits): Τα δεσμευμένα δεδομένα στις κεφαλίδες TCP έχουν πάντα τιμή μηδέν. Αυτό το πεδίο ευθυγραμμίζει το συνολικό μέγεθος κεφαλίδας ως πολλαπλάσιο των τεσσάρων byte, το οποίο είναι σημαντικό για την αποτελεσματικότητα της επεξεργασίας δεδομένων υπολογιστή.
- Σημαίες ελέγχου (έως 9 bits): Το TCP χρησιμοποιεί ένα σύνολο έξι τυπικών και τριών εκτεταμένων σημαιών ελέγχου – το καθένα μεμονωμένο bit που αντιπροσωπεύει On ή Off – για τη διαχείριση της ροής δεδομένων σε συγκεκριμένες καταστάσεις.
- Μέγεθος παραθύρου (2 byte ή 16 bit): Οι αποστολείς TCP χρησιμοποιούν έναν αριθμό, που ονομάζεται μέγεθος παραθύρου, για να ρυθμίσετε πόσα δεδομένα στέλνουν σε έναν παραλήπτη πριν απαιτήσει μια απόδειξη σε αντάλλαγμα. Εάν το μέγεθος του παραθύρου είναι πολύ μικρό, η μεταφορά δεδομένων δικτύου είναι υπερβολικά αργή. Εάν το μέγεθος του παραθύρου είναι πολύ μεγάλο, η σύνδεση δικτύου μπορεί να κορεστεί ή ο δέκτης μπορεί να μην είναι σε θέση να επεξεργαστεί τα εισερχόμενα δεδομένα αρκετά γρήγορα, με αποτέλεσμα αργή απόδοση. Οι αλγόριθμοι παραθύρου ενσωματωμένοι στο πρωτόκολλο υπολογίζουν δυναμικά τις τιμές μεγέθους και χρησιμοποιήστε αυτό το πεδίο των κεφαλίδων TCP για να συντονίσετε τις αλλαγές μεταξύ αποστολέων και παραληπτών.
- TCP checksum (2 byte ή 16 bits): Η τιμή αθροίσματος ελέγχου μέσα σε μια κεφαλίδα TCP δημιουργείται από τον αποστολέα πρωτοκόλλου ως μαθηματική τεχνική για να βοηθήσει τον δέκτη να εντοπίσει μηνύματα που είναι κατεστραμμένα ή αλλοιωμένα.
- Επείγον δείκτη (2 byte ή 16 bits): Το επείγον πεδίο δείκτη συχνά ρυθμίζεται στο μηδέν και αγνοείται, αλλά σε συνδυασμό με μία από τις σημαίες ελέγχου, μπορεί να χρησιμοποιηθεί ως μετατόπιση δεδομένων για την επισήμανση ενός υποσυνόλου ενός μηνύματος που απαιτεί επεξεργασία προτεραιότητας.
- Προαιρετικά δεδομένα TCP (0 έως 40 bytes): Οι χρήσεις προαιρετικών δεδομένων TCP περιλαμβάνουν υποστήριξη για αλγόριθμους ειδικής αναγνώρισης και κλιμάκωσης παραθύρων.
Μορφή κεφαλίδας UDP
Επειδή το UDP έχει περιορισμένη ικανότητα σε σύγκριση με το TCP, οι κεφαλίδες του είναι μικρότερες. Μια κεφαλίδα UDP περιέχει 8 byte, χωρισμένα στα ακόλουθα τέσσερα απαιτούμενα πεδία:
- Αριθμός θύρας UDP πηγής (2 byte): Ο αριθμός θύρας UDP προέλευσης αντιπροσωπεύει τη συσκευή αποστολής.
- Αριθμός θύρας UDP προορισμού (2 byte): Ο αριθμός θύρας UDP προορισμού είναι το τελικό σημείο επικοινωνίας για τη συσκευή λήψης.
- Μήκος δεδομένων (2 bytes): Το πεδίο μήκους σε UDP αντιπροσωπεύει το συνολικό μέγεθος κάθε datagram, συμπεριλαμβανομένων κεφαλίδας και δεδομένων. Αυτό το πεδίο κυμαίνεται από τουλάχιστον 8 byte – το απαιτούμενο μέγεθος κεφαλίδας – έως μεγέθη άνω των 65.000 bytes.
- Έλεγχος UDP (2 bytes): Παρόμοιο με το TCP, ένα άθροισμα ελέγχου UDP επιτρέπει στους δέκτες να ελέγχουν τα εισερχόμενα δεδομένα για τυχόν κατεστραμμένα κομμάτια του μηνύματος.
Τελική ετυμηγορία
Υπάρχει λόγος ότι το TCP είναι το πρωτόκολλο που χρησιμοποιείται πιο συχνά. Είναι ανθεκτικό και αξιόπιστο και εγγυάται ότι τα δεδομένα λαμβάνονται ακριβώς όπως στάλθηκαν. Η ροή πληροφοριών που ελέγχεται από λάθη μπορεί να την επιβραδύνει ελαφρώς, αλλά στις περισσότερες περιπτώσεις, η καθυστέρηση δεν είναι μια λύση. Ο χρόνος που το UDP λάμπει φωτεινότερα από το TCP είναι όταν η ταχύτητα είναι εξαιρετικά σημαντική, όπως στη ροή βίντεο, VPN ή διαδικτυακού παιχνιδιού.