Διαφορά μεταξύ των πρωτοκόλλων tcp και udp. Διαφορά μεταξύ πρωτοκόλλων TCP και UDP. Αναζήτηση πληροφοριών χρήστη

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

Τι σημαίνουν TCP και UDP;

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

UDP– ένα πρωτόκολλο μεταφοράς που μεταδίδει μηνύματα datagram χωρίς την ανάγκη δημιουργίας σύνδεσης σε δίκτυο IP.

Επιτρέψτε μου να σας υπενθυμίσω ότι και τα δύο πρωτόκολλα λειτουργούν στο επίπεδο μεταφοράς του μοντέλου OSI ή TCP/IP και είναι πολύ σημαντικό να κατανοήσουμε πώς διαφέρουν.

Διαφορά μεταξύ πρωτοκόλλων TCP και UDP

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

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

Ας δούμε τις κύριες διαφορές μεταξύ tcp και udp.

  1. Το TCP εγγυάται την παράδοση των πακέτων δεδομένων σε αμετάβλητη μορφή, ακολουθία και χωρίς απώλεια, το UDP δεν εγγυάται τίποτα.
  2. Το TCP αριθμεί τα πακέτα καθώς μεταδίδονται, αλλά το UDP όχι.
  3. Το TCP λειτουργεί λειτουργία διπλής όψης, σε ένα πακέτο μπορείτε να στείλετε πληροφορίες και να επιβεβαιώσετε την παραλαβή του προηγούμενου πακέτου.
  4. Το TCP απαιτεί εκ των προτέρων εδραιωμένη σύνδεση, το UDP δεν απαιτεί σύνδεση, είναι απλώς μια ροή δεδομένων.
  5. Το UDP παρέχει περισσότερα υψηλή ταχύτηταμεταφορά δεδομένων.
  6. Το TCP είναι πιο αξιόπιστο και ελέγχει τη διαδικασία ανταλλαγής δεδομένων.
  7. Το UDP προτιμάται για προγράμματα που παίζουν ροή βίντεο, βιντεοφωνία και τηλεφωνία, παιχνίδια δικτύου.
  8. Το UPD δεν περιέχει λειτουργίες ανάκτησης δεδομένων

Παραδείγματα εφαρμογών UDP περιλαμβάνουν, για παράδειγμα, τη μεταφορά ζωνών DNS, Active Directory, δεν υπάρχει απαίτηση για αξιοπιστία. Πολύ συχνά τους αρέσει να κάνουν τέτοιες ερωτήσεις κατά τη διάρκεια συνεντεύξεων, επομένως είναι πολύ σημαντικό να γνωρίζουμε τις διαφορές μεταξύ tcp και udp.

Επικεφαλίδες TCP και UDP

Ας δούμε πώς μοιάζουν οι κεφαλίδες των δύο πρωτοκόλλων μεταφοράς, αφού και εδώ οι διαφορές είναι θεμελιώδεις.

Κεφαλίδα UDP

  • Θύρα πηγής 16 bit > Ο καθορισμός της θύρας πηγής για το UDP είναι προαιρετικός. Εάν χρησιμοποιείται αυτό το πεδίο, ο παραλήπτης μπορεί να στείλει μια απάντηση σε αυτήν τη θύρα.
  • Θύρα προορισμού 16 bit > Αριθμός θύρας προορισμού
  • Μήκος UDP 16-bit > Μήκος του μηνύματος, συμπεριλαμβανομένης της κεφαλίδας και των δεδομένων.
  • Άθροισμα ελέγχου 16 bit > Άθροισμα ελέγχουκεφαλίδα και δεδομένα προς έλεγχο

Επικεφαλίδα TCP

  • Θύρα πηγής 16 bit > Αριθμός θύρας πηγής
  • Θύρα προορισμού 16 bit > Αριθμός θύρας προορισμού
  • 32 bit αύξων αριθμός> Ο αριθμός σειράς δημιουργείται από την πηγή και χρησιμοποιείται από τον προορισμό για την αναδιάταξη των πακέτων για τη δημιουργία του αρχικού μηνύματος και την αποστολή επιβεβαίωσης στην πηγή.
  • Αριθμός επιβεβαίωσης 32 bit > Εάν έχει οριστεί το bit ACK του πεδίου Ελέγχου, αυτό το πεδίο περιέχει τον επόμενο αναμενόμενο αριθμό ακολουθίας.
  • Μήκος κεφαλίδας 4 bit > Πληροφορίες σχετικά με την έναρξη του πακέτου δεδομένων.
  • κράτηση > Με κράτηση για μελλοντική χρήση.
  • Άθροισμα ελέγχου 16 bit > Άθροισμα ελέγχου κεφαλίδων και δεδομένων. καθορίζει εάν το πακέτο ήταν κατεστραμμένο.
  • Ένδειξη επείγουσας ανάγκης 16 bit > Σε αυτό το πεδίο συσκευή στόχουλαμβάνει πληροφορίες σχετικά με τον επείγοντα χαρακτήρα των δεδομένων.
  • Επιλογές > Προαιρετικές τιμές που μπορούν να καθοριστούν όπως απαιτείται.

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

Με μέγεθος παραθύρου 3, ο αποστολέας στέλνει ήδη 3 καρέ και περιμένει από το 4, πράγμα που σημαίνει ότι έχει και τα τρία καρέ, +1.

Ελπίζω να έχετε τώρα μια ιδέα για τις διαφορές μεταξύ των πρωτοκόλλων tcp και udp.

Όλες οι ανταλλαγές διεργασιών δικτύου που πραγματοποιούνται σε υπολογιστές περιγράφονται από τα γενικά αποδεκτά Σύστημα OSI. Μοντέλο OSIπεριλαμβάνει επτά επίπεδα αλληλεπίδρασης διαδικασίας:

  1. Φυσικός. Μέσο διάδοσης σήματος (καλωδιακά ή ραδιοφωνικά σήματα).
  2. Αγωγός. Υποδεικνύει μια μορφή δεδομένων όπου οι πληροφορίες μετατρέπονται σε πλαίσια και διέπονται από το κοινό πρωτόκολλο Ethernet.
  3. Δίκτυο. Ορίζει μεθόδους δρομολόγησης.
  4. Μεταφορά. Μεταδίδει δεδομένα μέσω πρωτοκόλλων TCP, UDP, κ.λπ.
  5. Συνεδριακός. Παρέχει υποστήριξη κατά τη διάρκεια μιας συνεδρίας επικοινωνίας.
  6. Εκτελεστικός. Προετοιμάζει δεδομένα για επακόλουθη μετάδοση μέσω του δικτύου (μετατροπή, αποσυμπίεση, αποκρυπτογράφηση).
  7. Εφαρμοσμένος. Ελέγχει την αλληλεπίδραση των διαφόρων προσαρμοσμένες εφαρμογέςμε υπηρεσίες δικτύου.

Για να μεταφέρετε δεδομένα μεταξύ δύο συσκευών στο διάφορα δίκτυαΤο Διαδίκτυο χρησιμοποιεί τη σουίτα πρωτοκόλλων TCP/IP. Η μεταφορά δεδομένων στη στοίβα TCP/IP μπορεί να πραγματοποιηθεί με διάφορα πρωτόκολλα, συμπεριλαμβανομένων των TCP και UDP.

Χαρακτηριστικά TCP

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

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

Χαρακτηριστικό UDP

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

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

Θεμελιώδεις διαφορές μεταξύ TCP και UDP

Λειτουργίες UDP TCP
Διαδικασία ρύθμισης σύνδεσης Δεν απαιτείται Υποχρεωτική διαδικασία τριών βημάτων για την έναρξη μιας συνεδρίας επικοινωνίας
Εγγυημένη ανταλλαγή κίνησης Τα πακέτα μπορεί να χαθούν Η αναγνώριση και η αναμετάδοση εξαλείφουν την απώλεια δεδομένων
Τήρηση της σειράς παράδοσης μηνυμάτων Μη διατεταγμένα datagrams Αυστηρή σειρά των προωθούμενων πακέτων
Έλεγχος και διαχείριση ροής Η μετάδοση των πακέτων δεδομένων δεν ελέγχεται Παρακολουθεί και διαχειρίζεται τη ροή δεδομένων
Ειδοποιεί για υπερφόρτωση Δεν προστατεύεται από υπερφόρτωση Ειδοποιεί για υπερφόρτωση
Διατηρεί τα όρια των μεταδιδόμενων μηνυμάτων Διατηρεί πάντα τα όρια των προωθούμενων γραμμάτων δεδομένων Δεν διατηρεί τα όρια των προωθούμενων μηνυμάτων, αλλά εγγυάται την ακεραιότητά τους
Τμηματοποίηση και συναρμολόγηση πακέτων πληροφοριών Οχι Υποστηρίζεται
Αλληλεπιδράσεις με μισάνοιχτες συνδέσεις Ο επανασυγχρονισμός δεν πραγματοποιείται Η σύνδεση γίνεται μέσω επανασυγχρονισμού
Έλεγχος προσβασιμότητας Οχι Ναί

