TCP vs UDP: Διαφορές και χρήση

Δείτε σε αυτό το άρθρο τί ακριβώς αντιπροσωπεύουν οι συντομογραφίες TCP και UDP, και ποιες είναι οι διαφορές τους.

tcp vs udp

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

Όμως σίγουρα έχετε βρεθεί μπροστά τους, όπως για παράδειγμα με στους κανόνες εισερχομένων και εξερχομένων του Windows Defender, ή στις ρυθμίσεις port-mapping του router σας.

tcp vs udp windows defender

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

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

Τι είναι ένα Πρωτόκολλο;

handshake hands protocol

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

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

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

Βουτιά στα Ελληνικά μας: Μην συγχέετε το πρωτόκολλο με το πρότυπο. Και τα δύο είναι συμφωνημένοι κανόνες μεταξύ ανθρώπων, αλλά με τον όρο πρότυπο (standard) αναφερόμαστε σε ένα σύνολο από πρωτόκολλα που εκδίδονται από ένα οργανισμό τυποποίησης και περιγράφουν μια τεχνολογία δικτύων. Με την λέξη πρότυπο εννοούμε και την τυποποίηση σε επίπεδο hardware. Τέλος η βουτιά.

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

Για παράδειγμα, το Πρωτόκολλο Διαδικτύου (IP – Internet Protocol) λειτουργεί στο επίπεδο δικτύου και ορίζει το σχήμα διευθύνσεων και τους μηχανισμούς δρομολόγησης, ενώ το πρωτόκολλο TCP (Transmission Control Protocol) λειτουργεί στο επίπεδο μεταφοράς και παρέχει αξιόπιστη, προσανατολισμένη στη σύνδεση, παράδοση δεδομένων.

Πως λειτουργεί το διαδίκτυο

protocol,tcp,udp,internet,επικοινωνία,διαδίκτυο,πρωτόκολλο

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

Όλη τη διαδικασία, από την κατασκευή των πακέτων, την αποστολή τους, την λήψη τους και την αναγνώρισή τους, διέπεται από κανόνες ή αλλιώς πρωτόκολλα επικοινωνίας. Και όχι μόνο αυτά, αλλά και όλες οι διεργασίες που απαιτούνται για την σωστή επικοινωνία από τον ένα υπολογιστή στον άλλο, όπως το πρωτόκολλο διαδικτύου (ΙΡ), η κρυπτογράφηση, το dns κλπ.

Γενικότερα, θα λέγαμε ότι η επικοινωνία του διαδικτύου (ή ενός δικτύου) ταξινομείται σε layers (στρώματα, επίπεδα) που το κάθε ένα είναι για συγκεκριμένες λειτουργίες. Το πιο κοινό μοντέλο με  layers είναι το OSI, γνωστό και ως μοντέλο των επτά επιπέδων και αποτελείται από τα ακόλουθα επίπεδα:

  1. Φυσικό επίπεδο (κάρτες δικτύου, καλώδια, bus adapters κλπ)
  2. Επίπεδο ζεύξης δεδομένων (πρωτόκολλα ethernet, 802.11, mac address, κλπ)
  3. Επίπεδο δικτύου (IPs, routers κλπ)
  4. Επίπεδο μεταφοράς (πρωτόκολλα TCP, UDP, SCTP κλπ)
  5. Επίπεδο συνόδου (FDX, HDX, checkpoint, termination, restart κλπ)
  6. Επίπεδο παρουσίασης (κρυπτογράφηση, συμπίεση, κωδικοποίηση MIME, κλπ)
  7. Επίπεδο εφαρμογών (Telnet, FTP, SMTP και http)

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

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

Διαβάστε: Πως λειτουργεί το διαδίκτυο.

TCP — Transmission Control Protocol

tcp ip protocol

Το TCP είναι ένα από τα βασικά πρωτόκολλα του επιπέδου μεταφοράς. Το TCP παρέχει αξιόπιστη, προσανατολισμένη στη σύνδεση, επικοινωνία μεταξύ συσκευών μέσω δικτύων που βασίζονται σε IP.

