Αποστολέας Θέμα: Χρήση όρου 'datagram'  (Αναγνώστηκε 1009 φορές)

aprekates

  • Βετεράνος
  • ****
  • Μηνύματα: 87
    • Enomem
Χρήση όρου 'datagram'
« στις: 16 Φεβ 2017, 12:29:27 μμ »
Η χρήση του όρου datagram που γίνεται στο 4.1.1 Πρωτόκολλο TCP μπερδεύει είναι ασυνεπής και συγκρούεται
και με τη χρήση του όρου στο 1.3 Ενθυλάκωση όπου ο όρος χρησιμοποιείται για PDU του επιπέδου διαδικτύου.



Παράθεση
Έστω ότι στο παραπάνω παράδειγμα το ΤCP παραλαμβάνει από την εφαρμογή
ηλεκτρονικού ταχυδρομείου δεδομένα μεγέθους 6000 octets. Ελέγχει το δίκτυο και
διαπιστώνει ότι δεν μπορεί να διαχειριστεί datagram μεγαλύτερα από 600 octets. Στην
πραγματικότητα τα δύο άκρα δηλώνουν το μεγαλύτερο μέγεθος datagram που μπορούν να
διαχειριστούν. Για να αντιμετωπιστεί η κατάσταση το αρχικό datagram διασπάται σε 10
μικρότερα των 600 octets και αποστέλλονται ανεξάρτητα από το ένα άκρο στο άλλο. Τα
μικρότερα αυτά datagrams συμφωνημένου μεγέθους ονομάζονται Τμήματα (segments).
Επομένως στο πρωτόκολλο ΤCP η μονάδα δεδομένων που διαχειρίζεται (PDU)
αναφέρεται ως Τμήμα (Segment). Βέβαια στο Τμήμα μεταξύ των δύο άκρων μπορεί να
χωρά ολόκληρο το datagram, οπότε δεν θα χρειαστεί να διασπαστεί.

gxry

  • Βετεράνος
  • ****
  • Μηνύματα: 57
Απ: Χρήση όρου 'datagram'
« Απάντηση #1 στις: 18 Φεβ 2017, 09:56:50 μμ »
Το μοντέλο OSI/ISO (ISO/IEC7948-1:1994 ή ITU-T X.200) αποφεύγει επιμελώς να κατονομάσει τις μονάδες δεδομένων κάθε επιπέδου αναφέροντάς τες ως N-layer Protocol Data Unit (PDU)

Για τη μονάδα δεδομένων του επιπέδου ζεύξης δεδομένων (data link) είναι γενικά αποδεκτός ο όρος “frame” (πλαίσιο)

Γενικά στη βιβλιογραφία των Δικτύων ο όρος “packet” (πακέτο) έχει ευρύτερη και γενικότερη έννοια.
Σύμφωνα με τον Tanenbaum:
“Short messages, called packets in certain contexts, sent by any machine are received by all the others. An address field within the packet specifies the intended recipient.”

Η χρήση “διεύθυνσης” κάνει τον όρο να ταιριάζει καλύτερα στο 3ο επίπεδο του OSI.

Από την άλλη μεριά ο όρος “datagram” ο οποίος αποδίδεται ως “αυτοδύναμο πακέτο”,  προσδιορίζει  τις μονάδες δεδομένων μιας υπηρεσίας χωρίς σύνδεση οι οποίες δρομολογούνται ανεξάρτητα.

Σύμφωνα πάλι με τον Tanenbaum:
Unreliable (meaning not acknowledged) connectionless service is often called datagram service, in analogy with telegram service, which also does not return an acknowledgement to the sender.
......
If connectionless service is offered, packets are injected into the subnet individually and routed independently of each other. No advance setup is needed. In this context, the packets are frequently called datagrams (in analogy with telegrams) and the subnet is called a datagram subnet.

Το 3ο επίπεδο του  OSI αναφέρει υπηρεσίες με σύνδεση και χωρίς σύνδεση ενώ το αντίστοιχο επίπεδο του TCP/IP (Διαδικτύου - IP)  παρέχει μόνο υπηρεσίες χωρίς σύνδεση. Επίσης αναφέρει (το TCP/IP) ρητά τον όρο “datagram”

Ως εκ τούτου οι όροι “IP datagram” και “IP packet” συνήθως χρησιμοποιούνται ισοδύναμα με επικρατέστερο τον όρο “datagram” ο οποίος συνήθως χάνει και τον προσδιορισμό IP.
Στο RFC1122 γίνεται ιδιαίτερη αναφορά στον όρο “packet” προσδιορίζοντας το Data Unit που περνά από το επίπεδο διαδικτύου (internet)  στο επίπεδο ζεύξης δεδομένων (data link) καλύπτοντας έτσι και τα διασπασμένα κομμάτια (fragments) των datagrams.

Στο επίπεδο μεταφοράς, για τις μονάδες δεδομένων του TCP, ο όρος που χρησιμοποιείται είναι “segment” (τμήμα)
Σύμφωνα με το RFC1122:
A segment is the unit of end-to-end transmission in the TCP protocol.  A segment consists of a TCP header followed by application data.  A segment is transmitted by encapsulation inside an IP datagram
Για το UDP, το οποίο είναι πρωτόκολλο χωρίς σύνδεση, ο κατάλληλος όρος θα ήταν “user datagram” (αυτοδύναμο πακέτο χρήστη) ή απλά πακέτο εφόσον από τα συμφραζόμενα προσδιορίζεται ότι αναφερόμαστε στο UDP. Tο RFC1122 χαρακτηρίζει τα PDUs  του επιπέδου μεταφοράς ως “messages

aprekates

  • Βετεράνος
  • ****
  • Μηνύματα: 87
    • Enomem
Απ: Χρήση όρου 'datagram'
« Απάντηση #2 στις: 05 Μάρ 2017, 12:05:25 πμ »
Με βάση τις χρήσιμες πληροφορίες του grxy παραθέτω και εγώ συνδέσμους προς
σχετικά κείμενα προκειμένου να ξεκαθαριστεί η χρήση του όρου

rfc1122 / Requirements for Internet Hosts -- Communication Layers / 1.3.3 Terminology
Παράθεση
  Segment
              A segment is the unit of end-to-end transmission in the
              TCP protocol.  A segment consists of a TCP header followed
              by application data.  A segment is transmitted by
              encapsulation inside an IP datagram.

Παράθεση
IP Datagram
              An IP datagram is the unit of end-to-end transmission in
              the IP protocol.  An IP datagram consists of an IP header
              followed by transport layer data, i.e., of an IP header
              followed by a message.

              In the description of the internet layer (Section 3), the
              unqualified term "datagram" should be understood to refer
              to an IP datagram.

rfc1123 / Requirements for Internet Hosts -- Application and Support / 1.3.3  Terminology
Παράθεση
Datagram
              A [UDP] datagram is the unit of end-to-end transmission in
              the UDP protocol
« Τελευταία τροποποίηση: 05 Μάρ 2017, 02:46:43 μμ από aprekates »