Jump to content
Sign in to follow this  
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

Share this post


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
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Sign in to follow this  

×
×
  • Create New...

Important Information

This page uses cookies to confirm that you will have the best user experience. More Privacy Policy