Πρωτόκολλο χρήστη Datagram

Η κατανόηση του UDP και του τρόπου που το διαφέρει από το TCP

Το User Datagram Protocol (UDP) εισήχθη το 1980 και είναι ένα από τα παλαιότερα πρωτόκολλα δικτύου που υπάρχουν. Είναι ένα απλό πρωτόκολλο στρώματος μεταφοράς OSI για εφαρμογές δικτύου πελάτη / διακομιστή, βασίζεται σε πρωτόκολλο Internet (IP) και αποτελεί την κύρια εναλλακτική λύση για το TCP .

Μια σύντομη εξήγηση του UDP μπορεί να εξηγήσει ότι είναι ένα αναξιόπιστο πρωτόκολλο σε σύγκριση με το TCP. Ενώ αυτό είναι αλήθεια, επειδή δεν υπάρχει κανένα σφάλμα ελέγχου ή διόρθωσης που εμπλέκονται σε μεταδόσεις δεδομένων, είναι επίσης αλήθεια ότι υπάρχουν σίγουρα εφαρμογές για αυτό το πρωτόκολλο ότι το TCP δεν μπορεί να ταιριάξει.

Το UDP (μερικές φορές αναφέρεται ως UDP / IP) χρησιμοποιείται συχνά σε εφαρμογές τηλεδιάσκεψης ή παιχνίδια υπολογιστών που γίνονται ειδικά για απόδοση σε πραγματικό χρόνο. Για να επιτευχθούν υψηλότερες επιδόσεις, το πρωτόκολλο επιτρέπει την απόρριψη μεμονωμένων πακέτων (χωρίς επανάληψη) και των πακέτων UDP με διαφορετική σειρά από αυτά που έχουν σταλεί, όπως υπαγορεύει η εφαρμογή.

Αυτή η μέθοδος μετάδοσης, σε σύγκριση με το TCP, επιτρέπει λιγότερα γενικά έξοδα και καθυστερήσεις. Δεδομένου ότι τα πακέτα αποστέλλονται ανεξάρτητα από το τι, και δεν υπάρχει κανένας έλεγχος σφάλματος που εμπλέκεται, οδηγεί στη χρήση λιγότερου εύρους ζώνης .

Είναι το UDP καλύτερο από το TCP;

Η απάντηση σε αυτή την ερώτηση εξαρτάται από το πλαίσιο, δεδομένου ότι το UDP επιτρέπει την καλύτερη απόδοση, αλλά ενδεχομένως χειρότερη ποιότητα, από το TCP.

Ένα καλό παράδειγμα του πότε μπορεί να προτιμάται το UDP έναντι του TCP είναι όταν πρόκειται για μια εφαρμογή που λειτουργεί καλύτερα με λιγότερη καθυστέρηση , όπως το online gaming, η συνομιλία μέσω βίντεο ή η μετάδοση φωνής. Τα πακέτα μπορεί να χαθούν, αλλά με λιγότερες συνολικές καθυστερήσεις για την εξασθένιση της ποιότητας, δεν γίνεται αντιληπτή πραγματικά μεγάλη απώλεια ποιότητας.

Με το online gaming, η κυκλοφορία UDP επιτρέπει το παιχνίδι να συνεχιστεί ακόμα και αν η σύνδεση χάσει στιγμιαία ή εάν κάποια πακέτα πέσουν για οποιοδήποτε λόγο. Εάν υπήρχε διόρθωση σφάλματος, η σύνδεση θα υποστεί απώλεια χρόνου, αφού τα πακέτα προσπαθούν να επανέλθουν εκεί που έφυγαν για να αντισταθμίσουν τα λάθη, αλλά αυτό είναι περιττό στα ζωντανά βιντεοπαιχνίδια. Το ίδιο ισχύει και με τη ζωντανή ροή.

Ωστόσο, ο λόγος UDP δεν είναι τόσο μεγάλος όταν πρόκειται για μεταφορές αρχείων είναι ότι χρειάζεστε ολόκληρο το αρχείο για να το χρησιμοποιήσετε σωστά. Ωστόσο, δεν χρειάζεστε κανένα πακέτο βιντεοπαιχνιδιών ή βίντεο για να το απολαύσετε.

Τόσο το TCP όσο και το UDP στο επίπεδο 4 του μοντέλου OSI και λειτουργούν με υπηρεσίες όπως το TFTP , το RTSP και το DNS .

UDP Datagrams

Η κυκλοφορία του UDP λειτουργεί μέσω των λεγόμενων datagrams, με κάθε datagram που αποτελείται από μια ενιαία μονάδα μηνύματος. Οι λεπτομέρειες της κεφαλίδας αποθηκεύονται στα πρώτα οκτώ byte, αλλά τα υπόλοιπα είναι αυτά που περιέχουν το πραγματικό μήνυμα.

Κάθε τμήμα μιας κεφαλίδας πακέτου δεδομένων UDP, που παρατίθεται εδώ, είναι δύο byte :

Οι αριθμοί θυρών UDP επιτρέπουν σε διαφορετικές εφαρμογές να διατηρούν τα δικά τους κανάλια για δεδομένα, παρόμοια με το TCP. Οι επικεφαλίδες θύρας UDP έχουν μήκος δύο bytes. Επομένως, οι έγκυροι αριθμοί θύρας UDP κυμαίνονται από 0 έως 65535.

Το μέγεθος του πακέτου δεδομένων UDP είναι μια μέτρηση του συνολικού αριθμού δυφίων που περιέχονται στις ενότητες κεφαλίδας και δεδομένων. Δεδομένου ότι το μήκος κεφαλίδας είναι σταθερό μέγεθος, αυτό το πεδίο παρακολουθεί αποτελεσματικά το μήκος του τμήματος δεδομένων μεταβλητού μεγέθους (μερικές φορές ονομάζεται ωφέλιμο φορτίο).

Το μέγεθος των datagrams ποικίλλει ανάλογα με το περιβάλλον λειτουργίας, αλλά έχει μέγιστο 65535 byte.

Τα αθροίσματα ελέγχου UDP προστατεύουν τα δεδομένα των μηνυμάτων από παραβίαση. Η τιμή του αθροίσματος ελέγχου αντιπροσωπεύει μια κωδικοποίηση των δεδομένων δεδομένου που υπολογίζεται πρώτα από τον αποστολέα και αργότερα από τον δέκτη. Σε περίπτωση που ένα μεμονωμένο datagram έχει αλλοιωθεί ή καταστραφεί κατά τη διάρκεια της μετάδοσης, το πρωτόκολλο UDP ανιχνεύει μια ασυμμετρία υπολογισμού του αθροίσματος ελέγχου.

Στο UDP, η αθροιστική έλεγχος είναι προαιρετική, σε αντίθεση με το TCP, όπου τα υποχρεωτικά αθροίσματα ελέγχου είναι υποχρεωτικά.