Πρωτόκολλο UDP

Πρωτόκολλο User Datagram (UDP)είναι ένα απλό πρωτόκολλο χωρίς σύνδεση, προσανατολισμένο σε datagram που παρέχει γρήγορη, αλλά όχι απαραίτητα αξιόπιστη υπηρεσία μεταφοράς. Υποστηρίζει αλληλεπιδράσεις ένα-προς-πολλά και επομένως χρησιμοποιείται συχνά για μετάδοση και μετάδοση δεδομένων γραμμάτων πολλαπλής εκπομπής.

Πρωτόκολλο ΔιαδικτύουΤο (IP) είναι το κύριο πρωτόκολλο του Διαδικτύου. Το Πρωτόκολλο Ελέγχου Μετάδοσης (TCP) και το UDP είναι πρωτόκολλα επιπέδου μεταφοράς χτισμένα πάνω από ένα υποκείμενο πρωτόκολλο.

Το TCP/IP είναι ένα σύνολο πρωτοκόλλων, αποκαλούμενο και Internet Protocol Suite, που αποτελείται από τέσσερα επίπεδα. Να θυμάστε ότι το TCP/IP δεν είναι μόνο ένα πρωτόκολλο, αλλά μια οικογένεια ή σύνολο πρωτοκόλλων που αποτελείται από άλλα πρωτόκολλα χαμηλότερου επιπέδου όπως IP, TCP και UDP. Το UDP βρίσκεται στο επίπεδο μεταφοράς πάνω από το IP (πρωτόκολλο επίπεδο δικτύου). Το επίπεδο μεταφοράς παρέχει επικοινωνία μεταξύ των δικτύων μέσω πυλών. Χρησιμοποιεί διευθύνσεις IP για την αποστολή πακέτων δεδομένων μέσω του Διαδικτύου ή άλλου δικτύου χρησιμοποιώντας μια ποικιλία προγραμμάτων οδήγησης συσκευών.

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

Πακέτα

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

Datagrams

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

MTU (Μέγ Μονάδα μετάδοσης)

MTU χαρακτηρίζει στρώμα συνδέσμουκαι αντιστοιχεί στον μέγιστο αριθμό byte που μπορούν να μεταδοθούν σε ένα πακέτο. Με άλλα λόγια, το MTU είναι το πιο μεγάλο πακέτο, το οποίο μπορεί να μεταφερθεί από ένα δεδομένο περιβάλλον δικτύου. Για παράδειγμα, το Ethernet έχει ένα σταθερό MTU 1500 byte. Στο UDP, εάν το μέγεθος του datagram είναι μεγαλύτερο από το MTU, το πρωτόκολλο IP εκτελεί κατακερματισμό σπάζοντας το datagram σε μικρότερα κομμάτια (θραύσματα) έτσι ώστε κάθε τμήμα να είναι μικρότερο από το MTU.

λιμάνια

Για να αντιστοιχίσετε τα εισερχόμενα δεδομένα σε μια συγκεκριμένη διαδικασία που εκτελείται σε έναν υπολογιστή, το UDP χρησιμοποιεί θύρες. Το UDP προωθεί το πακέτο στην κατάλληλη θέση χρησιμοποιώντας τον αριθμό θύρας που καθορίζεται στην κεφαλίδα UDP του datagram. Οι θύρες αντιπροσωπεύονται από αριθμούς 16-bit και επομένως λαμβάνουν τιμές που κυμαίνονται από 0 έως 65.535 Οι θύρες, οι οποίες ονομάζονται επίσης λογικά τελικά σημεία σύνδεσης, χωρίζονται σε τρεις κατηγορίες:

    Γνωστές θύρες - από 0 έως 1023

    Εγγεγραμμένες θύρες - από 1024 έως 49151

    Δυναμικές/ιδιωτικές θύρες - 49152 έως 65535

Σημειώστε ότι οι θύρες UDP μπορούν να λαμβάνουν περισσότερα από ένα μηνύματα ανά πάσα στιγμή. Σε ορισμένες περιπτώσεις, οι υπηρεσίες TCP και UDP ενδέχεται να χρησιμοποιούν τους ίδιους αριθμούς θύρας, όπως 7 (Echo) ή 23 (Telnet).