Ας υποθέσουμε ότι θέλετε να κάνετε λήψη ενός αρχείου από έναν διακομιστή web χρησιμοποιώντας το TCP. Ακολουθεί μια εξήγηση βήμα προς βήμα για το πώς θα συμβεί η επικοινωνία TCP:

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

2. Τμηματοποίηση δεδομένων:
— Το αρχείο που θέλετε να λάβετε χωρίζεται σε μικρότερα τμήματα ή πακέτα. Ας υποθέσουμε ότι το αρχείο χωρίζεται σε 10 πακέτα με ετικέτα από το 1 έως το 10.

3. Αξιόπιστη παράδοση:
Η αξιοπιστία επιτυγχάνεται όταν ο αποστολέας εντοπίζει χαμένα δεδομένα και τα αναμεταδίδει. Σε όλη τη διαδικασία, το TCP χρησιμοποιεί αθροίσματα ελέγχου για να εντοπίσει τυχόν σφάλματα στη μετάδοση πακέτων. Εάν εντοπιστούν σφάλματα, το TCP ζητά την αναμετάδοση αυτών των πακέτων.
— Ο πελάτης αρχίζει να στέλνει τα πακέτα στον διακομιστή.
— Για κάθε πακέτο που αποστέλλεται, ο πελάτης περιμένει μια επιβεβαίωση ( ACK ) από τον διακομιστή.
— Με τη λήψη κάθε πακέτου, ο διακομιστής στέλνει ένα ACK στον πελάτη για να επιβεβαιώσει την επιτυχή παραλαβή.
— Εάν ο πελάτης δεν λάβει ACK εντός συγκεκριμένου χρονικού πλαισίου, ο διακομιστής μεταδίδει εκ νέου το πακέτο.

4. Έλεγχος ροής:
Είναι ένας αναγκαίος μηχανισμός σε ένα περιβάλλον όπου επικοινωνούν μηχανές διαφορετικών ταχυτήτων δικτύου. Για παράδειγμα, εάν ένας υπολογιστής στέλνει δεδομένα σε ένα smartphone που επεξεργάζεται αργά τα ληφθέντα δεδομένα, το smartphone πρέπει να μπορεί να ρυθμίζει τη ροή δεδομένων ώστε να μην κατακλύζεται με αυτά.
— Στην αρχή κάθε σύνδεσης, ο πελάτης ειδοποιεί τον διακομιστή σχετικά με την ποσότητα των δεδομένων που μπορεί να αποθηκεύσει στην προσωρινή μνήμη.
— Ο διακομιστής προσαρμόζει τον ρυθμό μετάδοσης πακέτων ώστε να ταιριάζει με τον διαθέσιμο χώρο προσωρινής αποθήκευσης του πελάτη.

5. Τερματισμός σύνδεσης:
— Μόλις ληφθούν επιτυχώς όλα τα πακέτα, ο πελάτης και ο διακομιστής ξεκινούν μια διαδικασία τερματισμού σύνδεσης.
— Ανταλλάσσουν μηνύματα για να εξασφαλίσουν την ολοκλήρωση της μεταφοράς δεδομένων και συμφωνούν να κλείσουν τη σύνδεση.
— Η τέταρτη χειραψία ολοκληρώνει την επικοινωνία.

TCP – Υπέρ και Κατά

protocol,tcp,udp,internet,επικοινωνία,διαδίκτυο,πρωτόκολλο

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

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

Σταθερότητα: Το TCP ενσωματώνει μηχανισμούς ελέγχου συμφόρησης για τη διαχείριση και την πρόληψη της συμφόρησης δικτύου. Ο πρωταρχικός στόχος του ελέγχου συμφόρησης του TCP είναι να διασφαλίσει ότι το δίκτυο δεν κατακλύζεται με περισσότερα δεδομένα από αυτά που μπορεί να διαχειριστεί, διατηρώντας έτσι τη σταθερότητα.

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

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

