Fouskas Go Back N

32
¶ÚˆÙfiÎÔÏÏ· E·ÓÂÎÔÌ‹˜ ™ÎÔfi˜ Σε αυτό το κεφάλαιο θα γνωρίσουμε τρία ευρέως χρησιμοποιούμενα πρωτόκολλα επανεκπομπής πλαισίων ή πακέτων, τα οποία μας εξασφαλίζουν μία αξιόπιστη μετά- δοση, απαλλαγμένη από σφάλματα μεταφοράς, πάνω από ένα αναξιόπιστο κανάλι επικοινωνίας. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε μελετήσει αυτό το κεφάλαιο, θα μπορείτε να : αιτιολογήσετε την αναγκαιότητα ύπαρξης των πρωτοκόλλων επανεκπομπής, περιγράψετε τις θεμελιώδεις αρχές λειτουργίας αυτών των πρωτοκόλλων, ορίσετε την απόδοση ενός πρωτοκόλλου επανεκπομπής, αναφέρετε τρία πρωτόκολλα επανεκπομπής που χρησιμοποιούνται ευρέως στα σύγ- χρονα δίκτυα υπολογιστών, περιγράψετε τον τρόπο λειτουργίας και να προσδιορίσετε την απόδοση καθενός από τα τρία ευρέως χρησιμοποιούμενα πρωτόκολλα επανεκπομπής, τόσο κατά την απουσία σφαλμάτων μεταφοράς, όσο και κατά την ύπαρξη σφαλμάτων, αναφέρετε ποια πρωτόκολλα χαρακτηρίζονται ως ολισθαίνοντος παραθύρου και ποια ως παύσης και αναμονής και να αιτιολογήσετε τους παραπάνω χαρακτηρισμούς, συγκρίνετε τα τρία πρωτόκολλα ως προς την πολυπλοκότητά τους και ως προς την απόδοσή τους. ŒÓÓÔȘ ÎÏÂȉȿ 4 º § π LAPB X.25 XMODEM απόδοση ενός πρωτοκόλλου επανεκ- πομπής αρνητική επιβεβαίωση (NACK) επιβεβαίωση λήψης (ACK) πρωτόκολλο εναλλασσομένου bit (ABP) πρωτόκολλο επιλεκτικής επανάληψης (SRP) πρωτόκολλο οπισθοχώρησης κατά Ν (GBN) συνεχής διοχέτευση (pipelining)

description

ΟΔΗΓΟΣ ΜΕΛΕΤΗΣ ΓΙΑ ΤΙΣ ΑΝΑΓΚΕΣ ΤΗΣ ΣΔΥ50

Transcript of Fouskas Go Back N

Page 1: Fouskas Go Back N

¶ÚˆÙfiÎÔÏÏ· E·ÓÂÎÔÌ‹˜

™ÎÔfi˜

Σε αυτό το κεφάλαιο θα γνωρίσουµε τρία ευρέως χρησιµοποιούµενα πρωτόκολλα

επανεκποµπής πλαισίων ή πακέτων, τα οποία µας εξασφαλίζουν µία αξιόπιστη µετά-

δοση, απαλλαγµένη από σφάλµατα µεταφοράς, πάνω από ένα αναξιόπιστο κανάλι

επικοινωνίας.

¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·

Όταν θα έχετε µελετήσει αυτό το κεφάλαιο, θα µπορείτε να :

• αιτιολογήσετε την αναγκαιότητα ύπαρξης των πρωτοκόλλων επανεκποµπής,

• περιγράψετε τις θεµελιώδεις αρχές λειτουργίας αυτών των πρωτοκόλλων,

• ορίσετε την απόδοση ενός πρωτοκόλλου επανεκποµπής,

• αναφέρετε τρία πρωτόκολλα επανεκποµπής που χρησιµοποιούνται ευρέως στα σύγ-

χρονα δίκτυα υπολογιστών,

• περιγράψετε τον τρόπο λειτουργίας και να προσδιορίσετε την απόδοση καθενός

από τα τρία ευρέως χρησιµοποιούµενα πρωτόκολλα επανεκποµπής, τόσο κατά την

απουσία σφαλµάτων µεταφοράς, όσο και κατά την ύπαρξη σφαλµάτων,

• αναφέρετε ποια πρωτόκολλα χαρακτηρίζονται ως ολισθαίνοντος παραθύρου και ποια

ως παύσης και αναµονής και να αιτιολογήσετε τους παραπάνω χαρακτηρισµούς,

• συγκρίνετε τα τρία πρωτόκολλα ως προς την πολυπλοκότητά τους και ως προς την

απόδοσή τους.

ŒÓÓÔȘ ÎÏÂȉȿ

4∫ ∂ º ∞ § ∞ π √

• LAPB

• X.25

• XMODEM

• απόδοση ενός πρωτοκόλλου επανεκ-

ποµπής

• αρνητική επιβεβαίωση (NACK)

• επιβεβαίωση λήψης (ACK)

• πρωτόκολλο εναλλασσοµένου bit (ABP)

• πρωτόκολλο επιλεκτικής επανάληψης

(SRP)

• πρωτόκολλο οπισθοχώρησης κατά Ν

(GBN)

• συνεχής διοχέτευση (pipelining)

Page 2: Fouskas Go Back N

9 8 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ

Στα δίκτυα µεταγωγής πακέτων, η µεταφερόµενη πληροφορία οργανώνεται σε πακέ-

τα. Κάθε πακέτο εξοπλίζεται µε τις απαραίτητες πληροφορίες ελέγχου και στη συνέ-

χεια προωθείται στο Επίπεδο Σύνδεσης ∆εδοµένων για την πλαισίωσή του και τη

µεταφορά του πάνω από το φυσικό µέσο. Όµως τα φυσικά µέσα µετάδοσης, όσο προ-

σεκτικά σχεδιασµένα και κατασκευασµένα και να είναι, δεν µπορούν να εγγυηθούν

µία µεταφορά πλαισίου απαλλαγµένη από σφάλµατα. Έτσι, τα δίκτυα επικοινωνιών

πρέπει να περιλαµβάνουν µηχανισµούς για τον εντοπισµό και το χειρισµό των σφαλ-

µάτων µεταφοράς.

Όπως είδαµε στο Κεφάλαιο 3, υπάρχουν διάφορες αποδοτικές τεχνικές που µπορούν

να εντοπίσουν µε ακρίβεια ένα ευρύ φάσµα από σφάλµατα µεταφοράς. Όταν εντοπι-

στεί ένα εσφαλµένο πλαίσιο τότε, είτε διορθώνεται επί τόπου (εάν η αναγκαία πληρο-

φορία γι’ αυτή τη διόρθωση είναι διαθέσιµη), είτε ζητείται η επανεκποµπή του.

Ο έλεγχος επανεκποµπής των εσφαλµένων πλαισίων µπορεί να διενεργηθεί, είτε σε

κάθε σύνδεσµο από τον οποίο διέρχεται η µεταφερόµενη πληροφορία, είτε στο άκρο

του τελικού παραλήπτη κόµβου. Ακολουθώντας τις οδηγίες του µοντέλου αναφοράς

OSI, η πρώτη µορφή ελέγχου θα διενεργείται από το Επίπεδο Σύνδεσης ∆εδοµένων,

ενώ ο δεύτερος έλεγχος θα εκτελείται στο Επίπεδο Μεταφοράς.

Όταν ο έλεγχος σφαλµάτων διενεργείται σε επίπεδο συνδέσµου, τότε, κατά την άφιξη

ενός πλαισίου σε κάθε ενδιάµεσο κόµβο, ελέγχεται αρχικά η ορθότητα των δεδοµένων

του, επαληθεύοντας π.χ. την τιµή CRC που περιέχει. Αν το πλαίσιο είναι λανθασµένο

τότε αυτός ο ενδιάµεσος κόµβος ζητά την επανεκποµπή ενός αντιγράφου του από τον

αµέσως προηγούµενο κόµβο από τον οποίο έλαβε αυτό το εσφαλµένο πλαίσιο. Αυτός

ο έλεγχος διενεργείται σε κάθε σύνδεσµο από τον οποίο διέρχεται το πακέτο.

Όταν ο έλεγχος σφαλµάτων διενεργείται στην από – άκρο – σε – άκρο επικοινωνία,

τότε ο κάθε ενδιάµεσος σύνδεσµος απλώς απορρίπτει το πλαίσιο, όταν αυτό εντοπιστεί

λανθασµένο, και δεν εκτελεί ενέργειες για την επανεκποµπή του. Έτσι όµως, κάποια

πακέτα από την αρχική ροή πληροφορίας δε θα φτάσουν ποτέ στον τελικό προορισµό

τους. Εκεί θα διαπιστωθεί η απουσία τους και τότε θα ξεκινήσουν οι διαδικασίες επα-

νεκποµπής τους από τον αρχικό αποστολέα κόµβο. Αξίζει να παρατηρήσουµε ότι αυτές

οι διαδικασίες επανεκποµπής, ή αλλιώς τα πρωτόκολλα επανεκποµπής των εσφαλµέ-

νων πακέτων, είναι οι ίδιες µ’ αυτές που εκτελούνται στον έλεγχο σε επίπεδο συνδέ-

σµου. Και αυτό γιατί το από – άκρο – σε – άκρο κανάλι επικοινωνίας µπορεί να θεω-

ρηθεί ως ένας ιδεατός σύνδεσµος.

Page 3: Fouskas Go Back N

Σ’ αυτό το Κεφάλαιο θα παρουσιάσουµε αρχικά κάποιες βασικές αρχές που πρέπει

να ακολουθούν οι διαδικασίες επανεκποµπής πλαισίων και στη συνέχεια θα περι-

γράψουµε τρία πρωτόκολλα επανεκποµπής, τα οποία χρησιµοποιούνται συνήθως

στα σύγχρονα δίκτυα υπολογιστών. Αυτά είναι:

• το πρωτόκολλο εναλλασσοµένου bit (alternating bit protocol – ABP),

• το πρωτόκολλο οπισθοχώρησης κατά Ν (GO BACK N), και

• το πρωτόκολλο επιλεκτικής επανάληψης (selective repeat protocol – SRP).

Για κάθε ένα πρωτόκολλο θα εξηγήσουµε τον τρόπο λειτουργίας του και θα αναλύ-

σουµε την απόδοσή του, δίδοντας παράλληλα και κάποια χαρακτηριστικά παρα-

δείγµατα της υλοποίησης αυτών των πρωτοκόλλων σε ορισµένα δηµοφιλή δίκτυα.

Αυτά τα πρωτόκολλα χαρακτηρίζονται συχνά στη διεθνή βιβλιογραφία ως πρωτό-

κολλα ARQ (Automatic Repeat reQuest).

4.1 µ·ÛÈΤ˜ ·Ú¯¤˜ ÛÙËÓ Â·ÓÂÎÔÌ‹ Ï·ÈÛ›ˆÓ

¶ÚÔÛ‰ÔÎÒÌÂÓ· aÔÙÂϤÛÌ·Ù·

Όταν θα έχετε µελετήσει αυτήν την ενότητα θα µπορείτε να:

• περιγράψετε τους δύο θεµελιώδεις µηχανισµούς στους οποίους βασίζονται τα πρω-

τόκολλα επανεκποµπής,

• εξηγήσετε γιατί τα πλαίσια δεδοµένων και τα αντίστοιχα πλαίσια επιβεβαίωσης

πρέπει να αριθµούνται κατά τη µετάδοσή τους στο δίκτυο,

• αναφέρετε πώς επιτυγχάνεται η αρίθµηση των πλαισίων,

• ορίσετε την απόδοση ενός πρωτοκόλλου επανεκποµπής.

Τα πρωτόκολλα επανεκποµπής πλαισίων συνήθως υλοποιούνται βασιζόµενα στη

συνδυασµένη χρήση δύο θεµελιωδών µηχανισµών, οι οποίοι παρουσιάζονται στην

Ενότητα 4.1.1: της επιβεβαίωσης λήψης και του χρόνου προθεσµίας.

Επίσης, για την ορθότητα των πρωτοκόλλων επανεκποµπής, τα πλαίσια που µετα-

δίδονται θα πρέπει να αριθµούνται. Αυτή η απαίτηση, αλλά και µία αντίστοιχη απαί-

τηση που έχει εφαρµογή στα πλαίσια επιβεβαίωσης λήψης, εξηγούνται µε δύο χαρα-

κτηριστικά παραδείγµατα στις Ενότητες 4.1.2 και 4.1.3 αντίστοιχα.

9 94 . 1 µ ∞ ™ π ∫ ∂ ™ ∞ ƒ Ã ∂ ™ ™ ∆ ∏ ¡ ∂ ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ¶ § ∞ π ™ π ø ¡

¢Ú·ÛÙËÚÈfiÙËÙ· 4.1

Σε ποιες περιπτώσεις πιστεύετε ότι ο έλεγχος σφαλµάτων ανά σύνδεσµο υπερτερεί

έναντι του ελέγχου που διενεργείται στο από – άκρο – σε – άκρο κανάλι επικοινωνίας;

Page 4: Fouskas Go Back N

1 0 0 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

Στα σχήµατα 4.1.α – 4.1.δ απεικονίζονται τέσσερα διαφορετικά σενάρια που πηγά-

ζουν από τη χρήση αυτών των µηχανισµών. Αυτά τα σχήµατα είναι χρονοδιαγράµ-

µατα, όπου ο χρόνος παριστάνεται στον οριζόντιο άξονα και αυξάνει από αριστερά

προς τα δεξιά και είναι ένας συνηθισµένος τρόπος περιγραφής της συµπεριφοράς

™¯‹Ì· 4.1

Τέσσερα διαφορετικά σενάρια που πηγάζουν από τη χρήση των µηχανισµών επιβεβαίωσης λήψης και χρόνου

προθεσµίας.

(α) η επιβεβαίωση λαµβάνεται εντός της προθεσµίας, (β) το πλαίσιο χάνεται κατά τη µεταφορά του και επαναµετα-

δίδεται (αυτή τη φορά µε επιτυχία), (γ) η επιβεβαίωση του πλαισίου χάνεται και έτσι ο αποστολέας µεταδίδει ξανά

το πλαίσιο και (δ) η προθεσµία είναι ανεπαρκής και έτσι το πλαίσιο ενδέχεται να µεταδίδεται συνεχώς στο δίκτυο,

αγνοώντας την ορθή λήψη του από τον παραλήπτη.

αποστολέας

προθεσµία προθεσµία προθεσµία

προθεσµίαπροθεσµίαπροθεσµίαπροθεσµία

χρόνος

πλαίσιο πλαίσιο πλαίσιο

πλαίσιο

πλαίσιο

πλαίσιο

πλαίσιο

ACK

ACK ACKACK ACK

ACK

παραλήπτης

(α) (β)

(γ) (δ)

4.1.1 ∏ ÂȂ‚·›ˆÛË Ï‹„˘ Î·È Ô ¯ÚfiÓÔ˜ ÚÔıÂÛÌ›·˜

Η επιβεβαίωση λήψης (acknowledgment – ACK) είναι ένα πλαίσιο ελέγχου, το οποίο

αποστέλλει ο παραλήπτης κόµβος στον αποστολέα για να τον ενηµερώσει ότι παρέ-

λαβε, χωρίς σφάλµατα, το πλαίσιο που του έστειλε. Το πλαίσιο ACK δεν περιέχει

δεδοµένα και κατά συνέπεια είναι πολύ µικρό σε µέγεθος.

Εάν ο αποστολέας δεν παραλάβει την επιβεβαίωση λήψης µέσα σ’ ένα προκαθορι-

σµένο χρόνο προθεσµίας (timeout), τότε θεωρεί ότι το πλαίσιο που έστειλε χάθηκε

ή έφτασε µε σφάλµατα στον παραλήπτη και το ξαναστέλνει.

Τα πρωτόκολλα στα οποία ο αποστολέας περιµένει µία θετική επιβεβαίωση λήψης

πριν προχωρήσουν στην επόµενη αποστολή πλαισίου καλούνται συχνά πρωτόκολ-

λα PAR (Positive Acknowledgment with Retransmission).

Page 5: Fouskas Go Back N

ενός πρωτοκόλλου. Η πάνω οριζόντια γραµµή αντιστοιχεί στον αποστολέα, ενώ η

κάτω γραµµή αντιστοιχεί στον παραλήπτη κόµβο. Η λοξή γραµµή που ξεκινάει από

τη γραµµή του αποστολέα και καταλήγει στη γραµµή του παραλήπτη παριστάνει τη

µετάδοση του πλαισίου. Αντίστοιχα, η λοξή γραµµή από τον παραλήπτη στον απο-

στολέα παριστάνει τη µετάδοση της επιβεβαίωσης.

Το σχήµα 4.1.α αναπαριστά την περίπτωση εκείνη όπου η επιβεβαίωση λαµβάνεται

από τον αποστολέα πριν από τη λήξη του χρόνου προθεσµίας.

Τα σχήµατα 4.1.β και 4.1.γ αναπαριστούν εκείνες τις περιπτώσεις όπου το πλαίσιο

δεδοµένων, ή η επιβεβαίωση αντίστοιχα, χάνονται ή αλλοιώνονται κατά τη µεταφο-

ρά τους διαµέσου του συνδέσµου. Σ’ αυτές τις περιπτώσεις, µε την πάροδο του χρό-

νου προθεσµίας, ο αποστολέας µεταδίδει ξανά το πλαίσιο στο δίκτυο, οπότε και ελπί-

ζει να ολοκληρωθεί µε επιτυχία αυτή τη φορά η µεταφορά του.

Τέλος, στο σχήµα 4.1.δ έχουµε εκείνη την περίπτωση όπου ο χρόνος προθεσµίας έχει

οριστεί πολύ µικρός και δεν επαρκεί για τη µεταφορά του πλαισίου και της επιβε-

βαίωσής του. Έτσι, ο αποστολέας κόµβος θα «κολλήσει», µεταδίδοντας συνέχεια το

συγκεκριµένο πλαίσιο στο δίκτυο, άσχετα αν αυτό λαµβάνεται σωστά στο άκρο του

παραλήπτη.

4.1.2 ∏ ·Ú›ıÌËÛË ÙˆÓ Ï·ÈÛ›ˆÓ

Όπως είδαµε στην προηγούµενη ενότητα, ο παραλήπτης κόµβος µπορεί να δεχθεί

περισσότερα του ενός αντίγραφα ενός πλαισίου. Έτσι, θα πρέπει να είναι σε θέση να

διαχωρίσει τα αντίγραφα από τα καινούργια πλαίσια. Αυτό επιτυγχάνεται µε την

αρίθµηση των πλαισίων. Στον αποστολέα κόµβο υπάρχει ένας µετρητής, ο οποίος

µηδενίζεται κατά την έναρξη µιας συνοµιλίας και αυξάνει κάθε φορά που ένα και-

νούργιο πακέτο µεταδίδεται στο δίκτυο. Η τιµή αυτού του µετρητή ορίζεται σαν ο

αύξων αριθµός του αντίστοιχου πλαισίου µεταφοράς και επισυνάπτεται στην επικε-

φαλίδα του. Για να περιορίσουµε το χώρο που καταλαµβάνει ο αριθµός πλαισίου

στην επικεφαλίδα του, αυτός υπολογίζεται συνήθως ως το υπόλοιπο της διαίρεσης

του µετρητή µε µία προκαθορισµένη τιµή, η οποία αντιπροσωπεύει το µέγιστο επι-

τρεπτό πλήθος πακέτων που µπορούµε να µεταδώσουµε χωρίς να έχει επιβεβαιωθεί

η λήψη τους. Έτσι, εάν π.χ. τα πλαίσια αριθµούνται modulo 128, τότε ο αριθµός

πλαισίου καταλαµβάνει 7 bits στην επικεφαλίδα του πλαισίου.

Το επόµενο παράδειγµα δείχνει ξεκάθαρα γιατί τα πλαίσια πρέπει να είναι αριθµηµένα.

¶·Ú¿‰ÂÈÁÌ· 4.1

Ας θεωρήσουµε ότι τα πλαίσια στο σχήµα 4.2 µεταδίδονται ως µη αριθµηµένα. Στο

1 0 14 . 1 µ ∞ ™ π ∫ ∂ ™ ∞ ƒ Ã ∂ ™ ™ ∆ ∏ ¡ ∂ ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ¶ § ∞ π ™ π ø ¡

Page 6: Fouskas Go Back N

1 0 2 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

Ας εξετάσουµε τώρα το σενάριο του σχήµατος 4.2.β. Το πλαίσιο – 1 φτάνει χωρίς

σφάλµατα στον παραλήπτη, αλλά η επιβεβαίωσή του δε φτάνει ποτέ στον αποστο-

λέα. Έτσι, µε τη λήξη της προθεσµίας, ο αποστολέας επανεκπέµπει ένα αντίγραφο

του πλαισίου – 1, το οποίο φτάνει στον παραλήπτη επίσης τη χρονική στιγµή T.

Αν τα πακέτα δεν είναι αριθµηµένα, τότε, τη χρονική στιγµή T, ο παραλήπτης δε δια-

θέτει την αναγκαία πληροφορία για να προσδιορίσει αν το πλαίσιο που παρέλαβε

είναι ένα αντίγραφο του πλαισίου – 1 ή το πλαίσιο – 2. Κατά συνέπεια, τα πλαίσια

µετάδοσης πρέπει να είναι αριθµηµένα, για να µπορεί ο παραλήπτης να διαχωρίσει

ένα αντίγραφο από ένα καινούργιο πλαίσιο.

4.1.3 ∏ ·Ú›ıÌËÛË ÛÙȘ ÂȂ‚·ÈÒÛÂȘ Ï‹„˘

Μία ακόµα βασική απαίτηση στα πρωτόκολλα επανεκποµπής είναι η αρίθµηση των

πλαισίων επιβεβαίωσης. Αυτό επιτυγχάνεται ενσωµατώνοντας στην επικεφαλίδα του

πλαισίου ACK τον αριθµό αποστολής του αντίστοιχου πλαισίου δεδοµένων του οποί-

ου επιβεβαιώνει την ορθή λήψη. Η αρίθµηση αυτή είναι απαραίτητη για να µπορεί

ο αποστολέας να διαχωρίσει αν η επιβεβαίωση που έλαβε είναι για το πλαίσιο που

µετέδωσε τελευταίο ή για κάποιο προηγούµενό του. Αυτή η περίπτωση φαίνεται

ξεκάθαρα στο παρακάτω παράδειγµα.

™¯‹Ì· 4.2

Μετάδοση µη αριθµηµένων πακέτων.

Αν τα πακέτα δεν είναι αριθµηµένα, τότε, τη χρονική στιγµή T, ο παραλήπτης δε διαθέτει την απαραίτητη πληροφο-

ρία για να προσδιορίσει αν το πλαίσιο που παρέλαβε είναι ένα καινούργιο πλαίσιο (σχήµα α) ή ένα αντίγραφο του

πλαισίου – 1 (σχήµα β).

αποστολέας

προθεσµία

χρόνος

πλαίσιο-2πλαίσιο-1

αντίγραφο πλαισίου-1πλαίσιο-1

ACK

παραλήπτης

(α)

προθεσµία

( β)TT

σχήµα 4.2.α, ο αποστολέας µεταδίδει το πρώτο πακέτο µιας συνοµιλίας, συντάσσο-

ντας το αντίστοιχο πλαίσιο – 1. Το πλαίσιο – 1 φτάνει στον παραλήπτη χωρίς σφάλ-

µατα, ο οποίος συντάσσει και αποστέλλει την αντίστοιχη επιβεβαίωση λήψης. Το

πλαίσιο ACK φτάνει στον αποστολέα εντός του χρόνου προθεσµίας, γεγονός που

τον οδηγεί στη µετάδοση του δεύτερου πακέτου του. Το πλαίσιο – 2 φτάνει στον

παραλήπτη τη χρονική στιγµή T.

Page 7: Fouskas Go Back N

¶·Ú¿‰ÂÈÁÌ· 4.2

Έστω ότι ο αποστολέας µεταδίδει ένα αριθµηµένο πλαίσιο (πλαίσιο – 1) στο δίκτυο,

το οποίο φτάνει χωρίς σφάλµατα στον προορισµό του (βλέπε σχήµα 4.3). Επίσης,

έστω ότι ο παραλήπτης κόµβος καθυστερεί να επεξεργαστεί το πλαίσιο για να διαπι-

στώσει την ορθότητά του και να συντάξει έτσι το πλαίσιο επιβεβαίωσης. Αιτίες αυτής

της καθυστέρησης µπορεί να είναι π.χ. η αναµονή του πλαισίου στην ουρά που ανα-

πτύχθηκε στον ενταµιευτή του συνδέσµου (link buffer) λόγω πρόσκαιρης αυξηµένης

κυκλοφορίας ή η προσωρινή υπεραπασχόληση του επεξεργαστή του µεταγωγέα.

1 0 34 . 1 µ ∞ ™ π ∫ ∂ ™ ∞ ƒ Ã ∂ ™ ™ ∆ ∏ ¡ ∂ ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ¶ § ∞ π ™ π ø ¡

™¯‹Ì· 4.3

Μετάδοση µε µη αριθµηµένα πλαίσια

επιβεβαίωσης λήψης.

Αν τα πλαίσια ACK δεν είναι αριθµηµένα,

τότε, τη χρονική στιγµή T, ο αποστολέας αντιλαµβάνεται

λανθασµένα ότι το πλαίσιο – 2 παραδόθηκε χωρίς σφάλµατα στον παραλήπτη.

αποστολέας

προθεσµία

παραλήπτης

T

ο αποστολέας θεωρεί λανθασµένα ότι αυτή η επιβεβαίωση είναι για το πλαίσιο-2

καθυστέρηση (π.χ., λόγω αναµονής στην ουρά του ενταµιευτή)

1 1 2

Τελικά, το πλαίσιο επιβεβαίωσης συντάσσεται και αποστέλλεται πίσω στον αποστο-

λέα, αλλά φτάνει µετά τη λήξη του χρόνου προθεσµίας. Έτσι, ο αποστολέας, που έχει

ήδη µεταδώσει ένα αντίγραφο του πλαισίου – 1, θεωρεί ότι η επιβεβαίωση αυτή είναι

του αντιγράφου και αποστέλλει στο δίκτυο το επόµενο πακέτο µέσω του πλαισίου –

2. Για κάποιους λόγους, το πλαίσιο – 2 χάνεται, ενώ ο αποστολέας δέχεται ένα πλαί-

