Μεταπήδηση στο περιεχόμενο
  • Εγγραφείτε
Σύνδεση  
Lifehacker

Επίπεδο Μεταφοράς (Πρωτόκολλα TCP και UDP)

Recommended Posts

tcp&udp.png

 

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

Το πρωτόκολλο TCP

Το TCP (Transmission Control Protocol) είναι το ένα από τα δυο πρωτόκολλα επιπέδου μεταφοράς που μεταφέρουν μηνύματα επιπέδου εφαρμογής. Το TCP παρέχει προς τις εφορμογές μια συνδεσμική υπηρεσία (connection oriented) επιλύωντας ένα από τα πλέον σημαντικά ζητήματα της μεταγωγής πακέτου. Τα πακέτα του επιπέδου μεταφοράς έχει επικρατήσει να αποκαλούνται τμήματα (segments). Ανάμεσα στις υπηρεσίες που παρέχει το TCP είναι:

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

Πριν ξεκινήσει η ανταλλαγή μηνυμάτων μέσω TCP είναι απαραίτητη η εγκαθίδρυση της σύνδεσης μέσω μιας ειδικής διαδικασίας που ονομάζεται χειραψία (TCP handshake) που καθορίζεται από το πρωτόκολλο και εκτελείται από τα τερματικά. Υπενθυμίζεται πως το TCP σαν πρωτόκολλο επιπέδου μεταφοράς εκτελείται μόνο στα τερματικά, δηλαδή οι ενδιάμεσοι κόμβοι του δικτύου χειρίζονται τα δεδομενογράμματα IP χωρίς να το λαμβάνουν υπόψιν.
 

Το πρωτόκολλο UDP

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

Γιατί όμως να επιλέξει κάποιος για την εφαρμογή του το πρωτόκολλο UDP αφού δεν παρέχει όλες τις χρήσιμες υπηρεσίες του TCP;
Οι κυριότεροι λόγοι είναι:

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

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

Σύνδεσμοι:

http://el.wikipedia.org/wiki/Transmission_Control_Protocol
http://el.wikipedia.org/wiki/UDP

Κοινή χρήση αυτής της δημοσίευσης


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Απαντήστε σε αυτό το θέμα...

×   Επικολλήστε ως πλούσιο κείμενο (με μορφοποίηση).   Επικολλήστε ως απλό κείμενο

  Only 75 emoji are allowed.

×   Ο σύνδεσμός σας έχει ενσωματωθεί αυτόματα.   Εμφάνιση ως σύνδεσμος

×   Το προηγούμενο περιεχόμενό σας έχει αποκατασταθεί.   Καθαρισμός επεξεργαστή

×   You cannot paste images directly. Upload or insert images from URL.

Σύνδεση  

×
×
  • Δημιουργία νέας...

Σημαντική πληροφορία

Η ιστοσελίδα Lifehack.gr χρησιμοποιεί cookies. Προχωρώντας στο περιεχόμενο, συναινείτε με την αποδοχή τους. Περισσότερα: Πολιτική Απορρήτου