UDP — User Datagram Protocol

udp protocol

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

Ας υποθέσουμε ότι θέλετε να στείλετε ένα μήνυμα από μια συσκευή (αποστολέα) σε μια άλλη συσκευή (δέκτη) χρησιμοποιώντας UDP. Ακολουθεί μια εξήγηση βήμα προς βήμα για το πώς θα συμβεί η επικοινωνία UDP:

1. Προετοιμασία αποστολέα:
— Ο αποστολέας προετοιμάζει το μήνυμα που θα σταλεί.
— Ο αποστολέας καθορίζει τη διεύθυνση IP και τον αριθμό θύρας του παραλήπτη για να διασφαλίσει ότι το μήνυμα φθάνει στον επιδιωκόμενο προορισμό.

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

3. Μετάδοση πακέτων:
— Ο αποστολέας μεταδίδει το πακέτο UDP που περιέχει το μήνυμα μέσω του δικτύου, χωρίς να γίνει χειραψία.
— Το UDP δεν δημιουργεί σύνδεση πριν από την αποστολή του πακέτου, επομένως μπορεί να σταλεί απευθείας στον δέκτη χωρίς προηγούμενο συγχρονισμό.

4. Υποδοχή δέκτη:
— Ο δέκτης ακούει τα εισερχόμενα πακέτα UDP στην καθορισμένη θύρα του.
— Όταν φτάσει το πακέτο UDP, ο δέκτης εξάγει το μήνυμα από το πακέτο.
— Ο δέκτης χρησιμοποιεί τον αριθμό θύρας προέλευσης για να αναγνωρίσει τον αποστολέα του μηνύματος.

5. Επεξεργασία μηνυμάτων:
— Ο παραλήπτης επεξεργάζεται το μήνυμα με βάση τις απαιτήσεις της εφαρμογής του.
— Το UDP δεν εγγυάται τη σειρά παράδοσης των πακέτων ή την αξιοπιστία, επομένως ο παραλήπτης χειρίζεται κάθε απαραίτητο εντοπισμό σφαλμάτων ή αναδιάταξης στο επίπεδο εφαρμογής.

UDP – Υπέρ και Κατά

protocol,tcp,udp,internet,επικοινωνία,διαδίκτυο,πρωτόκολλο

Επικοινωνία χωρίς σύνδεση: Το UDP είναι ένα πρωτόκολλο χωρίς πρότερη σύνδεση, που σημαίνει ότι δεν δημιουργεί μια αποκλειστική σύνδεση πριν από τη μετάδοση δεδομένων. Επιτρέπει την αποστολή μεμονωμένων πακέτων (datagrams) από την πηγή στον προορισμό, χωρίς προηγούμενο συγχρονισμό ή διαπραγμάτευση.

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

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

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

Ποιο είναι καλύτερο;

matrix port door

Δεν υπάρχει καλύτερο και χειρότερο. Κάθε ένα έχει υπέρ και κατά και γιαυτό έχει και κατασκευαστεί για ένα σκοπό.

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

Χρησιμοποιείται συνήθως σε εφαρμογές όπως αναζητήσεις DNS (System Name Domain), κλήσεις VoIP (Voice over IP), ροή βίντεο, διαδικτυακά παιχνίδια και άλλες περιπτώσεις όπου η έγκαιρη παράδοση είναι πιο σημαντική από την αξιοπιστία.

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

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

Έτσι λοιπόν την επόμενη φορά που θα θελήσετε α κάνετε μία αλλαγή στο port-marring του router σας δεν θα αναρωτηθείτε τι είναι αυτά τα TCP και UDP.

tcp vs udp port mapping router

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

Όπως για παράδειγμα αν θέλετε να αλλάξετε θύρα στο Remote Desktop των Windows.

iGuRu.gr The Best Technology Site in Greeceggns

Get the best viral stories straight into your inbox!















Written by Δημήτρης

O Δημήτρης μισεί τις Δευτέρες.....

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).