σιο ACK, το οποίο προέρχεται από την ορθή λήψη του αντιγράφου του πλαισίου – 1.

Αυτό όµως δεν µπορεί να γίνει αντιληπτό από τον αποστολέα, ο οποίος θεωρεί λαν-

θασµένα ότι η επιβεβαίωση προέρχεται από την ορθή λήψη του πλαισίου – 2.

Αν όµως τα πλαίσια ACK ήταν αριθµηµένα, η παραπάνω παρεξήγηση δε θα είχε

συµβεί, καθώς ο αποστολέας θα µπορούσε να διακρίνει σε ποιο πλαίσιο αναφέρεται

η επιβεβαίωση λήψης.

4.1.4 ∏ ·fi‰ÔÛË ÂÓfi˜ ÚˆÙÔÎfiÏÏÔ˘ ·ÓÂÎÔÌ‹˜

Η απόδοση ενός πρωτοκόλλου επανεκποµπής ορίζεται ως το µέσο ποσοστό χρόνου

κατά τον οποίο ο αποστολέας µεταδίδει καινούργια πλαίσια δεδοµένων, υποθέτο-

ντας ότι πάντα υπάρχουν πακέτα προς µετάδοση. Τον υπόλοιπο χρόνο, ο αποστολέ-

Page 8: Fouskas Go Back N

1 0 4 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

ας είτε περιµένει κάποια επιβεβαίωση λήψης, είτε επαναµεταδίδει αντίγραφα πλαι-

σίων για τα οποία δεν επιβεβαιώθηκε η λήψη τους.

Για παράδειγµα, έστω ότι το πλαίσιο δεδοµένων έχει µέγεθος 2048 bits και ότι ο απο-

στολέας µεταδίδει κυκλοφορία στο δίκτυο µε ρυθµό 64 Kbps. Εάν η απόδοση του

πρωτοκόλλου επανεκποµπής είναι 100%, τότε ο αποστολέας µεταδίδει συνέχεια και-

νούργια πλαίσια δεδοµένων, δηλαδή µεταδίδει 64 ÷2 = 32 νέα πλαίσια ανά δευτε-

ρόλεπτο. Αντίστοιχα, εάν η απόδοση του πρωτοκόλλου είναι 20%, τότε ο αποστο-

λέας µεταδίδει νέα πλαίσια µόνο το 20% του χρόνου του, δηλαδή, κατά µέσο όρο,

µεταδίδει 6,4 νέα πλαίσια ανά δευτερόλεπτο.

ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.1

Ποιες από τις παρακάτω προτάσεις είναι αληθείς;

(α)Τα πλαίσια επιβεβαίωσης περιέχουν κώδικα ανίχνευσης λαθών.

(β)Τα πρωτόκολλα επανεκποµπής µπορούν να υλοποιηθούν σε δίκτυα µονόδρο-

µης επικοινωνίας.

(γ) Όταν λέµε ότι ένα πλαίσιο «χάνεται» κατά τη µεταφορά του, εννοούµε ότι υπό-

κειται σε µη επιδιορθώσιµη αλλοίωση, η οποία ανιχνεύεται στον παραλήπτη

κόµβο και γι’ αυτό απορρίπτεται και δεν προωθείται για περαιτέρω επεξεργασία.

(δ) Σύµφωνα µε τους µηχανισµούς επιβεβαίωσης λήψης και χρόνου προθεσµίας,

όταν ο αποστολέας µεταδώσει ένα πακέτο στο δίκτυο, τότε ανακαλεί από το

Επίπεδο ∆ικτύου το επόµενο πακέτο και περιµένει να συµβεί ένα από τα ακό-

λουθα τρία γεγονότα: (1) να λάβει τη σχετική επιβεβαίωση λήψης χωρίς σφάλ-

µατα, (2) να λάβει την επιβεβαίωση αλλοιωµένη και (3) να λήξει ο χρόνος προ-

θεσµίας. Υποθέστε ότι ο ενταµιευτής του αποστολέα έχει µέγεθος ικανό για την

προσωρινή αποθήκευση µόνο ενός πακέτου.

¢Ú·ÛÙËÚÈfiÙËÙ· 4.2

Ο µηχανισµός των πλαισίων επιβεβαίωσης λήψης συχνά κατακρίνεται για µη απο-

δοτική αξιοποίηση του διαθέσιµου εύρους ζώνης του συνδέσµου. Μπορείτε να εξη-

γήσετε το λόγο αυτής της κριτικής; Επίσης, µπορείτε να προτείνετε µία τεχνική

που να βελτιώνει τη χρησιµοποίηση του εύρους ζώνης του συνδέσµου;

Page 9: Fouskas Go Back N

4.2 ∆Ô ÚˆÙfiÎÔÏÏÔ ÂÓ·ÏÏ·ÛÛÔ̤ÓÔ˘ bit

¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·

Όταν θα έχετε µελετήσει αυτήν την ενότητα θα µπορείτε να:

• περιγράψετε τον τρόπο λειτουργίας του πρωτοκόλλου εναλλασσοµένου bit (ABP),

• εξηγήσετε γιατί το ABP χαρακτηρίζεται ως πρωτόκολλο παύσης και αναµονής,

• προσδιορίσετε την απόδοση του πρωτοκόλλου, τόσο κατά την απουσία σφαλµά-

των µεταφοράς, όσο και κατά την ύπαρξη αυτών,

• εξηγήσετε γιατί στο πρωτόκολλο ABP έχουµε απώλεια απόδοσης ακόµα και όταν

δεν έχουµε σφάλµατα µεταφοράς,

• αναφέρετε ένα πρωτόκολλο Σύνδεσης ∆εδοµένων που υλοποιεί την τεχνική επα-

νεκποµπής πλαισίων ABP.

Το πρωτόκολλο εναλλασσοµένου bit (alternating bit protocol – ABP) είναι το απλού-

στερο από τα τρία πρωτόκολλα επανεκποµπής που παρουσιάζουµε σ’ αυτό το Κεφά-

λαιο. Στην αρχή περιγράφουµε τον τρόπο λειτουργίας του και στη συνέχεια αναλύ-

ουµε την απόδοσή του. Και καταλήγουµε σ’ αυτήν την Ενότητα παραθέτοντας το

XMODEM, ένα παράδειγµα υλοποίησης του πρωτοκόλλου ABP.

4.2.1 √ ÙÚfiÔ˜ ÏÂÈÙÔ˘ÚÁ›·˜ ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ ABP

Η παύση και αναµονή (stop – and – wait) είναι η βασική ιδέα του πρωτοκόλλου ABP:

µόλις ο αποστολέας µεταδώσει ένα πλαίσιο, περιµένει την επιβεβαίωση λήψης από

τον παραλήπτη πριν προχωρήσει στην αποστολή του επόµενου πλαισίου. Εάν αυτή

η επιβεβαίωση δεν φτάσει µέσα στον προσυµφωνηµένο χρόνο προθεσµίας, τότε

µεταδίδει ξανά το πλαίσιο. Για την αποφυγή παρεξηγήσεων, η διάταξη των πλαισίων

δεδοµένων αποτυπώνεται δεσµεύοντας 1 bit στην επικεφαλίδα του πλαισίου. ∆ηλα-

δή, τα πιθανά νούµερα πλαισίων είναι τα 0 και 1. Επίσης, τα πλαίσια επιβεβαίωσης

περιέχουν αναφορές στην αρίθµηση των αντίστοιχων πλαισίων δεδοµένων που επι-

βεβαιώνουν.

Η ορθότητα του πρωτοκόλλου ABP βασίζεται στην υπόθεση ότι το φυσικό µέσο

µετάδοσης είναι «καλωδιακό» (wire – line), δηλαδή παραδίδει τα πλαίσια µε τη σειρά

αποστολής τους. Επειδή συνήθως τα δίκτυα δεδοµένων υλοποιούνται µε «καλωδια-

κά» µέσα µετάδοσης, αυτή η παραδοχή θα βρίσκεται σε ισχύ τόσο στην παρούσα,

όσο και στις επόµενες Ενότητες του Κεφαλαίου.

1 0 54 . 2 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¡ ∞ § § ∞ ™ ™ √ ª ∂ ¡ √ À B I T

Page 10: Fouskas Go Back N

1 0 6 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

¶·Ú¿‰ÂÈÁÌ· 4.3

Στο σχήµα 4.4 απεικονίζεται ένα σενάριο µετάδοσης πλαισίων, όταν το εφαρµοζό-

µενο πρωτόκολλο είναι το ABP.

Αρχικά ο αποστολέας θέλει να µεταδώσει το πρώτο πακέτο P(1). Συντάσσει το αντί-

στοιχο πλαίσιο, αριθµώντας το µε την τιµή 0, και το αποστέλλει. Αυτό παραλαµβά-

νεται χωρίς σφάλµατα στο άλλο άκρο, το οποίο επιστρέφει µία επιβεβαίωση λήψης,

η οποία είναι επίσης αριθµηµένη µε την τιµή 0.

Με την επιβεβαίωση της ορθής µετάδοσης του πρώτου πακέτου, ο αποστολέας ξεκι-

νά τη διαδικασία για τη µετάδοση του πακέτου P(2). Το αντίστοιχο πλαίσιο αριθ-

µείται µε 1, αλλά η επιβεβαίωση λήψης του αργεί να φτάσει, οπότε αποστέλλεται

ξανά στο δίκτυο ένα αντίγραφο του P(2), αριθµηµένο επίσης ως 1.

Λίγο µετά την µετάδοση του αντιγράφου του P(2), φτάνει στον αποστολέα η επιβε-

βαίωση λήψης της προηγούµενης µετάδοσης. Ελέγχεται η αρίθµησή του και επειδή

είναι η σωστή (ACK1), ο αποστολέας προχωρά στη µετάδοση του επόµενου πακέ-

του P(3).

A

Π

προθεσµίαπροθεσµίαP(1) P(2) P(2) P(3) P(3) P(4)

0

1

1 0 0 1

ACK0 ACK1 ACK0

ACK1

™¯‹Ì· 4.4

Παράδειγµα µετάδοσης

πλαισίων µε χρήση

του πρωτοκόλλου

εναλλασσοµένου bit.

Το πλαίσιο για το πακέτο P(3) αριθµείται µε το 0 και αποστέλλεται. Κατά τη µετά-

δοσή του όµως χάνεται, ενώ στον αποστολέα φτάνει µία επιβεβαίωση λήψης µε την

αρίθµηση 1. Αυτή η τιµή όµως δεν αντιστοιχεί στην τρέχουσα ανεπιβεβαίωτη απο-

στολή, οπότε και αγνοείται. Ο χρόνος προθεσµίας εκπνέει, και έτσι ο αποστολέας

επαναµεταδίδει το πακέτο P(3), κ.ο.κ.

4.2.2 ∏ ·fi‰ÔÛË ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ ABP

Για να κατανοήσουµε την απόδοση του πρωτοκόλλου εναλλασσοµένου bit και τις

παραµέτρους που την επηρεάζουν, θα µελετήσουµε αρχικά την ειδική περίπτωση

όπου δεν υπάρχουν σφάλµατα µεταφοράς στο δίκτυο και στη συνέχεια την επίδρα-

ση των σφαλµάτων µεταφοράς.

Page 11: Fouskas Go Back N

Όταν δεν υπάρχουν σφάλµατα µεταφοράς

Ας υποθέσουµε ότι δεν υπάρχουν σφάλµατα µεταφοράς κατά τη µετάδοση ενός πλαι-

σίου ή της επιβεβαίωσης της λήψης του. Αν συµβολίσουµε µε S τον ελάχιστο χρόνο

µεταξύ δύο διαδοχικών µεταδόσεων πλαισίων, τότε αυτός θα ισούται µε το άθροι-

σµα του χρόνου µετάδοσης του πλαισίου (TRANSP) συν το χρόνο διάδοσης του πλαι-

σίου (PROP) συν το χρόνο µετάδοσης της επιβεβαίωσης (TRANSA) συν το χρόνο

διάδοσης της επιβεβαίωσης (PROP). Οι χρόνοι επεξεργασίας του πλαισίου και της

επιβεβαίωσης θεωρήθηκαν, και συνήθως είναι, αµελητέοι (συγκρινόµενοι µε τους

αντίστοιχους χρόνους µετάδοσης και διάδοσης). ∆ηλαδή, ο συνολικός χρόνος που

απαιτείται για τη µεταφορά ενός πακέτου είναι:

S = TRANSP + TRANSA + 2 ¥ PROP (4.1)

Ο χρόνος S αναφέρεται συνήθως στη βιβλιογραφία ως ο χρόνος µετάβασης µετ’ επι-

στροφής (Round Trip Time – RTT).

Έτσι λοιπόν, όταν δεν υπάρχουν σφάλµατα µεταφοράς, ο αποστολέας θα µεταφέρει

διαδοχικά ένα νέο πακέτο κάθε S δευτερόλεπτα. Από αυτά τα S δευτερόλεπτα, ο απο-

στολέας απασχολείται για τη µετάδοση του αντίστοιχου πλαισίου µόνο τα TRANSP.

Οπότε, η απόδοση ηABP του πρωτοκόλλου επανεκποµπής ABP, όταν δεν γίνονται

λάθη, ισούται µε

(4.2)

¶·Ú¿‰ÂÈÁÌ· 4.4

Έστω ότι δύο κόµβοι απέχουν µεταξύ τους 100 Km και συνδέονται µε µία οπτική

