Δικτύωση

Γνώση Υπολογιστών >> Δικτύωση >  >> Δρομολογητές

Εξετάστε το πρωτόκολλο RDT3.0 Σχεδιάστε ένα διάγραμμα που δείχνει ότι εάν οι συνδέσεις δικτύου μεταξύ αποστολέα και δέκτη μπορούν να αναδιατάσσουν μηνύματα;

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

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

`` `

+--------+Δίκτυο (αναδιάταξη)+--------+

| Αποστολέας | --------------------------------> | Δέκτης |

+--------+<-------------------------------------------------------------+

| |

| Πακέτο 2 (seqnum =1) |

V ^

+-------+-------> [Δίκτυο] <--------+--------+

| | | Πακέτο 1 (seqnum =0)

| Πακέτο 1 (seqnum =0) |

+-------+-------> [Δίκτυο] <--------+--------+

+-------------------++------------------+

| Ενέργειες αποστολέα | | Ενέργειες δέκτη |

+-------------------++------------------+

| Στέλνει πακέτο 1 | | Λαμβάνει πακέτο 2 (seqnum =1) - απροσδόκητο! |

| Στέλνει πακέτο 2 | | (Το πακέτο 2 είναι εκτός λειτουργίας, το RDT3.0 δεν το χειρίζεται αυτό) |

| | | Ο δέκτης περιμένει τον αριθμό ακολουθίας 0. |

+-------------------++------------------+

^ |

| (Το χρονικό όριο τελικά εμφανίζεται στον αποστολέα εάν δεν ληφθεί κανένα ACK)

| V

| Πακέτο Retransmits αποστολέα 1 | Ο δέκτης λαμβάνει τελικά το πακέτο 1 (seqnum =0) - αλλά εξακολουθεί να είναι δυνητικά προβληματικό λόγω των επικαλυμμάτων εάν χάθηκε το ACK.

`` `

Επεξήγηση:

1. αποστολέας: Στέλνει το πακέτο 1 (seqnum =0) και το πακέτο 2 (seqnum =1).

2. Δίκτυο: Το δίκτυο ανακατασκευάζει τα πακέτα, παρέχοντας πακέτο 2 πριν από το πακέτο 1 στον δέκτη.

3. δέκτης: Ο δέκτης αναμένει πακέτο 1 (seqnum =0), αλλά λαμβάνει πακέτο 2 (seqnum =1). Ο σχεδιασμός του RDT3.0 υπαγορεύει ότι θα απορρίψει το πακέτο 2 επειδή δεν είναι ο αναμενόμενος αριθμός ακολουθίας. Δεν θα στείλει ένα ACK για το Packet 2 επειδή είναι εκτός λειτουργίας.

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

κρίσιμο σημείο: Το RDT3.0 βασίζεται στο υποκείμενο δίκτυο για την παροχή πακέτων με τη σειρά που στάλθηκαν. Εάν τα πακέτα του δικτύου ανακατασκευάσουν, ο απλός μηχανισμός αναγνώρισης του πρωτοκόλλου καταρρέει, με αποτέλεσμα την αναξιόπιστη παράδοση δεδομένων. Για να χειριστείτε την παράδοση εκτός παραγγελίας, θα ήταν απαραίτητο ένα πιο εξελιγμένο πρωτόκολλο (όπως ο μηχανισμός παραθύρου ολίσθησης του TCP ή ένα πρωτόκολλο που έχει σχεδιαστεί ρητά για να χειριστεί την αναδιάταξη).

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα