UDP: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μ Ρομπότ: Προσθήκη: et:UDP
μ Ρομπότ: Τροποποίηση: et:Kasutajadatagrammi protokoll; διακοσμητικές αλλαγές
Γραμμή 2:
Το πρωτόκολλο '''User Datagram Protocol (UDP)''' είναι ένα από τα βασικά πρωτόκολλα που χρησιμοποιούνται στο [[Διαδίκτυο]]. Μία εναλλακτική ονομασία του πρωτοκόλλου είναι '''Universal Datagram Protocol'''. Διάφορα προγράμματα χρησιμοποιούν το πρωτόκολλο UDP για την αποστολή σύντομων μηνυμάτων (γνωστών και ως datagrams) από τον έναν υπολογιστή στον άλλον μέσα σε ένα [[δίκτυο υπολογιστών]].
 
Ένα από τα κύρια χαρακτηριστικά του UDP είναι ότι δεν εγγυάται αξιόπιστη [[επικοινωνία]]. Τα πακέτα UDP που αποστέλλονται από έναν [[Ηλεκτρονικός Υπολογιστής|υπολογιστή]] μπορεί να φτάσουν στον παραλήπτη με λάθος σειρά, διπλά ή να μην φτάσουν καθόλου εάν το δίκτυο έχει μεγάλο φόρτο. Αντιθέτως, το πρωτόκολλο [[TCP]] διαθέτει όλους τους απαραίτητους μηχανισμούς ελέγχου και επιβολής της αξιοπιστίας και συνεπώς μπορεί να εγγυηθεί την αξιόπιστη επικοινωνία μεταξύ των υπολογιστών. Η έλλειψη των μηχανισμών αυτών από το πρωτόκολλο UDP το καθιστά αρκετά πιο γρήγορο και αποτελεσματικό, τουλάχιστον για τις εφαρμογές εκείνες που δεν απαιτούν αξιόπιστη επικοινωνία.
 
Οι εφαρμογές audio και video streaming χρησιμοποιούν κατά κόρον πακέτα UDP. Για τις εφαρμογές αυτές είναι πολύ σημαντικό τα πακέτα να παραδοθούν στον παραλήπτη σε σύντομο χρονικό διάστημα ούτως ώστε να μην υπάρχει διακοπή στην ροή του ήχου ή της εικόνας. Κατά συνέπεια προτιμάται το πρωτόκολλο UDP διότι είναι αρκετά γρήγορο, παρόλο που υπάρχει η πιθανότητα μερικά πακέτα UDP να χαθούν. Στην περίπτωση που χαθεί κάποιο πακέτο, οι εφαρμογές αυτές διαθέτουν ειδικούς μηχανισμούς διόρθωσης και παρεμβολής ούτως ώστε ο τελικός χρήστης να μην παρατηρεί καμία αλλοίωση ή διακοπή στην ροή του ήχου και της εικόνας λόγω του χαμένου πακέτου. Σε αντίθεση με το πρωτόκολλο TCP, το UDP υποστηρίζει broadcasting, δηλαδή την αποστολή ενός πακέτου σε όλους τους υπολογιστές ενός δικτύου, και multicasting, δηλαδή την αποστολή ενός πακέτου σε κάποιους συγκεκριμένους υπολογιστές ενός δικτύου. Η τελευταία δυνατότητα χρησιμοποιείται πολύ συχνά στις εφαρμογές audio και video streaming ούτως ώστε μία ροή ήχου ή εικόνας να μεταδίδεται ταυτόχρονα σε πολλούς συνδρομητές.
Γραμμή 9:
 
== Δομή UDP πακέτου ==
Η δομή ενός πακέτου UDP περιγράφεται αναλυτικά στο αντίστοιχο πρότυπο IETF [[http://tools.ietf.org/html/rfc768 RFC 768]]. Στην σουίτα πρωτοκόλλων του Διαδικτύου, το UDP βρίσκεται ανάμεσα στο επίπεδο δικτύου (network layer) και στο επίπεδο συνόδου (session layer) ή εφαρμογών (application layer).
 
Κάθε πακέτο UDP έχει μία κεφαλίδα (header) που αναφέρει τα χαρακτηριστικά του. Η κεφαλίδα περιλαμβάνει μονάχα 4 πεδία, τα οποία είναι πολύ λίγα εάν συγκριθούν με άλλα πρωτόκολλα, όπως το TCP. Δύο από τα τέσσερα πεδία είναι προαιρετικά (φαίνονται χρωματισμένα με ροζ).
Γραμμή 33:
Ακολουθεί μία συνοπτική εξήγηση των πεδίων:
 
; Source port : Η πόρτα του αποστολέα από την οποία προήλθε το πακέτο. Εάν ο παραλήπτης επιθυμεί να στείλει κάποια απάντηση, θα πρέπει να την στείλει στην πόρτα αυτήν. Το συγκεκριμένο πεδίο δεν είναι υποχρεωτικό και στις περιπτώσεις που δεν χρησιμοποιείται θα πρέπει να έχει την τιμή μηδέν.
 
; Destination port : Η πόρτα του παραλήπτη στην οποία θα πρέπει να παραδοθεί το πακέτο.
 
; Length : Το πεδίο αυτό έχει μέγεθος 16-[[bit]] και περιλαμβάνει το μέγεθος του πακέτου σε [[byte|bytes]]s. Το μικρότερο δυνατό μέγεθος είναι 8 bytes, αφού η κεφαλίδα αυτή καθ' αυτή καταλαμβάνει τόσο χώρο. Θεωρητικά, το μέγεθος του UDP πακέτου δεν μπορεί να ξεπερνάει τα 65,527 bytes, αλλά πρακτικά το όριο μειώνεται στα 65,507 bytes λόγω διαφόρων περιορισμών που εισάγει το πρωτόκολλο IPv4 στο επίπεδο δικτύου.
 
; Checksum : Ένα πεδίο 16-bit το οποίο χρησιμοποιείται για επαλήθευση της ορθότητας του πακέτου στο σύνολό του, δηλαδή τόσο της κεφαλίδας όσο και των δεδομένων.
 
Στην συνέχεια το πακέτο UDP περνάει στο επίπεδο δικτύου, το οποίο αναλαμβάνει να το μεταδώσει στο δίκτυο υπολογιστών. Το επίπεδο αυτό τοποθετεί μία ακόμη κεφαλίδα στο πακέτο, η οποία διαφέρει ανάλογα με την έκδοση του πρωτοκόλλου που χρησιμοποιείται στο επίπεδο δικτύου (IPv4 ή IPv6).
Γραμμή 144:
 
== Εφαρμογές ==
Όπως αναφέρθηκε και προηγουμένως, οι εφαρμογές που χρησιμοποιούν το πρωτόκολλο UDP θα πρέπει να μπορούν να δεχτούν κάποια απώλεια πακετων ή διάφορα σφάλματα στα πακέτα τα οποία στέλνουν. Μερικές εφαρμογές, όπως για παράδειγμα το [[TFTP|Trivial File Transfer Protocol (TFTP) ]] υλοποιούν δικούς τους μηχανισμούς διασφάλισης της αξιοπιστίας της επικοινωνίας. Πάντως, τις περισσότερες φορές οι εφαρμογές που χρησιμοποιούν το UDP δεν επιβάλλουν επιπρόσθετους μηχανισμούς αξιοπιστίας διότι θα παρεμποδίζονται από αυτούς και χειροτερεύει η απόδοσή τους. Κλασικό παράδειγμα τέτοιων προγραμμάτων είναι οι εφαρμογές πραγματικού χρόνου (πχ. media streaming, παιχνίδια στο διαδίκτυο, [[VoIP]] κτλ). Στην περίπτωση πάντως που μία εφαρμογή χρειάζεται αξιόπιστη μετάδοση δεδομένων, δηλαδή η πλειοψηφία των εφαρμογών του διαδικτύου, θα προτιμήσει να χρησιμοποιήσει το πρωτόκολλο [[TCP]] αντί του UDP.
 
Σε ένα τυπικό δίκτυο υπολογιστών, η κίνηση που προέρχεται από την μετάδοση UDP πακέτων ανέρχεται σε ένα αρκετά μικρό ποσοστό. Παρόλα αυτά όμως, το πρωτόκολλο αυτό το χρησιμοποιούν πολύ σημαντικές εφαρμογές, στην σωστή λειτουργία των οποίων βασίζεται το διαδίκτυο. Τέτοιες εφαρμογές είναι για παράδειγμα οι εξής: Domain Name System ([[DNS]]), Simple Network Management Protocol ([[SNMP]]), Dynamic Host Configuration Protocol ([[DHCP]]) και το Routing Information Protocol ([[RIP]])
Γραμμή 160:
* '''Datagrams''' - Κάθε πακέτο UDP ονομάζεται επίσης και "datagram", θεωρείται δε ως μεμονωμένη οντότητα που θα πρέπει να μεταδοθεί ολόκληρη. Κατά συνέπεια δεν υφίσταται η έννοια της διοχέτευσης πακέτων μέσα σε ένα κανάλι/σύνδεση.
 
== Δείτε επίσης ==
* [[TCP]]
* [[TFTP]]
Γραμμή 182:
[[eo:UDP]]
[[es:User Datagram Protocol]]
[[et:Kasutajadatagrammi protokoll]]
[[et:UDP]]
[[eu:User Datagram Protocol]]
[[fa:قرارداد داده‌نگار کاربر]]
Ανακτήθηκε από "https://el.wikipedia.org/wiki/UDP"