ίνα. Γνωρίζουµε ότι σε µία συνήθη οπτική ίνα η ταχύτητα διάδοσης του σήµατος

είναι ίση µε 2 ¥ 105 Km/s. Εάν το µέγεθος του πλαισίου δεδοµένων είναι 2048 bits,

το µέγεθος του πλαισίου επιβεβαίωσης είναι 1024 bits, ο ρυθµός µετάδοσης δεδο-

µένων στο δίκτυο είναι ίσος µε 64 Kbps και το κανάλι επικοινωνίας είναι πλήρως

αξιόπιστο, τότε υπολογίστε την απόδοση του πρωτοκόλλου ABP.

Ο χρόνος µετάδοσης ενός πλαισίου ισούται µε το µέγεθος του διαιρεµένο δια του

ρυθµού µετάδοσης. Επίσης, ο χρόνος διάδοσης ενός bit κατά µήκος ενός καναλιού

επικοινωνίας ισούται µε την απόστασή του διαιρεµένη µε την ταχύτητα διάδοσης

του σήµατος. Από τις σχέσεις (4.2) και (4.1), θα έχουµε

hABP

TRANSP

S=

1 0 74 . 2 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¡ ∞ § § ∞ ™ ™ √ ª ∂ ¡ √ À B I T

Page 12: Fouskas Go Back N

1 0 8 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

∆ηλαδή, παρόλο που δεν έχουµε σφάλµατα µεταφοράς, έχουµε µία απώλεια απόδο-

σης περίπου 35%, η οποία οφείλεται στην αναµονή για την άφιξη των πλαισίων επι-

βεβαίωσης.

hABP =+ + ¥

¥

= ª

2 048

65 5362 048

65 536

1 024

65 5362

100

2 10

0 03125

0 04787565

5

.

..

.

.

.

,

,%

ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.2

Πώς αλλάζει η απόδοση του παραδείγµατος 4.4, όταν η απόσταση µεταξύ των κόµ-

βων αυξηθεί στα 1.000 Km ή όταν ο ρυθµός µετάδοσης αυξηθεί στα 2 Mbps;

Όταν υπάρχουν σφάλµατα µεταφοράς

Έστω ότι p είναι η πιθανότητα να µεταφερθεί σωστά ένα πλαίσιο δεδοµένων στον

παραλήπτη και να επιστρέψει χωρίς σφάλµατα η αντίστοιχη επιβεβαίωση λήψης στον

αποστολέα. Τότε, η πιθανότητα απώλειας ενός πλαισίου κατά τη µεταφορά του στο

δίκτυο θα ισούται µε 1 – p.

Έστω επίσης ότι µε X συµβολίζουµε την τυχαία µεταβλητή που περιγράφει το χρόνο

µεταξύ δύο διαδοχικών µεταδόσεων πακέτων στο δίκτυο. Όταν δεν υπάρχουν σφάλ-

µατα τότε αυτός ισούται µε S (βλέπε σχέση (4.1)). Όταν υπάρχουν σφάλµατα, τότε

ο αποστολέας αναµένει τη λήξη του χρόνου προθεσµίας T και µετά ξαναπροσπαθεί

επαναµεταδίδοντας ένα αντίγραφο του πλαισίου. Αυτές οι καταστάσεις απεικονίζο-

νται στο διάγραµµα του σχήµατος 4.5.

Υπάρχουν δύο σηµεία στο σχήµα 4.5: η έναρξη και το τέλος της µετάδοσης ενός

πακέτου, το οποίο τέλος ταυτόχρονα σηµαίνει και την έναρξη µετάδοσης του επό-

µενου πακέτου. Παρατηρούµε ότι, µε πιθανότητα p, ο αποστολέας θα µεταβεί από

την έναρξη στο τέλος και η διάρκεια της αντίστοιχης µετάβασης θα είναι ίση µε S.

Ανάλογα, µε πιθανότητα 1 – p, ο αποστολέας θα παραµείνει στην έναρξη και ο αντί-

στοιχος χρόνος αναµονής θα είναι ίσος µε T.

Page 13: Fouskas Go Back N

Με βάση τα παραπάνω, η µέση τιµή του τυχαίου χρόνου X που µεσολαβεί µεταξύ

δύο διαδοχικών µεταδόσεων πακέτων στο πρωτόκολλο ABP δίδεται από τη σχέση

(4.3)

∆ηλαδή, ο αποστολέας θα µεταδίδει, κατά µέσο όρο, ένα νέο πακέτο κάθε E[X] δευ-

τερόλεπτα. Οπότε, παρουσία σφαλµάτων µεταφοράς, η απόδοση ηABP(p) του πρω-

τοκόλλου επανεκποµπής ABP ισούται µε

(4.4) hABP p

TRANSP

E X

p TRANSP

pS p T( )

[ ] ( )= =

¥+ -1

E X pS p T E X E X S T

p

p[ ] ( )( [ ]) [ ]= + - + ¤ = +

-1

1

1 0 94 . 2 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¡ ∞ § § ∞ ™ ™ √ ª ∂ ¡ √ À B I T

ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.3

Έστω το δίκτυο δύο συνδέσµων του σχήµατος 4.6. Τα χαρακτηριστικά των συν-

δέσµων απεικονίζονται στο σχήµα, ενώ το µέγεθος του πλαισίου δεδοµένων έχει

οριστεί στα 1024 bits και το µέγεθος του πλαισίου ACK στα 256 bits. Και στους

δύο συνδέσµους εφαρµόζουµε το πρωτόκολλο επανεκποµπής ABP, έχοντας επι-

λέξει το χρόνο προθεσµίας ίσο µε τον αντίστοιχο χρόνο µετάβασης µετ’ επιστρο-

φής (RTT).

Ποια είναι η διαµετακοµιστική ικανότητα του καναλιού επικοινωνίας ΑΓ;

[T,1 - p]

τυχαίος χρόνος X

[S,p]

επιτυχία

σφάλµα

Έναρξη Tέλος

™¯‹Ì· 4.5

Η συµπεριφορά του τυχαίου χρόνου που µεσολαβεί µεταξύ δύο διαδο-

χικών µεταδόσεων πακέτων στο πρωτόκολλο εναλλασσοµένου bit.

Page 14: Fouskas Go Back N

1 1 0 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

4.2.3 ∆Ô ÚˆÙfiÎÔÏÏÔ XMODEM

Το XMODEM είναι ένα πολύ απλό πρωτόκολλο Επιπέδου Σύνδεσης ∆εδοµένων, το

οποίο µπορεί να χρησιµοποιηθεί για την εγκαθίδρυση απευθείας επικοινωνίας δύο προ-

σωπικών υπολογιστών µέσω modems. Το XMODEM υλοποιεί την τεχνική επανεκ-

ποµπής του εναλλασσοµένου bit. Αναπτύχθηκε από τον Ward Cristensen το 1977, ο

οποίος και διένειµε δωρεάν τον πηγαίο κώδικά του. Έτυχε ευρείας αποδοχής και χρή-

σης και για πολλά χρόνια αποτέλεσε το σηµείο αναφοράς στα πρωτόκολλα του είδους.

™¯‹Ì· 4.6

Το δίκτυο δύο

συνδέσµων για την

άσκηση αυτοαξιο-

λόγησης 4.3.

A B Γ

128 Kbps 2Km

ασύρµατη ζεύξη

3¥105 Km/s p = 0,9

10 Mbps 100 Km

οπτική ίνα

2¥105 Km/s p = 1

™¯‹Ì· 4.7

Η δοµή

του πλαισίου

XMODEM.

1 1 1 1128

Bytes

SO

H

NU

M

CN

UM

DATA

CK

SΗ δοµή του πλαισίου XMODEM απεικονίζεται στο σχήµα 4.7. Η αρχή της επικε-

φαλίδας (Start of Header, SOH) δηλώνεται µε τον ειδικό χαρακτήρα 0000001, ενώ

ο επόµενος χαρακτήρας (NUM) περιέχει τον αριθµό του πλαισίου. Επειδή το µήκος

του πεδίου NUM είναι 8 bits, η αρίθµηση των πλαισίων διενεργείται modulo 256.

Για την προστασία του πεδίου NUM από σφάλµατα µεταφοράς, το πλαίσιο

XMODEM έχει εφοδιαστεί µε το πεδίο CNUM, το οποίο περιέχει το συµπλήρωµα

ως προς 1 του NUM, δηλαδή το χαρακτήρα που παίρνουµε αν αντιστρέψουµε όλα

τα bits του NUM. Το πεδίο DATA είναι σταθερού µεγέθους (128 bytes) και περιέχει

τα µεταφερόµενα δεδοµένα. Τέλος, το πεδίο CKS (checksum – άθροισµα ελέγχου)

περιέχει το άθροισµα των 128 bytes του πεδίου DATA (modulo 256) και χρησιµο-

ποιείται για την ανίχνευση σφαλµάτων µεταφοράς στο πεδίο δεδοµένων. Σε µία

µεταγενέστερη έκδοση του XMODEM, το XMODEM – CRC, το άθροισµα ελέγχου

έχει αντικατασταθεί µε έναν κώδικα κυκλικού πλεονασµού (Cyclic Redundancy

Check, CRC) εύρους 16 – bit.

Όταν ο παραλήπτης δε λαµβάνει δεδοµένα, τότε στέλνει ένα πλαίσιο αρνητικής επι-

Page 15: Fouskas Go Back N

βεβαίωσης (negative ACK – NACK) σε προκαθορισµένα χρονικά διαστήµατα, π.χ.

κάθε 15 δευτερόλεπτα. Το πλαίσιο NACK περιέχει στα δεδοµένα του µόνο τον ειδι-

κό χαρακτήρα 00010101. Όταν ο αποστολέας έχει να µεταφέρει δεδοµένα, τότε

συντάσσει το αντίστοιχο πλαίσιο και περιµένει την άφιξη του εποµένου NACK για

να αρχίσει τη µετάδοσή του, εκτός εάν έχει ήδη λάβει ACK για το τελευταίο πλαί-

σιο που στάλθηκε.

Στο άκρο του παραλήπτη το ληφθέν πλαίσιο ελέγχεται ως προς την ορθότητά του

και αντίστοιχα επιστρέφεται στον αποστολέα ένα πλαίσιο ACK (χαρακτήρας

00000110), εάν ήταν σωστό, ή ένα πλαίσιο NACK, εάν ήταν λανθασµένο. Αν ο απο-

στολέας λάβει ένα πλαίσιο ACK τότε µεταδίδει το επόµενο πακέτο. Αν λάβει ένα

πλαίσιο NACK τότε µεταδίδει ένα αντίγραφο του ανεπιβεβαίωτου πακέτου. Βέβαια

υπάρχει και η περίπτωση να χαθεί το πλαίσιο επιβεβαίωσης (θετικής ή αρνητικής,

δεν έχει σηµασία). Σ’ αυτήν την περίπτωση ο παραλήπτης, αφού περιµένει για 15

δευτερόλεπτα, δε λαµβάνει δεδοµένα και γι’ αυτό ξαναστέλνει ένα πλαίσιο NACK.

Παρατηρούµε ότι στο πρωτόκολλο XMODEM ο χρόνος προθεσµίας ελέγχεται στο

άκρο του παραλήπτη και όχι του αποστολέα.

Για να δηλωθεί το τέλος µετάδοσης των δεδοµένων, ο αποστολέας στέλνει τον ειδι-

κό χαρακτήρα EOT (end of text – 00000100) και περιµένει την επιβεβαίωσή του.

∆ιάφορες παραλλαγές του πρωτοκόλλου XMODEM έχουν προταθεί και υλοποιη-

θεί, στοχεύοντας να βελτιώσουν την απόδοσή του πάνω από γραµµές µε υψηλό

ρυθµό διαµεταγωγής αλλά και να προσθέσουν διάφορες χρήσιµες λειτουργίες (όπως

π.χ. η µαζική αποστολή αρχείων). Από αυτές θα ξεχωρίσουµε τα πρωτόκολλα

XMODEM – 1K και YMODEM (όπου το µέγεθος του πεδίου DATA αυξήθηκε στα

1024 bytes) και ZMODEM (όπου δεν απαιτείται η επιβεβαίωση λήψης για κάθε

µεταφερόµενο πλαίσιο δεδοµένων).

1 1 14 . 2 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¡ ∞ § § ∞ ™ ™ √ ª ∂ ¡ √ À B I T

¢Ú·ÛÙËÚÈfiÙËÙ· 4.3

Ένα πολύ δηµοφιλές πρωτόκολλο για επικοινωνία µέσω modems µεταξύ δύο υπο-

λογιστών είναι το Kermit. Όπως και το XMODEM, τοποθετείται στο Επίπεδο Σύν-

δεσης ∆εδοµένων και χρησιµοποιεί µία τεχνική επανεκποµπής πλαισίων παρόµοια

µε την ABP. Είναι όµως πιο πολύπλοκο, αλλά περισσότερο αποδοτικό, από το

XMODEM. Αφού αναζητήσετε στο ∆ιαδίκτυο υλικό σχετικό µε το πρωτόκολλο

Kermit και το µελετήσετε, περιγράψτε συνοπτικά τη δοµή του πλαισίου του και

τον τρόπο λειτουργίας του.

Page 16: Fouskas Go Back N

1 1 2 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

4.3 ∆Ô ÚˆÙfiÎÔÏÏÔ ÔÈÛıÔ¯ÒÚËÛ˘ ηٿ N

¶ÚÔÛ‰ÔÎÒÌÂÓ· aÔÙÂϤÛÌ·Ù·

Όταν θα έχετε µελετήσει αυτήν την ενότητα θα µπορείτε να :

• περιγράψετε τον τρόπο λειτουργίας του πρωτοκόλλου οπισθοχώρησης κατά Ν (GBN),

• εξηγήσετε γιατί το πρωτόκολλο GBN χαρακτηρίζεται ως πρωτόκολλο ολισθαίνο-

ντος παραθύρου (sliding window protocol),

• ορίσετε την αρνητική επιβεβαίωση λήψης και να περιγράψετε πώς µπορεί να βελ-

τιώσει την αποδοτικότητα του πρωτοκόλλου GBN,

• προσδιορίσετε την απόδοση του πρωτοκόλλου, τόσο κατά την απουσία σφαλµά-

των µεταφοράς, όσο και κατά την ύπαρξη αυτών,

• εξηγήσετε πώς µπορούµε να επιτύχουµε την µέγιστη απόδοση του 100%, όταν φυσι-

κά δεν έχουµε σφάλµατα µεταφοράς,

• αναφέρετε ένα πρωτόκολλο Σύνδεσης ∆εδοµένων που υλοποιεί την τεχνική επα-

νεκποµπής πλαισίων GBN.

Το πρωτόκολλο οπισθοχώρησης κατά Ν (GO BACK N – GBN) έχει βελτιωµένη από-

δοση συγκρινόµενο µε το ABP, αλλά ταυτόχρονα εµφανίζει αυξηµένη πολυπλοκό-

τητα. Η βασική λειτουργική τους διαφορά είναι ότι το πρωτόκολλο GBN επιτρέπει

στον αποστολέα να έχει περισσότερα του ενός ανεπιβεβαίωτα πλαίσια υπό µεταφο-

ρά, ενώ το ABP επιτρέπει την ύπαρξη µόνο ενός ανεπιβεβαίωτου πλαισίου.

Στην αρχή περιγράφουµε τον τρόπο λειτουργίας του πρωτοκόλλου GBN και στη

συνέχεια αναλύουµε την απόδοσή του για την περίπτωση που δεν υπάρχουν σφάλ-

µατα µεταφοράς, αλλά και για την περίπτωση όπου υπάρχουν. Στο τέλος αυτής της

Ενότητας περιγράφουµε το LAPB, ένα πρωτόκολλο Σύνδεσης ∆εδοµένων που χρη-

σιµοποιείται στο δηµόσιο δίκτυο µεταγωγής δεδοµένων X.25 και υλοποιεί την τεχνι-

κή επανεκποµπής GO BACK N.

4.3.1 √ ÙÚfiÔ˜ ÏÂÈÙÔ˘ÚÁ›·˜ ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ GO BACK N

Στο πρωτόκολλο οπισθοχώρησης κατά Ν, ο αποστολέας µπορεί να στείλει ένα πλή-

θος από πλαίσια δεδοµένων πριν λάβει την πρώτη επιβεβαίωση λήψης από τον παρα-

λήπτη. Το πλήθος αυτών των ανεπιβεβαίωτων πλαισίων ονοµάζεται µέγεθος παρα-

θύρου και συµβολίζεται µε W.

Ο αποστολέας λοιπόν µεταδίδει τα πλαίσια µε αριθµό 0, 1, 2, …, W – 1 και µετά

αναµένει, για κάποια προκαθορισµένη προθεσµία T, την άφιξη της αντίστοιχης επι-

Page 17: Fouskas Go Back N

βεβαίωσης λήψης για κάθε µεταφερόµενο πλαίσιο.

Μόλις ο αποστολέας παραλάβει την επιβεβαίωση λήψης ACK – 0 για το πλαίσιο 0,

τότε µεταδίδει το επόµενο πλαίσιο W. Ανάλογα, µόλις παραλάβει το ACK – 1, τότε

αποστέλλει το πλαίσιο W + 1. Έτσι, φροντίζει κάθε στιγµή να βρίσκονται υπό µετα-

φορά ένα παράθυρο W ανεπιβεβαίωτων πλαισίων.

Τι γίνεται όµως όταν ο αποστολέας δε λάβει µία επιβεβαίωση λήψης εντός της προ-

θεσµίας T; Σ’ αυτήν την περίπτωση, ο αποστολέας µεταδίδει το αντίστοιχο παράθυρο

µε πλαίσιο έναρξης το ανεπιβεβαίωτο πλαίσιο του οποίου έληξε ο χρόνος προθεσµίας.

∆ηλαδή, εάν ο αποστολέας δε λάβει, εντός προθεσµίας, επιβεβαίωση για το πλαίσιο

n, τότε µεταδίδει ξανά τα πλαίσια n, n + 1, n + 2, …, n + W – 1. Η ίδια ακολουθία πλαι-

σίων επαναµεταδίδεται και στην περίπτωση που ο αποστολέας λάβει επιβεβαίωση για

το πλαίσιο n + 1 χωρίς να έχει λάβει την επιβεβαίωση λήψης του πλαισίου n.

¶·Ú¿‰ÂÈÁÌ· 4.5

Στο σχήµα 4.8 απεικονίζεται ένα σενάριο µετάδοσης πλαισίων, όταν το εφαρµοζό-

µενο πρωτόκολλο είναι το GO BACK N και το µέγεθος του παραθύρου έχει οριστεί

σε W = 4 πλαίσια.

Αρχικά ο αποστολέας µεταδίδει το παράθυρο των πλαισίων 0, 1, 2, 3. Τα πλαίσια

αυτά φτάνουν χωρίς σφάλµατα στον παραλήπτη και παραδίδονται στο ανώτερο επί-

πεδο προς περαιτέρω επεξεργασία. Ταυτόχρονα, συντάσσονται τα αντίστοιχα πλαί-

σια επιβεβαίωσης λήψης και µεταδίδονται πίσω στον αποστολέα.

Όταν ο αποστολέας λάβει τα πλαίσια ACK – 0 και ACK – 1, µεταδίδει τα επόµενα πλαί-

σια (4 και 5, αντίστοιχα) στο δίκτυο, τα οποία επίσης παραλαµβάνονται χωρίς πρόβλη-

µα από τον παραλήπτη και προωθούνται µε τη σειρά τους για περαιτέρω επεξεργασία.

1 1 34 . 3 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ √ ¶ π ™ £ O Ã ø ƒ ∏ ™ ∏ ™ ∫ ∞∆∞ N

™¯‹Ì· 4.8

Παράδειγµα

µετάδοσης πλαισίων µε

χρήση του πρωτοκόλλου

οπισθοχώρησης κατά Ν.προθεσµίαπροθεσµία

παράδοση παράδοση παράδοσηαπέρριψε αυτά

τα πακέτα (εκτός σειράς)

απέρριψε αυτά τα πακέτα

(εκτός σειράς)

µετέδωσε όλα τα πλαίσια από το 2 και µετά

A

Π

0 1 2 3 2 3 4 54 5 6 7 4 5 6 7

Page 18: Fouskas Go Back N

1 1 4 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

Όµως, το πλαίσιο ACK – 2 αλλοιώνεται κατά τη µεταφορά του και έτσι εκπνέει η

προθεσµία που έχει οριστεί για τη λήψη του. Αυτό, πυροδοτεί µία επανεκποµπή όλων

των πλαισίων του παραθύρου από το πλαίσιο 2 και µετά, δηλαδή των πλαισίων 2, 3,

4 και 5. Τα πλαίσια 2, 3 και 5 φτάνουν χωρίς σφάλµατα στον παραλήπτη, ο οποίος

όµως τα απορρίπτει καθώς έχουν ήδη προωθηθεί και βρίσκονται πλέον εκτός σειράς.

Το πλαίσιο 4 αλλοιώνεται κατά τη µεταφορά του. Με την εκπνοή της προθεσµίας

του, ο αποστολέας είναι υποχρεωµένος να µεταδώσει ξανά τα πλαίσια 4, 5, 6 και 7

στο δίκτυο, κ.ο.κ.

Η µαζική µετάδοση ανεπιβεβαίωτων πλαισίων βελτιώνει την απόδοση του πρωτο-

κόλλου GBN έναντι του ABP. Στο παράδειγµά µας, εάν είχαµε εφαρµόσει το πρω-

τόκολλο ABP, θα είχαµε µεταδώσει µόλις 3 πλαίσια στον ίδιο χρόνο, δεχόµενοι µάλι-

στα ότι δε θα υπήρχαν σφάλµατα µεταφοράς.

ÕÛÎËÛË a˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.4

Για τη βελτίωση του πρωτοκόλλου GBN µπορούν να χρησιµοποιηθούν οι αρνητι-

κές επιβεβαιώσεις (negative ACKs – NACKs). Όταν ο παραλήπτης αντιληφθεί ένα

κενό στην αρίθµηση των ληφθέντων πλαισίων, τότε συντάσσει ένα πλαίσιο NACK,

το οποίο αριθµείται µε τον αριθµό του απολεσθέντος πλαισίου και το µεταδίδει

πίσω στον αποστολέα. Όταν ο αποστολέας λάβει την αρνητική επιβεβαίωση, ανα-

µεταδίδει το παράθυρο, από το πλαίσιο που δηλώθηκε µε το NACK και µετά, χωρίς

να χρειάζεται να περιµένει την εκπνοή του αντίστοιχου χρόνου προθεσµίας.

Στο σχήµα 4.9 παρουσιάζεται µία ακολουθία µεταδόσεων πλαισίων. Υποθέτοντας

ότι δε θα υπάρξουν µελλοντικά άλλα σφάλµατα µετάδοσης, ολοκληρώστε το σχήµα

γνωρίζοντας ότι στο σύνδεσµο υλοποιείται (α) το σχήµα επανεκποµπής GBN και

(β) το GBN µε αρνητικές επιβεβαιώσεις. Και στις δύο περιπτώσεις το µέγεθος

παραθύρου έχει οριστεί ίσο µε 5.

προθεσµία

A

Π

0 1 2 3 4

™¯‹Ì· 4.9

Η ακολουθία µεταδό-

σεων πλαισίων για

την άσκηση αυτοα-

ξιολόγησης 4.4.

Page 19: Fouskas Go Back N

4.3.2 ∏ ·fi‰ÔÛË ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ GO BACK N

Αρχικά θα εξετάσουµε την περίπτωση όπου δεν υπάρχουν σφάλµατα µεταφοράς στο

δίκτυο και στη συνέχεια τη γενικότερη περίπτωση όπου τα πλαίσια αλλοιώνονται

κατά τη µεταφορά τους.

Όταν δεν υπάρχουν σφάλµατα µεταφοράς

Έστω S ο χρόνος που απαιτείται µεταξύ της έναρξης της µετάδοσης ενός πλαισίου

και της άφιξης της αντίστοιχης επιβεβαίωσης. Υπενθυµίζουµε ότι, απουσία σφαλ-

µάτων µεταφοράς, ο χρόνος αυτός δίδεται από τη σχέση

S = TRANSP + TRANSA +2 ¥ PROP (4.5)

όπου TRANSP είναι ο χρόνος µετάδοσης του πλαισίου, TRANSA είναι ο χρόνος µετά-

δοσης της επιβεβαίωσης και PROP είναι ο χρόνος διάδοσης του πλαισίου, αλλά και

της επιβεβαίωσης.

Στο πρωτόκολλο GBN, ο αποστολέας µεταδίδει αρχικά τα πλαίσια 0, 1, 2, …, W – 1

και αναµένει την επιβεβαίωση του πλαισίου 0, η οποία φτάνει µετά από S δευτερόλε-

πτα. Στη συνέχεια, µεταδίδει το πλαίσιο W, η επιβεβαίωση του οποίου φτάνει επίσης

µετά από S δευτερόλεπτα. Το ίδιο και µε το πλαίσιο W + 1, αλλά και µε όλα τα µετα-

βιβαζόµενα πλαίσια. Έτσι, παρατηρούµε ότι κάθε S δευτερόλεπτα, ο αποστολέας µετα-

δίδει W πλαίσια. Οπότε, η απόδοση του πρωτοκόλλου GBN είναι ίση µε

Στην παραπάνω ανάλυση κάναµε τη σιωπηρή αποδοχή ότι ο S ≥ W ¥ TRANSP, δηλα-

δή ότι ο χρόνος που απαιτείται για να φτάσει η επιβεβαίωση του πρώτου ανεπιβε-

βαίωτου πλαισίου ενός παραθύρου είναι ίσος ή µεγαλύτερος από το συνολικό χρόνο

µετάδοσης των πλαισίων του παραθύρου. Εάν αυτό δεν ισχύει, δηλαδή όταν S < W

¥ TRANSP, τότε ο αποστολέας στέλνει συνεχώς πλαίσια στο δίκτυο, οπότε η από-

δοση του πρωτοκόλλου GBN είναι ίση µε 100%.

Συνοψίζοντας, η απόδοση ηGBN του πρωτοκόλλου GBN, όταν δεν υπάρχουν σφάλ-

µατα µεταφοράς, δίδεται από τη σχέση

(4.6)

¶·Ú¿‰ÂÈÁÌ· 4.6

Έστω ότι δύο κόµβοι απέχουν µεταξύ τους 100 Km και συνδέονται µε µία οπτική

hGBN

W TRANSP

S=

¥ÏÌÓ

¸ýþ

min ,1

W TRANSP

S

¥

1 1 54 . 3 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ √ ¶ π ™ £ √ Ã ø ƒ ∏ ™ ∏ ™ ∫ ∞∆∞ N

Page 20: Fouskas Go Back N

1 1 6 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

ίνα. Εάν το µέγεθος του πλαισίου δεδοµένων είναι 1024 bits, το µέγεθος του πλαι-

σίου επιβεβαίωσης είναι 256 bits, ο ρυθµός µετάδοσης δεδοµένων στο δίκτυο είναι

ίσος µε 34 Mbps και το κανάλι επικοινωνίας είναι πλήρως αξιόπιστο, τότε υπολογί-

στε την απόδοση του πρωτοκόλλου GBN και συγκρίνετέ την µ’ αυτή του ABP.

Οι χρόνοι µετάδοσης πλαισίου TRANSP και µετάβασης µετ’ επιστροφής S είναι ίσοι µε

Από τη σχέση (4.2) υπολογίζουµε ότι η απόδοση του ABP είναι

.

Επίσης, για µέγεθος παραθύρου W, η απόδοση του πρωτοκόλλου GBN είναι

Από την παραπάνω σχέση διαπιστώνουµε ότι, εφαρµόζοντας το πρωτόκολλο GBN

µε W = 2, η απόδοση του δικτύου αυξάνει σε 5,6%. Όσο µεγαλύτερο επιλέγεται το

µέγεθος του παραθύρου, τόσο βελτιωµένη εµφανίζεται η απόδοση. Έτσι, µπορεί να

επιτευχθεί ακόµα και η βέλτιστη απόδοση του 100%, επιλέγοντας µέγεθος παραθύ-

ρου ίσο µε 36.

Όταν υπάρχουν σφάλµατα µεταφοράς

Το διάγραµµα καταστάσεων του σχήµατος 4.10 απεικονίζει την τυχαία εξέλιξη του

πρωτοκόλλου GO BACK N, όπου η κατάσταση n αντιπροσωπεύει την έναρξη της

µετάδοσης µιας ακολουθίας n πακέτων.

Εάν p είναι η πιθανότητα να µεταφερθεί σωστά ένα πλαίσιο δεδοµένων και η αντί-

στοιχη επιβεβαίωσή του, τότε το οριζόντιο βέλος από την κατάσταση n στην κατά-

σταση n – 1 υποδηλώνει ότι ο αποστολέας µεταβίβασε µε επιτυχία ένα πλαίσιο και,

µετά από χρόνο TRANSP, επιχειρεί τη µετάδοση µιας ακολουθίας n – 1 πακέτων.

Αντίστοιχα, το κυκλικό βέλος υποδηλώνει ότι, µε πιθανότητα 1 – p, το πλαίσιο δεδο-

µένων ή το πλαίσιο επιβεβαίωσης υπέστησαν αλλοίωση κατά τη µεταφορά τους και

έτσι, µετά από την εκπνοή της προθεσµίας T, ο αποστολέας επιχειρεί ξανά τη µετά-

δοση της ακολουθίας των n πακέτων.

hGBN

W=

¥ÏÌÓ

¸ýþ

min ,,

,1

0 029

1 036

hABP = ª

0 029

1 0362 8

,

,, %

S =

¥ ¥+

¥ ¥+ ¥

¥ª

1 024

34 1 024 1 024

256

34 1 024 1 0242

100

2 101 036

5

.

. . . ., msec

TRANSP =

¥ ¥ª

1 024

34 1 024 1 0240 029

.

. ., msec

Page 21: Fouskas Go Back N

Αντίστοιχη είναι η ερµηνεία της συµπεριφοράς του πρωτοκόλλου όταν ξεκινά τη

µετάδοση της ακολουθίας των n – 1 πακέτων, αλλά και σε όλες τις υπόλοιπες κατα-

στάσεις. Οπότε, η µέση τιµή E[X] του τυχαίου χρόνου που µεσολαβεί µεταξύ δύο

διαδοχικών µεταδόσεων πακέτων, δηλαδή για τη µετάβαση από την κατάσταση n

στην κατάσταση n – 1, για οποιοδήποτε n, δίδεται από τη σχέση

(4.7)

Και επειδή ο χρήσιµος χρόνος είναι αυτός της µετάδοσης του πλαισίου, η απόδοση

του πρωτοκόλλου επανεκποµπής GO BACK N ισούται µε

(4.8)

Εάν επιλέξουµε το χρόνο προθεσµίας T να είναι ίσος µε εκείνη την τιµή του χρόνου

µετάβασης µετ’ επιστροφής που δίδει τη µέγιστη απόδοση του 100% απουσία σφαλ-

µάτων µεταφοράς, δηλαδή εάν επιλέξουµε

T = W ¥ TRANSP

τότε η απόδοση ηGBN (p) εκφράζεται ως ακολούθως

(4.9)

hGBN p

Wp

p

( ) =+

-1

11

hGBN pTRANSP

E X

TRANSP

TRANSP Tp

p

( )[ ]

= =+

-1

E X p TRANSP p T E X E X TRANSP T

p

p[ ] ( )( [ ]) [ ]= ¥ + - + ¤ = +

-1

1

1 1 74 . 3 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ √ ¶ π ™ £ O Ã ø ƒ ∏ ™ ∏ ™ ∫ ∞∆∞ N

[T,1 - p]

τυχαίος χρόνος X

[TRANSP, p] [TRANSP, p]

επιτυχία επιτυχία

σφάλµα

[T,1 - p]

σφάλµα

[T,1 - p]

σφάλµα

n n -1 n -2

™¯‹Ì· 4.10

Η εξέλιξη του πρωτοκόλ-

λου GO BACK N, όπου η

κατάσταση n αντιπροσω-

πεύει την έναρξη της µετά-

δοσης µιας ακολουθίας n

πακέτων.

Page 22: Fouskas Go Back N

1 1 8 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

4.3.3 ∂Ê·ÚÌÔÁ‹ Ù˘ Ù¯ÓÈ΋˜ GBN ÛÙ· ‰ËÌfiÛÈ· ‰›ÎÙ˘·

‰Â‰ÔÌ¤ÓˆÓ Ã.25

Πριν από την εµφάνιση του ∆ιαδικτύου, το δηµόσιο δίκτυο δεδοµένων Χ.25 αποτε-

λούσε µία οικονοµική εναλλακτική λύση στα µισθωµένα κυκλώµατα για την υλο-

ποίηση υπηρεσιών ανταλλαγής δεδοµένων, καθώς ο συνδροµητής χρεωνόταν ανα-

λογικά της χρήσης του. Μετά την καθολική αποδοχή του ∆ιαδικτύου, η χρήση των

δηµοσίων δικτύων δεδοµένων έχει αισθητά ατονήσει.

Το Χ.25 αποτελεί σύσταση του διεθνούς οργανισµού τυποποίησης για τις τηλεπι-

κοινωνίες ITU – T και προδιαγράφει τη διεπαφή µεταξύ των χρηστών – συνδροµη-

τών και του δηµοσίου δικτύου δεδοµένων και τα πρωτόκολλα που χρησιµοποιού-

νται στα Επίπεδα 1, 2 και 3 κατά τη µεταξύ τους επικοινωνία. Η πρώτη µορφή της

σύστασης Χ.25 δηµιουργήθηκε το 1976 και έκτοτε αναθεωρείται περιοδικά. Σηµα-

ντικές βελτιώσεις του Χ.25 αναπτύχθηκαν µέχρι το 1984, οπότε έλαβε και τη σηµε-

ρινή µορφή του.

Στο Επίπεδο ∆ικτύου το Χ.25 χρησιµοποιεί το πρωτόκολλο PLP (packet – layer

protocol). Επίσης, στο Φυσικό Επίπεδο του δικτύου Χ.25 χρησιµοποιούνται ένα πλή-

θος τυποποιηµένων διασυνδέσεων, µε ευρύτερα χρησιµοποιούµενες τις X.21bis,

EIA/TIA – 232 και G.703. Στο Επίπεδο Σύνδεσης ∆εδοµένων, το πρωτόκολλο που

χρησιµοποιείται είναι το LAPB (link access protocol, Balanced).

Το πλαίσιο του LAPB είναι παρόµοιο µ’ αυτό του πρωτοκόλλου HDLC που παρου-

σιάσαµε στην Ενότητα 3.1.2 (βλέπε σχήµα 4.11). Η επικεφαλίδα (address + control)

και το πεδίο CRC έχουν µήκος 16 bits, και κατά τη µετάδοση του πλαισίου χρησι-

µοποιείται επίσης η τεχνική της προσθήκης bit για την αποφυγή εµφάνισης των ειδι-

κών ακολουθιών ελέγχου (flags) µέσα στα δεδοµένα του πλαισίου.

8 8 8 16 8

bits

Flag Flagaddress control CRC