Το UDP χρησιμοποιεί τις ακόλουθες γνωστές θύρες:

Η λίστα των θυρών UDP και TCP διατηρείται από την IANA (Internet Assigned Numbers Authority).

διευθύνσεις IP

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

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

TTL

Η τιμή time-to-live ή TTL (time-to-live) σάς επιτρέπει να ορίσετε ένα ανώτερο όριο στον αριθμό των δρομολογητών από τους οποίους μπορεί να περάσει ένα datagram. Η τιμή TTL εμποδίζει τα πακέτα να φτάσουν ατελείωτες θηλιές. Αρχικοποιείται από τον αποστολέα και μειώνεται κατά ένα από κάθε δρομολογητή που επεξεργάζεται το datagram. Όταν η τιμή TTL γίνει μηδέν, το datagram απορρίπτεται.

Ομαδική αλληλογραφία

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

Πώς λειτουργεί το UDP

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

Το προηγούμενο σχήμα δείχνει ότι το συνολικό μήκος της κεφαλίδας UDP είναι οκτώ byte. Το θεωρητικό μέγιστο μέγεθος ενός datagram IP είναι 65.535 byte. Με 20 byte κεφαλίδας IP και 8 byte κεφαλίδας UDP, το μήκος δεδομένων χρήστη μπορεί να είναι έως και 65.507 byte. Ωστόσο, τα περισσότερα προγράμματα λειτουργούν με δεδομένα μικρότερο μέγεθος. Έτσι, για τις περισσότερες εφαρμογές, το προεπιλεγμένο μήκος είναι περίπου 8192 byte, καθώς αυτός είναι ο όγκος των δεδομένων που διαβάζονται και γράφονται από το δίκτυο σύστημα αρχείων(NFS). Μπορείτε να ορίσετε τα μεγέθη των buffer εισόδου και εξόδου.

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

Στο επόμενο βήμα, το επίπεδο IP προσθέτει 20 byte κεφαλίδας, η οποία περιλαμβάνει το TTL, τις διευθύνσεις IP προέλευσης και προορισμού και άλλες πληροφορίες. Αυτή η ενέργεια ονομάζεται ενθυλάκωση IP.

Όπως αναφέρθηκε προηγουμένως, το μέγιστο μέγεθος πακέτου είναι 65.507 byte. Εάν ένα πακέτο υπερβαίνει το προεπιλεγμένο μέγεθος MTU, το επίπεδο IP χωρίζει το πακέτο σε τμήματα. Αυτά τα τμήματα ονομάζονται θραύσματα και η διαδικασία διαχωρισμού των δεδομένων σε τμήματα είναι θρυμματισμός. Η κεφαλίδα IP περιέχει όλες τις πληροφορίες τμήματος.

Όταν η εφαρμογή αποστολής "ρίχνει" ένα datagram στο δίκτυο, δρομολογείται στη διεύθυνση IP προορισμού που καθορίζεται στην κεφαλίδα IP. Κατά τη διέλευση από έναν δρομολογητή, η τιμή του time to live (TTL) στην κεφαλίδα IP μειώνεται κατά ένα.

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

Μειονεκτήματα του UDP

Σε σύγκριση με το TCP, το UDP έχει τα ακόλουθα μειονεκτήματα:

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

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

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

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

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

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

Οφέλη του UDP

Σε σύγκριση με το TCP, το UDP έχει τα ακόλουθα πλεονεκτήματα:

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

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

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

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

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

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

Ορισμός

TCP— πρωτόκολλο μεταφοράς για μεταφορά δεδομένων σε δίκτυα TCP/IP, το οποίο δημιουργεί προκαταρκτικά σύνδεση με το δίκτυο.

UDP- ένα πρωτόκολλο μεταφοράς που μεταδίδει μηνύματα datagram χωρίς την ανάγκη δημιουργίας σύνδεσης σε δίκτυο IP.

Σύγκριση

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

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

Ιστοσελίδα συμπερασμάτων

  1. Το TCP εγγυάται την παράδοση των πακέτων δεδομένων σε αμετάβλητη μορφή, ακολουθία και χωρίς απώλεια, το UDP δεν εγγυάται τίποτα.
  2. Το TCP απαιτεί μια προκαθορισμένη σύνδεση, το UDP δεν απαιτεί σύνδεση.
  3. Το UDP παρέχει υψηλότερους ρυθμούς μεταφοράς δεδομένων.
  4. Το TCP είναι πιο αξιόπιστο και ελέγχει τη διαδικασία ανταλλαγής δεδομένων.
  5. Το UDP είναι προτιμότερο για προγράμματα που παίζουν βίντεο ροής, βιντεοφωνία και τηλεφωνία και παιχνίδια δικτύου.

