Πρωτόκολλα εναλλακτικά του TCP:
  • UDP
  • ICMP

  • |TABLE OF CONTENTS |

    4. Πρωτόκολλα εναλλακτικά του TCP: UDP και ICMP


    Μέχρι τώρα, έχουμε περιγράψει μόνο συνδέσεις που χρησιμοποιούν το TCP. Θυμηθείτε ότι το TCP είναι υπεύθυνο για την διάσπαση των μηνυμάτων σε datagrams και την κατάλληλη επανασυνδεσή τους. Σε πολλές εφαρμογές παρόλα αυτά, έχουμε μηνύματα τα οποία χωράνε πάντα σε ένα μόνο datagram. Ένα παράδειγμα αποτελεί η αντιστοίχιση ονόματος σε διεύθυνση . Όταν ένας χρήστης προσπαθεί να συνδεθεί με ένα άλλο σύστημα, γενικά αναφέρεται στο σύστημα με το όνομά του παρά με την Ιnternet διεύθυνσή του.Το σύστημά του λοιπόν πρέπει να μεταφράσει το όνομα αυτό σε μια διεύθυνση πριν κάνει οτιδήποτε άλλο.Γενικά, μόνο λίγα συστήματα διαθέτουν μια βάση δεδομένων για την μετάφραση ονομάτων σε διευθύνσεις. Έτσι το σύστημα του χρήστη θα πρέπει να απευθύνει μια ερώτηση σε ένα από τα συστήματα που διαθέτουν την βάση αυτή. Η ερώτηση αυτή είναι πολύ σύντομη και σίγουρα χωράει σε ένα datagram (όπως και η απάντηση). Στην περίπτωση αυτή δεν είναι αναγκαία η χρήση τουTCP. Φυσικά το TCP κάνει και άλλες εργασίες εκτός από την διάσπαση των δεδομένων σε datagrams. Εξασφαλίζει επίσης την άφιξη των δεδομένων καθώς και την επαναποστολή datagrams, όποτε αυτό είναι αναγκαίο.Για μια ερώτηση όμως που χωράει σε ένα μόνο datagram δεν είναι απαραίτητη η πολυπλοκότητα του TCP . Αν δεν λάβουμε μια απάντηση μετά από λίγα δευτερόλεπτα, μπορούμε κάλλιστα να επαναλάβουμε την ερώτηση. Για εφαρμογές σαν και αυτή υπάρχουν εναλλακτικά του TCP πρωτόκολλα. |TABLE OF TOPICS| |TABLE OF CONTENTS|

    Πρωτόκολλο UDP


    Το πιο κοινό από αυτά είναι το UDP (user datagram protocol). To UDP είναι σχεδιασμένο για εφαρμογές, στις οποίες δεν χρειάζεται να μπει στη σειρά ένας αριθμός datagrams. Υπάρχει μια επικεφαλίδα UDP, την οποία το s/w του δικτύου τοποθετεί πριν από τα δεδομένα (όπως ακριβώς γίνεται και με την TCP επικεφαλίδα). Κατόπιν, το UDP στέλνει τα δεδομένα στο IP IP, το οποίο προσθέτει το IP header, βάζοντας τον αριθμό πρωτοκόλλου που αντιστοιχεί στο UDP, στο πεδίο πρωτοκόλλου (αντί του αριθμού πρωτοκόλλου του TCP). Παρ όλη την ομοιότητα στις διαδικασίες, το UDP δεν εκτελεί τόσες εργασίες όσες το TCP. Πρώτον, δεν χωρίζει τα δεδομένα σε πολλά datagrams και δεύτερον, δεν κρατάει ιστορικό του τι έχει σταλεί ώστε να το ξαναστείλει αν υπάρξει ανάγκη. Το UDP παρέχει μόνο port numbers, ώστε τα διάφορα προγράμματα να μπορούν άμεσα να χρησιμοποιούν UDP. Tα UDP port numbers χρησιμοποιούνται όπως ακριβώς και τα TCP port numbers. Υπάρχουν καλά-καθορισμένα port numbers για τους servers που χρησιμοποιούν UDP. Σημειώστε, ότι η επικεφαλίδα του UDP είναι μικρότερη από αυτή του TCP. Η επικεφαλίδα περιέχει πεδία για port numbers πηγής και προορισμού, καθώς και για checksum. Δεν υπάρχει όμως πεδίο αριθμού σειράς, αφού δεν χρειάζεται. Το UDP, χρησιμοποιείται από πρωτόκολλα που χειρίζονται την αντιστοίχηση ονομάτων σε διευθύνσεις (βλέπε IEN 116,RFC 882RFC 883) και από διάφορα άλλα παρόμοια πρωτόκολλα. |TABLE OF TOPICS| |TABLE OF CONTENTS|

    Πρωτόκολλο ICMP


    Ένα άλλο εναλλακτικό πρωτόκολλο είναι το ICMP (Internet control message protocol). To ICMP χρησιμοποιείται για μηνύματα λαθών και άλλα μηνύματα που χρησιμοποιεί εσωτερικά τοs/w του TCP/IP, παρά για κάποιο συγκεκριμένο πρόγραμμα χρήστη. Για παράδειγμα αν επιχειρήσετε να συνδεθείτε σε ένα host, το σύστημά σας μπορεί να λάβει ένα ICMP μήνυμα που να λέει host unreachable . Το ICMP μπορεί επίσης να χρησιμοποιηθεί για να πάρουμε πληροφορίες σχετικά με το δίκτυο. (Βλέπε RFC 792 για λεπτομέρειες στο ICMP). Το ICMP είναι παρόμοιο με το UDP, στο ότι χειρίζεται μηνύματα τα οποία χωράνε σε ένα datagram. Είναι όμως ακόμα πιο απλά από το UDP. Η επικεφαλίδα του δεν περιέχει καθόλου port numbers αφού όλα τα ICMP μηνύματα μεταφέρονται από το λογισμικό του δικτύου κι έτσι δεν είναι απαραίτητα τα port numbers για να πληροφορήσουν που πρέπει να πάει ένα ICMP μήνυμα. |TABLE TO TOPICS| |TABLE OF CONTENTS|