πλαίσιο LAPB{

µεταβλητό

δεδοµένα

πακέτο PLP{™¯‹Ì· 4.11

Η δοµή του πλαι-

σίου LAPB.

Page 23: Fouskas Go Back N

Υπάρχουν τριών ειδών πλαίσια: τα τύπου – I, τα τύπου – S και τα τύπου – U. Τα πλαί-

σια τύπου – I (information frames), µεταφέρουν τα δεδοµένα της επικοινωνίας και

µερικές πληροφορίες ελέγχου. Τα πλαίσια τύπου – S (supervisory frames) και τα πλαί-

σια τύπου – U (unnumbered frames) µεταφέρουν µόνο πληροφορίες ελέγχου.

Το πρωτόκολλο LAPB χρησιµοποιεί την τεχνική επανεκποµπής GO BACK N µε

θετικές και αρνητικές επιβεβαιώσεις, ενώ το µέγεθος του παραθύρου µπορεί να πάρει

τιµή από 1 έως 8. Οι απαραίτητες πληροφορίες αρίθµησης των πλαισίων και των επι-

βεβαιώσεων περιέχονται µόνο στα πλαίσια τύπου – I και τύπου – S και συγκεκρι-

µένα στο πεδίο ελέγχου αυτών. Η µορφή του πεδίου ελέγχου του πλαισίου LAPB

παρουσιάζεται στο σχήµα 4.12.

Όπως παρατηρούµε στο σχήµα 4.12, σε κάθε πλαίσιο δεδοµένων (που, εξ ορισµού,

είναι τύπου – I) υπάρχει το πεδίο Ns, εύρους 3 bits, στο οποίο καταχωρείται ο αριθ-

µός του πλαισίου modulo 8.

1 1 94 . 3 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ √ ¶ π ™ £ √ Ã ø ƒ ∏ ™ ∏ ™ ∫ ∞∆∞ N

TYΠOΣ

Information

1

1

1 1

1

1

1

1

1

1

1

1

1

1 1

1 1 1

1

2 3 4 5 6 7 8

Bits πεδίου ελέγχου

ENTOΛH I

AΠOKPIΣH

0

0

0 0

00

0 0

0

00

0

Ns P

P

P

P/F

P/F

P/F

Nr

Nr

Nr

NrREJ

RNR

RR

REJ

RNR

RR

SAMB

DISC

DM

UA

FRMR

Unnumbered

Frames

Supervisory

Frames

1 1 1 0 F

F

F

0

0

0

0

0

0

0

0

0

0

1

1

1

1

PR : Receive Ready

RNR : Receive Not Ready

REJ : Reject

SAMB : Set Asynchronous

Balanced Mode

DISC : Disconnect

DM : Disconnect Mode

UA : Unnumbered ACK

FRMR : Frame Reject

P/F : Poll/Final

™¯‹Ì· 4.12

Η µορφή του πεδίου ελέγχου του πλαισίου LAPB.

Page 24: Fouskas Go Back N

1 2 0 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

Όµως, στο πλαίσιο τύπου – I υπάρχει και ένας ακόµα απαριθµητής, ο Nr, ο οποίος

καταλαµβάνει τα bits 6, 7 και 8 του πεδίου ελέγχου. Ποια θα µπορούσε άραγε να είναι

η χρήση του; Λοιπόν, αυτός ο απαριθµητής χρησιµοποιείται για την υλοποίηση της

εµβόλιµης επιβεβαίωσης λήψης (piggy – backing), µιας τεχνικής που αναφέραµε στην

ενδεικτική απάντηση της ∆ραστηριότητας 4.2. Συγκεκριµένα, η τιµή του υπολογίζε-

ται µε την πρόσθεση µίας µονάδας στην τιµή που είχε ο απαριθµητής Ns στο τελευ-

ταίο πλαίσιο δεδοµένων που ελήφθη. Έτσι, ο κόµβος που αποστέλλει το πλαίσιο – I

ενηµερώνει τον απέναντί του κόµβο, ότι έχει παραλάβει επιτυχώς το πλαίσιο µε αριθ-

µό Nr – 1 και ότι, τώρα αναµένει το πλαίσιο δεδοµένων µε αριθµό Nr.

Εκτός της εµβόλιµης επιβεβαίωσης λήψης, το LAPB διαθέτει και ξεχωριστά πλαί-

σια επιβεβαίωσης, θετικής ή αρνητικής, τα οποία υλοποιούνται µε πλαίσια τύπου –

S. Συγκεκριµένα, το πλαίσιο RR (receive ready) επιβεβαιώνει τον αποστολέα, ότι

έχει ληφθεί χωρίς σφάλµατα το πλαίσιο µε αριθµό Nr – 1 και ότι ο παραλήπτης µπο-

ρεί να δεχθεί το επόµενο πλαίσιο. Το πλαίσιο RNR (receive not ready) επιβεβαιώνει

επίσης τον αποστολέα για την ορθή λήψη του πλαισίου Nr – 1, αλλά ταυτόχρονα τον

ενηµερώνει ότι ο απέναντι κόµβος δεν µπορεί να δεχθεί άλλο πλαίσιο. Αυτή η κατά-

σταση αδυναµίας λήψης τερµατίζεται µε την αποστολή πλαισίου RR. Επίσης, το

πλαίσιο REJ είναι ένα πλαίσιο NACK και η λήψη του από τον αποστολέα πυροδο-

τεί µία µαζική µετάδοση πλαισίων από το Nr και µετά.

Τέλος, τα πλαίσια τύπου – U µεταφέρουν πληροφορίες που απαιτούνται για την εγκα-

θίδρυση και τον τερµατισµό των λογικών καναλιών επικοινωνίας µεταξύ αποστολέα

και παραλήπτη κόµβου.

4.4 ∆Ô ÚˆÙfiÎÔÏÏÔ ÂÈÏÂÎÙÈ΋˜ ·ӿÏ˄˘

¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·

Όταν θα έχετε µελετήσει αυτήν την ενότητα θα µπορείτε να :

• περιγράψετε τον τρόπο λειτουργίας του πρωτοκόλλου επιλεκτικής επανάληψης (SRP),

• προσδιορίσετε τα κοινά χαρακτηριστικά των πρωτοκόλλων SRP και GBN, αλλά

και τις µεταξύ τους διαφορές,

• εξηγήσετε πώς περιορίζουµε το µέγιστο αριθµό πλαισίων που ενδέχεται να χρεια-

στούν προσωρινή αποθήκευση στον παραλήπτη κατά την εφαρµογή του SRP,

• περιγράψετε τον τρόπο αρίθµησης των πλαισίων στο πρωτόκολλο SRP,

• προσδιορίσετε την απόδοση του πρωτοκόλλου, τόσο κατά την απουσία σφαλµά-

Page 25: Fouskas Go Back N

των µεταφοράς, όσο και κατά την ύπαρξη αυτών,

• κατατάξετε τα πρωτόκολλα ABP, GBN και SRP ως προς την πολυπλοκότητά τους

και ως προς την απόδοσή τους.

Όπως το πρωτόκολλο GBN, έτσι και το πρωτόκολλο επιλεκτικής επανάληψης

(selective repeat protocol – SRP) επιτρέπει στον αποστολέα να έχει ένα πλήθος ανε-

πιβεβαίωτων πλαισίων υπό µεταφορά.

Σύµφωνα µε όσα είδαµε στην Ενότητα 4.3, το πρωτόκολλο GBN µπορεί να µετα-

δώσει πλαίσια που παρεδόθησαν στον παραλήπτη χωρίς σφάλµατα µεταφοράς και

τα οποία έχουν ήδη επιβεβαιωθεί εντός του χρόνου προθεσµίας. Για παράδειγµα, εάν

το πλαίσιο 1 αλλοιωθεί κατά τη µεταφορά του, ενώ τα πλαίσια 2, 3,…, W και οι αντί-

στοιχες επιβεβαιώσεις τους παραδοθούν σωστά, τότε ο αποστολέας είναι υποχρεω-

µένος να µεταδώσει όλα τα πλαίσια από την αρχή. Αυτές οι επαναµεταδόσεις, οι

οποίες επιβραδύνουν την απόδοση του πρωτοκόλλου GBN, δεν υπάρχουν στο πρω-

τόκολλο επιλεκτικής επανάληψης. Αντίθετα, όπως άλλωστε δηλώνει και το όνοµά

του, το πρωτόκολλο SRP επαναλαµβάνει επιλεκτικά µόνο εκείνες τις µεταδόσεις για

τις οποίες δεν υπάρχει εµπρόθεσµη επιβεβαίωση λήψης.

4.4.1 √ ÙÚfiÔ˜ ÏÂÈÙÔ˘ÚÁ›·˜ ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ SRP

Όπως και στα προαναφερθέντα πρωτόκολλα επανεκποµπής, το πρωτόκολλο επιλε-

κτικής επανάληψης βασίζεται στους µηχανισµούς επιβεβαίωσης λήψης και χρόνου

προθεσµίας και επιτρέπει περισσότερα από ένα ανεπιβεβαίωτα πλαίσια να βρίσκο-

νται κάθε στιγµή υπό µεταφορά. Επίσης, χρησιµοποιεί έναν ενταµιευτή στον απο-

στολέα, για να αποθηκεύει προσωρινά τα ανεπιβεβαίωτα πλαίσια.

Σ’ αυτό που διαφέρει είναι στο ότι χρησιµοποιεί προσωρινό ενταµιευτή και στον

παραλήπτη κόµβο, στον οποίο αποθηκεύονται τα πλαίσια που λαµβάνονται εκτός

σειράς, µέχρις ότου έρθει η στιγµή για να προωθηθούν προς περαιτέρω επεξεργα-

σία. Και αυτή η στιγµή έρχεται, όταν ο παραλήπτης λαµβάνει τα πλαίσια που έλει-

παν από την επιθυµητή διάταξη.

Έστω ότι W είναι το µέγεθος παραθύρου του πρωτοκόλλου και T είναι ο χρόνος προ-

θεσµίας. Επίσης, δεχόµαστε ότι τα πακέτα αριθµούνται κατ’ αύξουσα διάταξη (0, 1,

2, 3, κ.ο.κ.), ανάλογα µε το χρόνο άφιξης στον αποστολέα. Τότε, το πρωτόκολλο SRP

λειτουργεί µε βάση τους ακόλουθους κανόνες:

1. Ο αποστολέας αποθηκεύει αντίγραφα των ανεπιβεβαίωτων πλαισίων. Εάν, για

κάποιο ανεπιβεβαίωτο πλαίσιο, δε λάβει την επιβεβαίωση λήψης του µέσα σε

χρόνο T, τότε το επαναµεταδίδει.

1 2 14 . 4 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¶ π § ∂ ∫ ∆ π ∫ ∏ ™ ∂ ¶ ∞ ¡ ∞ § ∏ æ ∏ ™

Page 26: Fouskas Go Back N

1 2 2 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

2. Ο αποστολέας µπορεί να αποθηκεύει προσωρινά µέχρι W ανεπιβεβαίωτα πλαίσια.

3. Σε οποιαδήποτε αυθαίρετη χρονική στιγµή, ας συµβολίσουµε µε L το µεγαλύτε-

ρο εκείνο ακέραιο για τον οποίο ισχύει ότι ο αποστολέας έχει λάβει όλες τις επι-

βεβαιώσεις για τα πλαίσια 0, 1, 2,…, L. Εκείνη τη χρονική στιγµή, ο αποστολέ-

ας επιτρέπεται να µεταδώσει µόνο τα πλαίσια L + 1, L + 2,…, L + W.

4. Ο παραλήπτης επιβεβαιώνει όλα τα πλαίσια που λαµβάνει χωρίς σφάλµατα. Εάν

βρίσκονται εκτός σειράς, τα αποθηκεύει προσωρινά µέχρις ότου φτάσουν τα πλαί-

σια που λείπουν από τη διάταξη, οπότε και τα παραδίδει µε τη σωστή σειρά για

περαιτέρω επεξεργασία.

5. Σε οποιαδήποτε αυθαίρετη χρονική στιγµή, ας συµβολίσουµε µε R το µεγαλύτε-

ρο εκείνο ακέραιο για τον οποίο ισχύει ότι ο παραλήπτης έχει λάβει σωστά τα

πλαίσια 0, 1, 2,…, R. Εκείνη τη χρονική στιγµή, ο παραλήπτης µπορεί να λάβει

ένα πλαίσιο µε αριθµό διάταξης που να ανήκει στο σύνολο {R – (W – 1), R – (W

– 2), …, R, R + 1, …, R + W}. Εάν το ληφθέν πλαίσιο έχει αριθµό διάταξης στο

σύνολο {R – (W – 1), R – (W – 2), …, R}, τότε επιβεβαιώνει απλώς τη λήψη του

και καταστρέφει το πλαίσιο. Εάν το ληφθέν πλαίσιο είναι ένα από τα {R + 1, R +

2, …, R + W} τότε το αποθηκεύει, εάν βρίσκεται εκτός διάταξης, ή το παραδίδει,

εάν συµπληρωθεί η απαιτούµενη διάταξη. Έτσι, ο παραλήπτης πρέπει να είναι σε

θέση να αποθηκεύει µέχρι W – 1 πλαίσια που φτάνουν εκτός διάταξης.

Εάν το πρωτόκολλο δεν ακολουθεί τον κανόνα 3, τότε ο παραλήπτης µπορεί να χρεια-

στεί να αποθηκεύσει έναν αυθαίρετα µεγάλο αριθµό πλαισίων, παραβιάζοντας έτσι τον

κανόνα 5 και θέτοντας σε αµφισβήτηση τη δυνατότητα υλοποίησης του πρωτοκόλλου.

ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.5

Στο σχήµα 4.13 περιγράφεται ένα σενάριο µετάδοσης πλαισίων, όταν το εφαρµο-

ζόµενο πρωτόκολλο είναι το SRP και το µέγεθος του παραθύρου έχει οριστεί σε W

= 4 πλαίσια. Κάτω από την οριζόντια γραµµή του παραλήπτη απεικονίζεται ο προ-

σωρινός ενταµιευτής του µε τα περιεχόµενά του.

∆ιαπιστώνετε κανένα λάθος σ’ αυτό το σενάριο; Αν ναι, πώς θα τροποποιούσατε την

ακολουθία των µεταδόσεων έτσι ώστε να είναι συµβατή µε τους κανόνες του SRP;

Η αρίθµηση πλαισίων στο πρωτόκολλο SRP

Μία σηµαντική λεπτοµέρεια υλοποίησης του πρωτοκόλλου SRP αφορά, την αρίθ-

µηση των πλαισίων δεδοµένων και των αντίστοιχων πλαισίων επιβεβαίωσης. Υπεν-

Page 27: Fouskas Go Back N

θυµίζουµε ότι για εξοικονόµηση χώρου στις επικεφαλίδες των πλαισίων, η αρίθµη-

σή τους διενεργείται modulo κάποιου αριθµού K, δηλαδή στο πλαίσιο καταχωρείται

το υπόλοιπο της διαίρεσης του απαριθµητή του πακέτου δια τον αριθµό K.

Εάν ο αποστολέας και ο παραλήπτης κόµβος ακολουθούν τους κανόνες 1 – 5 της Ενό-

τητας 4.4.1, τότε, σε κάθε χρονική στιγµή, ο παραλήπτης µπορεί να λάβει ένα πλαίσιo

µε αριθµό διάταξης που να ανήκει στο σύνολο {R – (W – 1), R – (W – 2), …, R, R +

1, …, R + W}, όπου R είναι ο αριθµός του τελευταίου πακέτου που παραδόθηκε από

τον παραλήπτη και W είναι το µέγεθος του εφαρµοζόµενου παραθύρου.

Οπότε, στο πρωτόκολλο επιλεκτικής επανάληψης, για να µην προκαλείται σύγχυση

στον παραλήπτη, τα πλαίσια πρέπει να αριθµούνται modulo 2W, όπου W είναι το µέγε-

θος του παραθύρου. ∆ηλαδή, τα πλαίσια πρέπει να αριθµούνται 0, 1, 2, …, 2W – 1.

1 2 34 . 4 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¶ π § ∂ ∫ ∆ π ∫ ∏ ™ ∂ ¶ ∞ ¡ ∞ § ∏ æ ∏ ™

¢Ú·ÛÙËÚÈfiÙËÙ· 4.4

Σκιαγραφείστε ένα σενάριο µετάδοσης πλαισίων, στο οποίο θα απεικονίζεται η

λανθασµένη λειτουργία του πρωτοκόλλου SRP, όταν η αρίθµηση των πλαισίων του

γίνεται µε ένα σύνολο απαριθµητών µικρότερο του ικανού.

προθεσµία

προθεσµία προθεσµία

A

Π

παράδοση παράδοση (µε τη σωστή σειρά)

παράδοση (µε τη σωστή σειρά)

απόρριψη

0

0

1

1

12 2

2 2 2 2 2

3

33 3

4

4 4

5

5

6 6

6

7

7777

8

888

9

99

10 11 12

10 1112

™¯‹Ì· 4.13

Το σενάριο µετάδοσης

πλαισίων για

την άσκηση

αυτοαξιολόγησης 4.5.

Page 28: Fouskas Go Back N

1 2 4 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

4.4.2 ∏ ·fi‰ÔÛË ÙÔ˘ ÚˆÙÔÎfiÏÏÔ˘ SRP

Όταν δεν υπάρχουν σφάλµατα µεταφοράς, ακολουθώντας τα ίδια βήµατα ανάλυσης

µε αυτά της Ενότητας 4.3.2, διαπιστώνουµε ότι η απόδοση του πρωτοκόλλου SRP

είναι ίδια µ’ αυτή του πρωτοκόλλου GBN.

Έτσι λοιπόν, η απόδοση ηSRP του πρωτοκόλλου SRP, απουσία σφαλµάτων µεταφο-

ράς, δίδεται από τη σχέση

(4.10)

όπου W είναι το µέγεθος παραθύρου, TRANSP είναι ο χρόνος µετάδοσης του πλαι-

σίου δεδοµένων και S είναι ο χρόνος που µεσολαβεί από τη µετάδοση ενός πλαισί-

ου µέχρι τη λήψη της επιβεβαίωσής του.

Όταν υπάρχουν σφάλµατα µεταφοράς, ο προσδιορισµός της απόδοσης του πρωτο-

κόλλου SRP είναι αρκετά περίπλοκος και βρίσκεται εκτός των σκοπών του παρό-

ντος κειµένου. Υπό την ισχύ κάποιων γενικών παραδοχών, η απόδοση του SRP µπο-

ρεί να εκφραστεί σε κλειστή µορφή.

Συγκεκριµένα, εάν υποθέσουµε ότι τα λάθη είναι σπάνια, δηλαδή ότι

(1 – p) W ≤ 10%

όπου p είναι η πιθανότητα να µεταφερθεί σωστά ένα πλαίσιο δεδοµένων και η αντί-

στοιχη επιβεβαίωσή του και ο χρόνος προθεσµίας T είναι ίσος µε εκείνη την τιµή

του χρόνου µετάβασης µετ’ επιστροφής που δίδει τη µέγιστη απόδοση του 100%

απουσία σφαλµάτων µεταφοράς, δηλαδή ότι

T = W ¥ TRANSP (4.11)

τότε, µπορεί να αποδειχθεί ότι η απόδοση ηSRP(p) δίδεται προσεγγιστικά από την

ακόλουθη σχέση

(4.12)

Για την απόδειξη της σχέσης (4.12), ο αναγνώστης παραπέµπεται στο βιβλίο του

Walrand (1997), σελ. 180.

Για παράδειγµα, εάν κατά τη µετάβαση δεδοµένων διαµέσου ενός συνδέσµου ισχύ-

ουν οι παραδοχές (4.11) και p = 0,995, ενώ έχουµε επιλέξει το µέγεθος παραθύρου

W = 20, τότε από τις σχέσεις (4.12) και (4.9) υπολογίζουµε αντίστοιχα ότι

ηSRP(p) ≈ 91,3% και ηGBN(p) ≈ 90,9% . ∆ηλαδή, η απόδοση του πρωτοκόλλου SRP

hSRP p

p W

p W( )

( )( )

( )( )ª

+ - -+ - -

2 1 1

2 1 3 1

hSRP

W TRANSP

S=

¥ÏÌÓ

¸ýþ

min ,1

Page 29: Fouskas Go Back N

εµφανίζεται βελτιωµένη σε σχέση µε την απόδοση του πρωτοκόλλου GBN, κάτι που

αναµέναµε άλλωστε να ισχύει. Και φυσικά, οι δύο παραπάνω αποδόσεις είναι συντρι-

πτικά καλύτερες από αυτή του πρωτοκόλλου ABP (ηABP(p) ≈ 5% ).

1 2 54 . 4 ∆ √ ¶ ƒ ø ∆ √ ∫ √ § § √ ∂ ¶ π § ∂ ∫ ∆ π ∫ ∏ ™ ∂ ¶ ∞ ¡ ∞ § ∏ æ ∏ ™

ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.6

Είναι σωστό ή λάθος ότι:

Σωστό Λάθος

Ο παραλήπτης κόµβος πρέπει να παραδώσει τα πακέτα

στο Επίπεδο ∆ικτύου µε την ίδια σειρά µε την οποία αυτά

δόθηκαν στο Επίπεδο Σύνδεσης ∆εδοµένων του αποστολέα. o o

Και στα τρία πρωτόκολλα (ABP, GBN και SRP),

ο αποστολέας πρέπει να είναι εξοπλισµένος µ’ έναν

ενταµιευτή. Το ίδιο ισχύει και για τον παραλήπτη, αλλά µόνο

στο πρωτόκολλο GBN. o o

Ο συνδυασµός µικρού µεγέθους πλαισίου, υψηλού ρυθµού

µετάδοσης και µεγάλου χρόνου διάδοσης είναι καταστροφικός

όσον αφορά στην αποδοτικότητα ενός πρωτοκόλλου ABP. o o

Όταν η πιθανότητα εµφάνισης σφαλµάτων µεταφοράς είναι

υψηλή, τότε είναι προτιµητέο να χρησιµοποιήσουµε

το πρωτόκολλο GBN έναντι του SRP για την επανεκποµπή

πακέτων. o o

Τα πρωτόκολλα συνεχούς διοχέτευσης (pipeline) εµφανίζουν

χαµηλότερη απόδοση σε σχέση µε τα πρωτόκολλα παύσης

και αναµονής. o o

Στα πρωτόκολλα ολισθαίνοντος παραθύρου, το (n + W) – οστό

πακέτο δεν µπορεί να µεταδοθεί, εάν το n – οστό πακέτο

δεν έχει επιβεβαιωθεί, όπου W είναι το µέγεθος του παραθύρου. o o

Page 30: Fouskas Go Back N

1 2 6 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

™‡ÓÔ„Ë

• Η επανεκποµπή εσφαλµένων πακέτων µπορεί να διενεργηθεί είτε στο Επίπεδο Σύν-

δεσης ∆εδοµένων, είτε στο Επίπεδο Μεταφοράς του µοντέλου αναφοράς OSI.

• Τα τρία ευρύτερα χρησιµοποιούµενα πρωτόκολλα επανεκποµπής πλαισίων είναι:

(α) του εναλλασσοµένου bit (ABP), (β) της οπισθοχώρησης κατά Ν (GBN) και (γ)

της επιλεκτικής επανάληψης (SRP).

• Τα πρωτόκολλα επανεκποµπής πλαισίων συνήθως υλοποιούνται βασιζόµενα στη

συνδυασµένη χρήση δύο θεµελιωδών µηχανισµών: της επιβεβαίωσης λήψης και

του χρόνου προθεσµίας.

• Για την ορθότητα των πρωτοκόλλων επανεκποµπής, τα πλαίσια δεδοµένων πρέ-

πει να αριθµούνται. Επίσης, οι επιβεβαιώσεις λήψης πρέπει να περιέχουν αναφο-

ρές στην αντίστοιχη αρίθµηση αποστολής.

• Η απόδοση ενός πρωτοκόλλου επανεκποµπής ορίζεται ως το µέσο ποσοστό χρό-

νου κατά τον οποίο ο αποστολέας µεταδίδει καινούργια πλαίσια δεδοµένων, υπο-

θέτοντας ότι πάντα υπάρχουν πακέτα προς µετάδοση.

• Η παύση και αναµονή είναι η βασική ιδέα του πρωτοκόλλου ABP: µόλις ο αποστολέ-

ας µεταδώσει ένα πλαίσιο, περιµένει την επιβεβαίωση λήψης από τον παραλήπτη πριν

προχωρήσει στην αποστολή του επόµενου πλαισίου. Εάν αυτή η επιβεβαίωση δε φτά-

σει µέσα στον προσυµφωνηµένο χρόνο προθεσµίας, τότε µεταδίδει ξανά το πλαίσιο.

• Στο πρωτόκολλο ABP, τα πλαίσια αριθµούνται: 0, 1, 0, 1, 0, 1,….

• Το πρωτόκολλο οπισθοχώρησης κατά Ν (GO BACK N – GBN) έχει καλύτερη από-

δοση από το ABP, καθώς επιτρέπει στον αποστολέα να έχει περισσότερα του ενός

ανεπιβεβαίωτα πλαίσια υπό µεταφορά.

• Στο πρωτόκολλο GBN, τα πλαίσια αριθµούνται: 0, 1,…, W, 0, 1,…, W,…, όπου W

είναι το παράθυρο µετάδοσης του πρωτοκόλλου. Ο αποστολέας µπορεί να έχει

µέχρι W ανεπιβεβαίωτα πλαίσια.

• Στο πρωτόκολλο GBN, ο παραλήπτης απορρίπτει τα πλαίσια που λαµβάνει εκτός

σειράς. Επίσης, εάν ο αποστολέας δε λάβει µία επιβεβαίωση λήψης εντός της προ-

θεσµίας, τότε µεταδίδει το αντίστοιχο παράθυρο µε πλαίσιο έναρξης το ανεπιβε-

βαίωτο πλαίσιο του οποίου έληξε ο χρόνος προθεσµίας.

• Η απόδοση του πρωτοκόλλου GBN µπορεί να βελτιωθεί άµα χρησιµοποιηθούν

αρνητικές επιβεβαιώσεις (NACKs).

• Και το πρωτόκολλο SRP επιτρέπει στον αποστολέα να έχει περισσότερα του ενός

Page 31: Fouskas Go Back N

ανεπιβεβαίωτα πλαίσια υπό µεταφορά.

• Στο πρωτόκολλο SRP, τα πλαίσια αριθµούνται: 0, 1,…, 2W – 1, 0, 1,…, 2W – 1,…

Ο αποστολέας µπορεί να έχει µέχρι W ανεπιβεβαίωτα πλαίσια.

• Στο πρωτόκολλο SRP, ο παραλήπτης αποθηκεύει προσωρινά τα πλαίσια που λαµ-

βάνει εκτός σειράς. Επίσης, ο αποστολέας επαναµεταδίδει µόνο το πλαίσιο που

δεν επιβεβαιώθηκε εµπρόθεσµα.

• Απουσία σφαλµάτων µεταφοράς, το SRP έχει την ίδια απόδοση µε το GBN. Όταν

υπάρχουν σφάλµατα µεταφοράς, το SRP εµφανίζει βελτιωµένη απόδοση σε σύγκρι-

ση µε το GBN.

1 2 7™ Y N O æ H

Page 32: Fouskas Go Back N

1 2 8 K E º A § A I O 4 : ¶ ƒ ø ∆ √ ∫ √ § § ∞ E ¶ ∞ ¡ ∂ ∫ ¶ √ ª ¶ ∏ ™

µÈ‚ÏÈÔÁÚ·Ê›·

Για την ύλη αυτού του Κεφαλαίου βασιστήκαµε στα βιβλία των Walrand (1998),

Bertsekas και Gallager (1992) και Tanenbaum (1996). Οι προηγούµενες εκδόσεις των

βιβλίων των Walrand και Tanenbaum έχουν µεταφραστεί στα Ελληνικά από τους Μ.

Αναγνώστου (1997) και Ν. Παπαντώνη και Κ. Καραΐσκο (1992) αντίστοιχα.

Για λεπτοµερή παρουσίαση του τρόπου λειτουργίας και των προδιαγραφών των

δηµοσίων δικτύων δεδοµένων Χ.25, ο αναγνώστης παραπέµπεται στο Κεφάλαιο 11

του βιβλίου των Α. Αλεξόπουλου και Γ. Λαγογιάννη (1997).

Ένα πολύ σηµαντικό θέµα στο χώρο των τηλεπικοινωνιών είναι η επαλήθευση της

ορθότητας των πρωτοκόλλων, δηλαδή, το να διαπιστώσουµε ότι έχουν την επιθυ-

µητή συµπεριφορά. Μία πολύ καλή εισαγωγή σ’ αυτό το µεγάλο θέµα γίνεται στο

Κεφάλαιο 3 του βιβλίου του Tanenbaum (1996), ενώ µία λεπτοµερειακή τεχνική ανα-

φορά αποτελεί το βιβλίο των Lai και Jirachiefpattana (1998). Ειδικότερα, για τα

δίκτυα Petri, µία αποδοτική τεχνική αυτόµατης επαλήθευσης πρωτοκόλλων, ο ανα-

γνώστης µπορεί να ανατρέξει στο βιβλίο του Peterson (1981).

[1] Jean Walrand. «Communications Networks: A First Course». Second Edition.

McGraw – Hill. ISBN 0 – 256 – 17404 – 0. (1998).

[2]Dimitri Bertsekas and Robert Gallager. «Data Networks». Prentice Hall. ISBN 0

– 13 – 200916 – 1. (1992).

[3]Andrew Tanenbaum. «Computer Networks». Third Edition. Prentice – Hall, Inc.

ISBN 0 – 13 – 349945 – 6. (1996).

[4] Jean Walrand. «∆ίκτυα Επικοινωνιών». Μετάφραση: Μιλτιάδης Αναγνώστου.

Εκδόσεις Παπασωτηρίου. ISBN 960 – 7510 – 45 – 3. (1997).

[5] Andrew Tanenbaum. «∆ίκτυα Υπολογιστών». Μετάφραση: Νίκος Παπαντώνης και

Κώστας Καραϊσκος. Εκδόσεις Παπασωτηρίου. ISBN 960 – 7182 – 00 – 6. (1992).

[6]Άρης Αλεξόπουλος και Γιώργος Λαγογιάννης. «Τηλεπικοινωνίες και ∆ίκτυα Υπο-

λογιστών». Τέταρτη Έκδοση. ISBN 960 – 220 – 086 – 3. (1997).

[7]Richard Lai and Ajin Jirachiefpattana. «Communication Protocol Specification

and Verification». Kluwer Academic. ISBN 0792382846. (1998).

[8] James Lyle Peterson. «Petri Net Theory and the Modeling of Systems». Prentice

Hall. ISBN 0136619835. (1981).