Πρωτόκολλα TCPκαι UDP

TCP-Transmission Control Protocol

Η επικοινωνία προσανατολισμένη στη σύνδεση μπορεί να χρησιμοποιηθεί αξιόπιστη επικοινωνία, για το οποίο το πρωτόκολλο του επιπέδου 4 στέλνει επιβεβαιώσεις λήψης δεδομένων και αιτημάτων αναμετάδοση, εάν τα δεδομένα δεν ληφθούν ή είναι κατεστραμμένα. Το πρωτόκολλο TCP χρησιμοποιεί αυτόν τον τύπο αξιόπιστης επικοινωνίας. Το TCP χρησιμοποιείται σε τέτοια πρωτόκολλα εφαρμογώνόπως HTTP, FTP, SMTP και Telnet.

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

Ο διακομιστής πρέπει να στείλει μια επιβεβαίωση (ACK) στον πελάτη μαζί με αύξων αριθμόςδιακομιστής (SYN). Με τη σειρά του, ο πελάτης αποκρίνεται με ACK και η σύνδεση δημιουργείται.

Μετά από αυτό, μπορεί να ξεκινήσει η διαδικασία αποστολής και λήψης μηνυμάτων. Όταν λαμβάνεται ένα μήνυμα, αποστέλλεται πάντα ένα μήνυμα ACK ως απάντηση. Εάν το χρονικό όριο λήξης λήξει πριν ο αποστολέας λάβει το ACK, το μήνυμα βρίσκεται στην ουρά για αναμετάδοση.

Τα πεδία κεφαλίδας TCP παρατίθενται στον ακόλουθο πίνακα:

Επικεφαλίδα TCP
Πεδίο Μήκος Περιγραφή
Θύρα πηγής 2 byte Αριθμός θύρας πηγής
Λιμάνι προορισμού 2 byte Αριθμός θύρας προορισμού
Αύξων αριθμός 4 byte Ο αριθμός ακολουθίας δημιουργείται από την πηγή και χρησιμοποιείται από τον προορισμό για την αναδιάταξη των πακέτων για τη δημιουργία του αρχικού μηνύματος και την αποστολή επιβεβαίωσης στην πηγή.
Αριθμός επιβεβαίωσης 4 byte Εάν έχει οριστεί το bit ACK του πεδίου Control, αυτό το πεδίο περιέχει τον επόμενο αναμενόμενο αριθμό σειράς.
Μετατόπιση δεδομένων 4 bit Πληροφορίες σχετικά με την έναρξη ενός πακέτου δεδομένων.
Απόθεμα 6 bit Επιφυλάσσεται για μελλοντική χρήση.
Ελεγχος 6 bit Τα bit ελέγχου περιέχουν σημαίες που υποδεικνύουν εάν τα πεδία επιβεβαίωσης (ACK), επείγουσας ανάγκης (URG), εάν η σύνδεση πρέπει να επαναφερθεί (RST), εάν έχει σταλεί ο σειριακός αριθμός συγχρονισμού (SYN) κ.λπ. είναι έγκυροι.
Μέγεθος παραθύρου 2 byte Αυτό το πεδίο καθορίζει το μέγεθος του buffer λήψης. Χρησιμοποιώντας μηνύματα επιβεβαίωσης, ο παραλήπτης μπορεί να ενημερώσει τον αποστολέα σχετικά μέγιστο μέγεθοςδεδομένα που μπορεί να στείλει.
Άθροισμα ελέγχου 2 byte Άθροισμα ελέγχου κεφαλίδας και δεδομένων. καθορίζει εάν το πακέτο ήταν κατεστραμμένο.
Ένδειξη επείγοντος 2 byte Σε αυτό το πεδίο, η συσκευή προορισμού λαμβάνει πληροφορίες σχετικά με τον επείγοντα χαρακτήρα των δεδομένων.
Επιλογές μεταβλητός Προαιρετικές τιμές που καθορίζονται εάν είναι απαραίτητο.
Πρόσθεση μεταβλητός Αρκετά μηδενικά προστίθενται στο πεδίο συμπλήρωσης έτσι ώστε η κεφαλίδα να τελειώνει σε ένα όριο 32 bit.

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

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

UDP - Πρωτόκολλο User Datagram

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

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

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

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

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

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