Δίκτυα Υπολογιστών. Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο. Ευάγγελος Παπαπέτρου. Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων

Σχετικά έγγραφα
Διάρθρωση. Δίκτυα Υπολογιστών Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο. Αναγκαιότητα και ορισμός λογικής σύνδεσης. Διάρθρωση

Μηχανισμοί Λογικής σύνδεσης. Διάρθρωση. Δομή πλαισίου. Καθορισμός ορίων πλαισίου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL)

Δίκτυα Απευθείας Ζεύξης. Επικοινωνία µεταξύ δύο υπολογιστών οι οποίοι είναι απευθείας συνδεδεµένοι.

Μέθοδοι Ελέγχου Σφαλμάτων

Δίκτυα Απευθείας Ζεύξης

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2

ΕΠΙΠΕΔΟ ΣΥΝΔΕΣΗΣ ΜΑC

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

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

Δίκτυα Υπολογιστών I Εργαστήρια

Εισαγωγή στους Η/Υ. Ενότητα 8: Μετάδοση Δεδομένων. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Δίκτυα Υπολογιστών I

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ

Το Επίπεδο Ζεύξης (ή Σύνδεσης) Δεδομένων

3/40. (acknowledged connectionless), (acknowledged connection oriented) 4/40

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Γ. Διάρθρωση. Εισαγωγή. Ευάγγελος Παπαπέτρου

Δίκτυα Υπολογιστών I

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Λουκάς Ελευθέριος

Δίκτυα Υπολογιστών I

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Δίκτυα Υπολογιστών I

Πρωτόκολλα επανεκποµπής

Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Δίκτυα Υπολογιστών I

Διάρθρωση. Δίκτυα Υπολογιστών Επικοινωνία από άκρο σε άκρο. Επικοινωνία από άκρο σε άκρο. Διάρθρωση

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Δίκτυα Υπολογιστών I

Εισαγωγή στις Τηλεπικοινωνίες

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

LAYER 3 ( NETWORΚ LEVEL ) - ΣΤΡΩΜΑ 3 ( ΕΠΙΠΕ Ο ΙΚΤΥΟΥ)

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου

Επίπεδο ζεύξης δεδοµένων

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Δίκτυα Υπολογιστών I

//009 Βασικές εργασίες του επιπέδου ζεύξης ηµιουργία πλαισίων Έλεγχος σφαλµάτων Έλεγχος ροής Σχέση µεταξύ πακέτων (επιπέδου δικτύου) και πλαισίων (επι

Διάρθρωση. Δίκτυα Υπολογιστών I Δομικά Στοιχεία Υλικού. Δεδομένα και σήματα. Διάρθρωση. Ευάγγελος Παπαπέτρου

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο Φροντιστήριο Ασκήσεις στο TCP

Δίκτυα Υπολογιστών I

Δίκτυα Επικοινωνιών ΙΙ: Transmission Control Protocol

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

ίκτυα και Internet στο Επιχειρηματικό Περιβάλλον

Υπολογιστές και ίκτυα Η/Υ.

Μεταγωγή Κυκλωμάτων και Πακέτων και Δίκτυα Απευθείας Ζεύξης

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Τεχνολογία Πολυμέσων. Ενότητα # 20: Υπηρεσίες καλύτερης προσπάθειας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών Κεφάλαιο 2 Αξιοπιστία Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ: ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ ΣΕ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΔΙΚΤΥΑ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Στρώμα Ζεύξης Δεδομένων και Πρωτόκολλα αναμετάδοσης. Εισαγωγή στα Δίκτυα Επικοινωνιών 2008 Στρώμα ζεύξης δεδομένων Μ.Ε. Θεολόγου

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Πρωτόκολλο TCP Διάλεξη Ι

Δίκτυα Επικοινωνιών ΙΙ: X.25

Δίκτυα Θεωρία

Άσκηση 2. Αν συμβούν 2 duplicate ACKs αντί για timeout τι γίνεται σε αυτή την περίπτωσή;

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής & Διαδίκτυα: Μέρος Α. Διάρθρωση. Δίκτυα Μεταγωγής: Βασική αρχή λειτουργίας (1/2) Ευάγγελος Παπαπέτρου

( εύτερο Κεφάλαιο του Προγράµµατος ALL THREE LAYERS - ΤΑ ΤΡΙΑ ΕΠΙΠΕ Α)

Κεφάλαιο 7.3. Πρωτόκολλο TCP

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

ίκτυα Υπολογιστών I ρ. Παύλος Θεοδώρου Πανεπιστήµιο Αιγαίου Τµήµα Πληροφοριακών & Επικοινωνιακών Συστηµάτων pavlos@aegean.

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Κεφάλαιο 5: Τοπικά ίκτυα

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Πολυμέσα πάνω από κινητά δίκτυα

Λύση: Λύση: Λύση: Λύση:

Δίκτυα Υπολογιστών I

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

Βασικές Αρχές Δικτύωσης. Ευάγγελος Παπαπέτρου

- Δομή πλαισίου Ethernet - Πλαίσια Ethernet μεγάλου μεγέθους (Jumbo frames)

.1 Βασικές Έννοιες Δικτύωσης. .2 Δίκτυα Άμεσου Συνδέσμου. .3 Δίκτυα Μεταγωγής και Διαδίκτυα. .4 Δικτύωση: συνολική θεώρηση

Δίκτυα Υπολογιστών I Εργαστήρια

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Γαβαλάς αµιανός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

Τηλεπικοινωνιακά Συστήματα ΙΙ

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η : Τι είναι πληροφορία και τι δεδομένα σε ένα πληροφοριακό σύστημα? Ποιες μορφές μπορεί να έχει η πληροφορία?

1.8 Το μοντέλο OSI 1 / 33

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

Transcript:

Δίκτυα Υπολογιστών Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 1 / 58

Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 2 / 58

Λογική σύνδεση Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 3 / 58

Λογική σύνδεση Αναγκαιότητα και ορισμός λογικής σύνδεσης Η μετάδοση δεδομένων μέσα από ένα σύνδεσμο δεν εξασφαλίζει την αξιόπιστη ανταλλαγή δεδομένων μεταξύ δύο κόμβων του δικτύου π.χ. δεδομένα μπορεί να καταστραφούν στο κανάλι Λογική σύνδεση Η αξιόπιστη ροή δεδομένων μεταξύ δύο κόμβων που συνδέονται με ένα σύνδεσμο Η υλοποίηση μιας λογικής σύνδεσης απαιτεί την επίλυση των παρακάτω ζητημάτων: καθορισμός των κόμβων που επικοινωνούν (όταν πολλοί κόμβοι χρησιμοποιούν τον ίδιο σύνδεσμο) τμηματοποίηση της πληροφορίας (για δίκτυα μεταγωγής πακέτου) αξιόπιστη μετάδοση των δεδομένων Η έννοια της λογικής σύνδεσης είναι απαραίτητη ανεξάρτητα από το αν ένας σύνδεσμος συνδέει δύο δρομολογητές/μεταγωγείς ή συνδέει πολλούς υπολογιστές υπηρεσίας σε ένα δίκτυο άμεσου συνδέσμου Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 4 / 58

Λογική σύνδεση Μηχανισμοί Λογικής σύνδεσης Μια λογική σύνδεση αποτελείται από τους παρακάτω μηχανισμούς: πλαισίωση (framing) διόρθωση σφαλμάτων (error correction) έλεγχο σφαλμάτων (error control) έλεγχο ροής (flow control) Οι μηχανισμοί μιας λογικής σύνδεσης κατατάσσονται στο επίπεδο συνδέσμου μετάδοσης δεδομένων (data link layer) σύμφωνα με το μοντέλο OSI συνήθως αναφέρουμε ότι οι μηχανισμοί της λογικής σύνδεσης αποτελούν ένα υποεπίπεδο που ονομάζεται υποεπίπεδο ελέγχου λογικής σύνδεσης (Logical Link Control, LLC) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 5 / 58

Πλαισίωση Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 6 / 58

Πλαισίωση Δομή πλαισίου Στα δίκτυα μεταγωγής πακέτου η πληροφορία μεταδίδεται κατά τμήματα στο επίπεδο συνδέσμου μετάδοσης δεδομένων τα τμήματα αυτά ονομάζονται πλαίσια (frames) Ένα πλαίσιο αποτελείται από: την κεφαλίδα: περιέχει δεδομένα απαραίτητα για την υλοποίηση των μηχανισμών της λογικής σύνδεσης αλλά και του επιπέδου συνδέσμου μετάδοσης δεδομένων, π.χ. διευθύνσεις κόμβων που επικοινωνούν το ωφέλιμο φορτίο: περιέχει το πακέτο που προέρχεται από το επίπεδο δικτύου το επίμετρο: περιέχει δεδομένα για την αξιόπιστη μετάδοση του πλαισίου Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 7 / 58

Πλαισίωση Καθορισμός ορίων πλαισίου Ένα σημαντικό ζήτημα στην πλαισίωση είναι ο καθορισμός των ορίων (αρχής και τέλους) ενός πλαισίου δεδομένων ιδιαίτερα σημαντικό όταν μεταδίδονται συνεχόμενα πλαίσια Οι γνωστότερες τεχνικές για την επίλυση του προβλήματος είναι: μετρητής χαρακτήρων δείκτες συνόρων με συμπλήρωση byte δείκτες συνόρων με συμπλήρωση bit χρονισμός με χαρακτήρες που δε χρησιμοποιούνται από την κωδικοποίηση φυσικού επιπέδου Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 8 / 58

Πλαισίωση Τεχνικές οριοθέτησης πλαισίου (1/2) Μετρητής χαρακτήρων κάθε πλαίσιο περιλαμβάνει στην κεφαλίδα ένα πεδίο (μεγέθους ενός ή περισσότερων bytes) που περιέχει το μήκος του πλαισίου (σε bytes) δημιουργείται πρόβλημα αν ο μετρητής χαρακτήρων καταστραφεί από κάποιο σφάλμα κατά τη μετάδοση Δείκτες συνόρων με συμπλήρωση byte η αρχή και η λήξη του πλαισίου σηματοδοτείται με έναν ειδικό χαρακτήρα μήκους ενός byte ο χαρακτήρας συνήθως ονομάζεται FLAG (01111110) αν ο χαρακτήρας FLAG εμφανίζεται στα δεδομένα τότε πριν από αυτόν τοποθετείται ένας ειδικός χαρακτήρας (ESC) (byte stuffing) το ίδιο συμβαίνει και αν ο χαρακτήρας ESC εμφανίζεται στα δεδομένα Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 9 / 58

Πλαισίωση Τεχνικές οριοθέτησης πλαισίου (2/2) Δείκτες συνόρων με συμπλήρωση bit η αρχή και η λήξη του πλαισίου σηματοδοτείται με τη χρήση του χαρακτήρα FLAG (01111110) η εμφάνιση πέντε συνεχόμενων 1 στα δεδομένα οδηγεί στην συμπλήρωση ενός bit 0 (bit stuffing) στόχος είναι να μην γίνεται σύγχυση των δεδομένων με το χαρακτήρα FLAG Χρονισμός με χαρακτήρες που δε χρησιμοποιούνται από την κωδικοποίηση φυσικού επιπέδου η αρχή και η λήξη του πλαισίου σηματοδοτείται με χαρακτήρες που δε χρησιμοποιούνται για την αναπαράσταση δεδομένων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 10 / 58

Ανίχνευση και διόρθωση σφαλμάτων Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 11 / 58

Ανίχνευση και διόρθωση σφαλμάτων Ανίχνευση και διόρθωση σφαλμάτων: κεντρική ιδέα Ο θόρυβος μπορεί να προκαλέσει αλλοίωση ενός ή περισσοτέρων bits κατά τη μετάδοση δεδομένων μέσα από ένα σύνδεσμο Αντιμετώπιση προβλήματος: πλεονάζουσα (redundant) πληροφορία ο παραλήπτης μπορεί να χρησιμοποιήσει την πλεονάζουσα πληροφορία για να ανιχνεύσει ή να διορθώσει τα σφάλματα Δύο προσεγγίσεις για τη χρήση πλεονάζουσας πληροφορίας η πλεονάζουσα πληροφορία κατασκευάζεται με βάση τα δεδομένα και προστίθεται στο τέλος ενός πλαισίου (επίμετρο) κάθε πλαίσιο μεγέθους k bits αναπαρίσταται από ένα νέο πλαίσιο μεγέθους n > k bits (n k πλεονάζοντα bits) Η χρήση επίμετρου είναι η συνηθέστερη προσέγγιση στα δίκτυα υπολογιστών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 12 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κώδικες ανίχνευσης και διόρθωσης σφαλμάτων (1/2) Κώδικας ανίχνευσης/διόρθωσης σφαλμάτων Στα δίκτυα υπολογιστών κώδικας ανίχνευσης/διόρθωσης σφαλμάτων ονομάζεται ο αλγόριθμος σύμφωνα με τον οποίο κατασκευάζεται το επίμετρο Γενικός ορισμός: Ένα σύνολο από ακολουθίες bit, οι οποίες καλούνται κωδικολέξεις, που χρησιμοποιούνται για την αναπαράσταση των δεδομένων πληροφορίας Στα δίκτυα, ένα επίμετρο συνήθως κατασκευάζεται με τρόπο ώστε τα δεδομένα μαζί με το επίμετρο να αποτελούν μια από τις κωδικολέξεις ενός κώδικα Απόσταση Hamming Το ελάχιστο πλήθος bit στα οποία διαφέρουν δύο οποιεσδήποτε λέξεις του κώδικα Μήκος κώδικα: το πλήθος των bit που περιέχουν οι κωδικολέξεις το μήκος ενός κώδικα σχετίζεται άμεσα με την απόσταση Hamming Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 13 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κώδικες ανίχνευσης και διόρθωσης σφαλμάτων (2/2) Οι κώδικες διακρίνονται σε δύο κατηγορίες ανάλογα με την ικανότητά τους να ανιχνεύουν ή να διορθώνουν σφάλματα: κώδικες ανίχνευσης σφαλμάτων (Error Detecting Codes) κώδικες διόρθωσης σφαλμάτων (Error Correcting Codes, ECC) Ανίχνευση (διόρθωση) σφαλμάτων: για την ανίχνευση (διόρθωση) d σφαλμάτων απαιτείται κώδικας με απόσταση Hamming d + 1 (2d + 1) οι κώδικες διόρθωσης σφαλμάτων έχουν μεγαλύτερο μήκος από αυτούς που ανιχνεύουν σφάλματα Η διόρθωση των σφαλμάτων με τον κατάλληλο κώδικα ονομάζεται και ευθεία διόρθωση σφαλμάτων (Forward Error Correction, FEC) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 14 / 58

Ανίχνευση και διόρθωση σφαλμάτων Διόρθωση vs Ανίχνευση Η αντιμετώπιση των σφαλμάτων γίνεται με δύο προσεγγίσεις: ευθεία διόρθωση των σφαλμάτων ανίχνευση των σφαλμάτων και αίτηση επανεκπομπής του πλαισίου Η διόρθωση σφαλμάτων δεν είναι πάντα η καλύτερη προσέγγιση απαιτείται μεγάλο μέγεθος πλεονάζουσας πληροφορίας η πλεονάζουσα πληροφορία μεταδίδεται συνεχώς ακόμα και αν δεν υπάρχουν σφάλματα Η ευθεία διόρθωση σφαλμάτων είναι προτιμότερη όταν: τα σφάλματα είναι πολύ συχνά (π.χ. ασύρματη μετάδοση) το κόστος της επανεκπομπής ενός πλαισίου είναι μεγάλο (π.χ. μεγάλη καθυστέρηση διάδοσης) Έστω ότι σε ένα σύνδεσμο: χρησιμοποιούμε ευθεία διόρθωση σφαλμάτων με n bits πλεονάζουσας πληροφορίας για κάθε πλαίσιο με συνολικό μέγεθος l bits η διεκπεραιωτική ικανότητα που επιτυγχάνουμε είναι R Η ωφέλιμη για το χρήστη διεκπεραιωτική ικανότητα είναι R = l n R l Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 15 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κώδικες Ελέγχου Ισοτιμίας Ένας από τους απλούστερους κώδικες ανίχνευσης σφαλμάτων είναι ο κώδικας ισοτιμίας (parity) μπορεί να ανιχνεύσει μέχρι ένα σφάλμα Δύο υλοποιήσεις είναι δυνατές: περιττή ισοτιμία (odd parity): προσθήκη ενός bit πληροφορίας ώστε το συνολικό πλήθος των 1 να είναι περιττός αριθμός άρτια ισοτιμία (even parity): προσθήκη ενός bit πληροφορίας ώστε το συνολικό πλήθος των 1 να είναι άρτιος αριθμός Ο κώδικας μπορεί να επεκταθεί σε δύο διαστάσεις (δισδιάστατη ισοτιμία, two-dimensional parity) μπορεί να ανιχνεύσει μέχρι 3 σφάλματα και σε ορισμένες περιπτώσεις 4 σφάλματα Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 16 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κυκλικός Έλεγχος Πλεονασμού (1/2) Ο κυκλικός έλεγχος πλεονασμού (Cyclic Redundancy Check, CRC) χρησιμοποιείται για την ανίχνευση σφαλμάτων λίγα πλεονάζοντα bits αρκούν για τον έλεγχο σφαλμάτων σε χιλιάδες byte πληροφορίας στηρίζεται στη θεωρία των πεπερασμένων πεδίων (finite fields) Σε κάθε πλαίσιο πληροφορίας μήκους k bits προστίθενται n πλεονάζοντα bits τα n bits ονομάζονται άθροισμα ελέγχου (checksum) στο δίκτυο μεταδίδεται το συνολικό πλαίσιο των k + n bits Το άθροισμα ελέγχου υπολογίζεται με τη χρήση μιας ακολουθίας από bits που ονομάζεται ακολουθία ελέγχου, C η ακολουθία ελέγχου θα πρέπει να διαιρεί χωρίς υπόλοιπο τα k + n bits που προκύπτουν από τα δεδομένα και το άθροισμα ελέγχου το μήκος της ακολουθίας C είναι n + 1 bits Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 17 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κυκλικός Έλεγχος Πλεονασμού (2/2) Ανίχνευση σφάλματος: η διαίρεση του λαμβανόμενου πλαισίου (k + n bits) με την ακολουθία ελέγχου δίνει μη μηδενικό υπόλοιπο o παραλήπτης πρέπει να γνωρίζει την ακολουθία ελέγχου μηδενικό υπόλοιπο σημαίνει με μεγάλη πιθανότητα απουσία σφάλματος Η επιλογή του μήκους αλλά και της ίδιας της ακολουθίας ελέγχου είναι σημαντική για τη δυνατότητα ανίχνευσης σφαλμάτων (πλήθος και τύπος σφαλμάτων) μόνο λίγες ακολουθίες είναι κατάλληλες για ανίχνευση σφαλμάτων η επιλογή κατάλληλης ακολουθίας είναι συμβιβασμός μεταξύ των δυνατοτήτων ανίχνευσης σφαλμάτων και του μήκους της ακολουθίας σημαντικότερες ακολουθίες: Τύπος CRC ακ. ελέγχου Τύπος CRC ακ. ελέγχου CRC-8 10000111 CRC-16 1100000000000011 CRC-10 11000110011 CRC-CCITT 1000100000010001 CRC-12 110000000111 CRC-32 100000100110000010001110110110111 Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 18 / 58

Έλεγχος σφαλμάτων Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 19 / 58

Έλεγχος σφαλμάτων Σκοπιμότητα ελέγχου σφαλμάτων Σε πολλές περιπτώσεις η ευθεία διόρθωση σφαλμάτων δεν είναι αποδοτική ή εφικτή H ευθεία διόρθωση σφαλμάτων δεν είναι αποδοτική: σε κανάλια με μικρό ρυθμό σφαλμάτων όταν ο ρυθμός και το είδος των σφαλμάτων απαιτούν υπερβολικά μεγάλο μέγεθος κώδικα για τη διόρθωση όταν το κόστος της αναμετάδοσης ενός πλαισίου είναι μικρό H ευθεία διόρθωση σφαλμάτων δεν είναι εφικτή όταν: το κανάλι καταστρέφει πλήρως τα πλαίσια (erasure channel) το πλήθος των σφαλμάτων σε ένα πλαίσιο είναι τέτοιο ώστε ακόμα και ο κώδικας ευθείας διόρθωσης αποτυγχάνει H ευθεία διόρθωση σφαλμάτων δεν μπορεί να αντιμετωπίσει: απώλειες πλαισίων εξαιτίας του ότι ο παραλήπτης δεν μπορεί να παραλάβει τα πλαίσια με το ρυθμό που του αποστέλλονται Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 20 / 58

Έλεγχος σφαλμάτων Πρωτόκολλα ARQ (1/2) Κεντρική ιδέα: ανίχνευση της απώλειας ενός πλαισίου και επανεκπομπή του από τον αποστολέα Βασικοί μηχανισμοί για την ανίχνευση της απώλειας ενός πλαισίου: επιβεβαίωση της λήψης από τον παραλήπτη με την αποστολή ενός πλαισίου επιβεβαίωσης (ACK) αναμονή για τη λήψη της επιβεβαίωσης από τον αποστολέα (χρόνος αναμονής (timeout)) αν δεν ληφθεί επιβεβαίωση τότε η εκπομπή επαναλαμβάνεται αρίθμηση των πλαισίων με ακολουθιακούς αριθμούς (sequence numbers) Σε συνδέσμους που δεν καταστέφουν πλήρως ένα πλαίσιο, ο αποστολέας είναι εφικτό να ειδοποιείται για την αλλοίωση και όχι για την ορθή λήψη ενός πλαισίου (αρνητικές επιβεβαιώσεις (Negative ACKs, NACKs)) Ένα κόμβος, αντί να χρησιμοποιήσει ένα πλαίσιο για να επιβεβαιώσει δεδομένα που έλαβε, μπορεί να φορτώσει την επιβεβαίωση σε ένα πλαίσιο δεδομένων που πρόκειται να αποστείλει (piggyback ACK) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 21 / 58

Έλεγχος σφαλμάτων Πρωτόκολλα ARQ (2/2) Τα πρωτόκολλα που επανεκπέμπουν πλαίσια μετά τη λήξη του χρόνου αναμονής ονομάζονται πρωτόκολλα αυτόματης αίτησης επανάληψης (Automatic Repeat request, ARQ) Τα πρωτόκολλα ARQ διαφέρουν ως προς την πολυπλοκότητα και την αξιοποίηση του συνδέσμου η πολυπλοκότητα εξαρτάται από τον αποθηκευτικό χώρο που απαιτείται αλλά και το πλήθος των ακολουθιακών αριθμών Η επιλογή του κατάλληλου πρωτοκόλλου ARQ εξαρτάται από τα χαρακτηριστικά του συνδέσμου το ρυθμό σφαλμάτων το γινόμενο καθυστέρησης-εύρους ζώνης Τα σημαντικότερα πρωτόκολλα της κατηγορίας ARQ είναι τα: Alternating Bit Protocol (ABP) Go-Back-N (GBN) Selective Repeat (SR) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 22 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 23 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Alternating Bit Protocol: Εισαγωγή Το πρωτόκολλο Alternating Bit Protocol (ABP) είναι το απλούστερο πρωτόκολλο για τον έλεγχο σφαλμάτων ονομάζεται επίσης και Stop-and-Wait ARQ Κεντρική ιδέα: αποστολή ενός πλαισίου κάθε φορά και αναμονή για την επιβεβαίωσή του από τον παραλήπτη Είναι ένα πρωτόκολλο με χαμηλή πολυπλοκότητα αλλά και χαμηλή αξιοποίηση του συνδέσμου ο αποστολέας πρέπει να έχει τη δυνατότητα αποθήκευσης ενός πλαισίου χρησιμοποιούνται μόνο δύο αριθμοί ακολουθίας (οι 0 και 1) Xρειάζεται μόνο ένα bit στην κεφαλίδα του πλαισίου, το οποίο εναλλάσσεται μεταξύ των τιμών 0 και 1, για την αναπαράσταση των αριθμών ακολουθίας Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 24 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Λειτουργία ABP (1/2) Αποστολέας: εκπέμπει ένα πλαίσιο τη φορά και κρατά αντίγραφο του πλαισίου μέχρι αυτό να επιβεβαιωθεί από τον παραλήπτη για την αναμονή της επιβεβαίωσης χρησιμοποιείται χρονόμετρο που λήγει μετά από κάποιο προκαθορισμένο χρόνο (t timeout ) ο χρόνος t timeout πρέπει να είναι τέτοιος ώστε να επιτρέπει τη λήψη μιας επιβεβαίωσης και από τον πλέον απομακρυσμένο κόμβο τα πλαίσια αριθμούνται εναλλάξ με 0 ή 1 αν δεν ληφθεί επιβεβαίωση το πλαίσιο επανεκπέμπεται, διαφορετικά εκπέμπεται το επόμενο πλαίσιο Παραλήπτης: με την ορθή λήψη του πλαισίου: παραδίδει το πλαίσιο στο ανώτερο επίπεδο επιβεβαιώνει την ορθή λήψη ενός πλαισίου με ένα ACK το πλαίσιο ACK αριθμείται όπως και το πλαίσιο που επιβεβαιώνει Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 25 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Λειτουργία ABP (2/2) Οι αριθμοί ακολουθίας χρησιμεύουν στην αναγνώριση και απόρριψη διπλοτύπων από τον παραλήπτη Δημιουργία διπλοτύπων Διπλότυπα δημιουργούνται όταν ο αποστολέας επαναλαμβάνει την αποστολή ενός πλαισίου επειδή δεν γνωρίζει ότι το πλαίσιο παραδόθηκε σωστά Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 26 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Απόδοση ABP (1/3) Η μετάδοση ενός πλαισίου στο ABP αποτελείται από k συνολικά προσπάθειες (k 1 αποτυχίες και 1 επιτυχία) σε κάθε αποτυχία δαπανάται χρόνος t timeout στην επιτυχία δαπανάται χρόνος 2tpr + t fr + t s + t ack d = (k 1)t timeout + 2t pr + t fr + t s + t ack E{d} = (E{k} 1)t timeout + 2t pr + t fr + t s + t ack Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 27 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Απόδοση ABP (2/3) Το μέσο πλήθος προσπαθειών (και αποτυχιών) εξαρτάται από την πιθανότητα αποτυχίας μιας προσπάθειας (p) E{k} = 1 E{k 1} = p 1 p 1 p Η αξιοποίηση του συνδέσμου μετράται με τη ρυθμαπόδοση και την απόδοση C: εύρος ζώνης του συνδέσμου, lfr : μέγεθος του πλαισίου l R = fr ( p 1 p )t timeout+2t pr+t fr +t s+t ack n = t fr E{d} = R C Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 28 / 58

Έλεγχος σφαλμάτων Alternating Bit Protocol Απόδοση ABP (3/3) Στην ειδική περίπτωση που t timeout = 2t pr + t fr + t s + t ack (1 p)l R = fr 2t pr +t fr +t s +t ack Η ρυθμαπόδοση του ABP είναι χαμηλή σε συνδέσμους με υψηλό ρυθμό σφαλμάτων R p 1 0 Η ρυθμαπόδοση του ABP είναι χαμηλή σε συνδέσμους με μεγάλο γινόμενο καθυστέρησης-εύρους ζώνης ακόμα και όταν ο ρυθμός σφαλμάτων είναι μικρός R C,p 0 1 2t pr+t s+t ack R t pr t fr,p 0 tfr (1 p) tpr 2+ t fr +ts+t ack tpr t fr tpr 1 0 Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 29 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 30 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Σκοπιμότητα και κεντρική ιδέα Η μικρή ρυθμαπόδοση του ABP οφείλεται στο ότι υπάρχει μόνο ένα πλαίσιο υπό μετάδοση κάθε φορά σε κάθε μετάδοση ο σύνδεσμος παραμένει αδρανής για χρόνο τουλάχιστον 2t pr σε περιπτώσεις σφαλμάτων ο σύνδεσμος παραμένει επανειλημμένα αδρανής Κεντρική ιδέα: περισσότερα από ένα πλαίσια υπό μετάδοση στο σύνδεσμο κάθε χρονική στιγμή ο αποστολέας επιτρέπεται να μεταδώσει παραπάνω από ένα πλαίσια πριν λάβει κάποια επιβεβαίωση Τα ARQ πρωτόκολλα αυτής της κατηγορίας ονομάζονται κυλιόμενου παραθύρου (Sliding Window ARQ) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 31 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Βασικοί μηχανισμοί (1/4) Αποστολέας και παραλήπτης υλοποιούν τους μηχανισμούς ARQ: ο αποστολέας αριθμεί τα πλαίσια δεδομένων με διαφορετικούς ακολουθιακούς αριθμούς ο παραλήπτης επιβεβαιώνει τη λήψη ενός πλαισίου με μια επιβεβαίωση που έχει τον ίδιο ακολουθιακό αριθμό για την αναμονή των επιβεβαιώσεων, ο αποστολέας χρησιμοποιεί ένα χρονόμετρο για κάθε πλαίσιο δεδομένων Αποστολέας: μπορεί να εκπέμπει μέχρι SW S πλαίσια χωρίς να έχει λάβει κάποια επιβεβαίωση ο αριθμός SW S ονομάζεται (μέγεθος παραθύρου αποστολέα, Sender Window Size) μέχρι SW S πλαίσια βρίσκονται υπό μετάδοση στο σύνδεσμο ο αποστολέας πρέπει να έχει τη δυνατότητα να αποθηκεύει μέχρι SW S πλαίσια μέχρι τη λήψη της επιβεβαίωσης Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 32 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Βασικοί μηχανισμοί (2/4) Αποστολέας: διατηρεί δύο μετρητές LAR, Last Acknowledgement Received: περιέχει τον αριθμό ακολουθίας της τελευταίας επιβεβαίωσης που ελήφθη ενημερώνεται με βάση τις επιβεβαιώσεις που λαμβάνονται LFS, Last Frame Sent: περιέχει τον αριθμό ακολουθίας του τελευταίου πλαισίου δεδομένων που στάλθηκε Ο αποστολέας μπορεί να μεταδώσει ένα πλαίσιο με αριθμό ακολουθίας k (δηλαδή LF S k) μόνο αν ισχύει: LF S LAR SW S Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 33 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Βασικοί μηχανισμοί (3/4) Ο παραλήπτης ενδέχεται να λάβει πλαίσια δεδομένων εκτός σειράς (out of order) το φαινόμενο εμφανίζεται όταν κάποιο πακέτο που μεταδόθηκε πρώτο καταστρέφεται, ενώ ένα επόμενο παραδίδεται κανονικά Παραλήπτης: μπορεί να παραλάβει και να επιβεβαιώσει μέχρι RW S πλαίσια ο αριθμός RW S ονομάζεται (μέγεθος παραθύρου παραλήπτη, Receiver Window Size) ο παραλήπτης πρέπει να έχει τη δυνατότητα να αποθηκεύει μέχρι RW S 1 πλαίσια πριν τα παραδώσει στο ανώτερο επίπεδο μέχρι RW S πλαίσια μπορούν να φτάσουν στον παραλήπτη εκτός σειράς Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 34 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Βασικοί μηχανισμοί (4/4) Παραλήπτης: διατηρεί επίσης δύο μετρητές LFR, Last Frame Received: περιέχει τον αριθμό ακολουθίας του τελευταίου πλαισίου δεδομένων που ελήφθη LAF, Largest Acceptable Frame: ο μέγιστος αριθμός ακολουθίας ενός πλαισίου ώστε να γίνει αποδεκτό Ένα πλαίσιο δεδομένων με ακολουθιακό αριθμό k: απορρίπτεται αν k LF R ή k > LAF γίνεται αποδεκτό (δηλαδή LF R k) και επιβεβαιώνεται αν LF R k LAF Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 35 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Αριθμοί ακολουθίας Το πλήθος των ακολουθιακών αριθμών που χρησιμοποιούνται (N) δεν μπορεί να είναι ανεξέλεγκτα μεγάλο χρειάζονται log2 N bits για την αναπαράστασή τους, τα οποία ενσωματώνονται στο πλαίσιο (δεδομένων ή επιβεβαίωσης) Κεντρική ιδέα: χρειάζονται μόνο τόσοι ακολουθιακοί αριθμοί όσα τα πλαίσια σε εκκρεμότητα είναι εφικτή η διάκριση των πλαισίων με βάση τον ακολουθιακό αριθμό επόμενα πλαίσια μεταδίδονται με επαναχρησιμοποίηση των ακολουθιακών αριθμών (sequence number rollover) Πλήθος ακολουθιακών αριθμών Ένα πρωτόκολλο ARQ χρειάζεται συνολικά SW S + RW S διαφορετικούς ακολουθιακούς αριθμούς SW S πλαίσια υπό μετάδοση RW S πλαίσια εκτός σειράς που είναι αποθηκευμένα στον παραλήπτη και η παράδοση τους στο ανώτερο επίπεδο εκκρεμεί Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 36 / 58

Έλεγχος σφαλμάτων ARQ με κυλιόμενο παράθυρο Μέγεθος παραθύρου Η επιλογή του SW S σχετίζεται με την αξιοποίηση του συνδέσμου η βέλτιστη επιλογή προσδιορίζεται από το γινόμενο καθυστέρησης-εύρους ζώνης Η επιλογή των SW S και RW S επηρεάζει την πολυπλοκότητα του μηχανισμού ARQ μέγεθος χώρου αποθήκευσης στον αποστολέα: SW S μέγεθος χώρου αποθήκευσης στον παραλήπτη: RW S 1 αναπαράσταση αριθμών ακολουθίας με log2 (SW S + RW S) bits Συνηθέστερες επιλογές για SW S και RW S RW S = 1 πρωτόκολλο Go-Back-N RW S = SW S πρωτόκολλο Selective Repeat Το ABP είναι ένα πρωτόκολλο κυλιόμενου παραθύρου με SW S = 1 και RW S = 1 Όταν αναφέρουμε ότι το μέγεθος του παραθύρου είναι W SW S = RW S = W Δεν έχει νόημα να ισχύει RW S > SW S (δεν υπάρχει περίπτωση να φτάσουν στον παραλήπτη περισσότερα από τα πλαίσια που μεταδίδει ο αποστολέας) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 37 / 58

Έλεγχος σφαλμάτων Go-Back-N Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 38 / 58

Έλεγχος σφαλμάτων Go-Back-N Go-Back-N: Εισαγωγή Το πρωτόκολλο Go-Back-N (GBN) ανήκει στην κατηγορία Sliding Window ARQ μέγεθος παραθύρου αποστολέα SW S = W μέγεθος παραθύρου παραλήπτη RW S = 1 Επιτυγχάνει μέτρια αξιοποίηση του συνδέσμου και χαρακτηρίζεται από μέτρια πολυπλοκότητα δεν επιτυγχάνει υψηλή ρυθμαπόδοση σε συνδέσμους με υψηλό ρυθμό σφαλμάτων απαιτείται δυνατότητα αποθήκευσης μέχρι W πλαισίων στον αποστολέα δεν απαιτείται δυνατότητα αποθήκευσης στον παραλήπτη απαιτείται η χρήση W + 1 αριθμών ακολουθίας Για την αναπαράσταση των αριθμών ακολουθίας χρειάζονται log 2 (W + 1) bits στην κεφαλίδα ενός πλαισίου Χρειάζονται W + 1 αριθμοί ακολουθίας ενώ το μέγιστο πλήθος των υπό μετάδοση πλαισίων είναι W Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 39 / 58

Έλεγχος σφαλμάτων Go-Back-N Λειτουργία Go-Back-N (1/2) Αποστολέας: αριθμεί τα προς μετάδοση πλαίσια χρησιμοποιώντας τους ακολουθιακούς αριθμούς 0,..., W κυκλικά εκπέμπει μέχρι W μη επιβεβαιωμένα πλαίσια αν δεν ληφθεί επιβεβαίωση για ένα πλαίσιο με αριθμό ακολουθίας k τότε επανεκπέμπονται όλα τα πλαίσια από το k μέχρι την εξάντληση του παραθύρου Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 40 / 58

Έλεγχος σφαλμάτων Go-Back-N Λειτουργία Go-Back-N (2/2) Παραλήπτης: ένα πλαίσιο γίνεται αποδεκτό και επιβεβαιώνεται (με ένα πλαίσιο ACK με τον ίδιο αριθμό ακολουθίας) μόνο αν ληφθεί στη σωστή σειρά τα πλαίσια με σωστή σειρά παραδίδονται στο ανώτερο επίπεδο απορρίπτει όλα τα πλαίσια που λαμβάνονται εκτός σειράς Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 41 / 58

Έλεγχος σφαλμάτων Go-Back-N Αριθμοί ακολουθίας στο Go-Back-N Απαιτούνται W + 1 διαφορετικοί αριθμοί ακολουθίας για να γίνεται διάκριση των διπλότυπων πλαισίων ακόμα και όταν χαθεί η επιβεβαίωση του πρώτου πλαισίου του τρέχοντος παραθύρου του αποστολέα Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 42 / 58

Έλεγχος σφαλμάτων Selective Repeat Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 43 / 58

Έλεγχος σφαλμάτων Selective Repeat Selective Repeat: Εισαγωγή Το πρωτόκολλο Selective Repeat (SR) ανήκει στην κατηγορία Sliding Window ARQ μέγεθος παραθύρου αποστολέα SW S = W μέγεθος παραθύρου παραλήπτη RW S = SW S Επιτυγχάνει καλή αξιοποίηση του συνδέσμου και χαρακτηρίζεται από υψηλή πολυπλοκότητα απαιτείται δυνατότητα αποθήκευσης μέχρι W πλαισίων στον αποστολέα απαιτείται δυνατότητα αποθήκευσης μέχρι W 1 πλαισίων στον παραλήπτη απαιτείται η χρήση 2W αριθμών ακολουθίας Για την αναπαράσταση των αριθμών ακολουθίας χρειάζονται log 2 (2W ) bits στην κεφαλίδα ενός πλαισίου Χρειάζονται 2W αριθμοί ακολουθίας ενώ το μέγιστο πλήθος των υπό μετάδοση πλαισίων είναι W Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 44 / 58

Έλεγχος σφαλμάτων Selective Repeat Λειτουργία Selective Repeat (1/2) Αποστολέας: αριθμεί τα προς μετάδοση πλαίσια χρησιμοποιώντας τους ακολουθιακούς αριθμούς 0,..., 2W 1 κυκλικά εκπέμπει μέχρι W μη επιβεβαιωμένα πλαίσια αν δεν ληφθεί επιβεβαίωση για ένα πλαίσιο με αριθμό ακολουθίας k τότε επανεκπέμπεται μόνο το πλαίσιο αυτό Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 45 / 58

Έλεγχος σφαλμάτων Selective Repeat Λειτουργία Selective Repeat (2/2) Παραλήπτης: επιβεβαιώνει την ορθή λήψη ενός πλαισίου με ένα πλαίσιο ACK με τον ίδιο αριθμό ακολουθίας αποθηκεύει τα πλαίσια που φτάνουν εκτός σειράς όταν είναι δυνατή η ανάκτηση της σειράς μιας ομάδας πλαισίων τότε αυτά προωθούνται στο ανώτερο επίπεδο Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 46 / 58

Έλεγχος σφαλμάτων Selective Repeat Αριθμοί ακολουθίας στο Selective Repeat Απαιτούνται 2W διαφορετικοί αριθμοί ακολουθίας για να γίνεται διάκριση των διπλότυπων πλαισίων ακόμα και όταν χαθούν οι επιβεβαιώσεις για W πλαίσια Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 47 / 58

Έλεγχος ροής Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 48 / 58

Έλεγχος ροής Αναγκαιότητα αλγόριθμων ελέγχου ροής Πρόβλημα ελέγχου ροής: ο παραλήπτης δεν μπορεί να λάβει τα δεδομένα με το ρυθμό που του αποστέλλονται π.χ. λόγω αυξημένου φόρτου επεξεργασίας συνέπεια: απώλεια πλαισίων λόγω του πεπερασμένου αποθηκευτικού χώρου Οι αλγόριθμοι ARQ αντιμετωπίζουν το πρόβλημα ως μέρος του γενικότερου προβλήματος της απώλειας πλαισίων Αναγκαιότητα: αλγόριθμοι μειωμένης πολυπλοκότητας που επιλύουν μόνο το πρόβλημα του ελέγχου ροής χρήσιμοι σε περιπτώσεις που τα σφάλματα στο κανάλι δεν υπάρχουν ή διορθώνονται με ένα κώδικα ευθείας διόρθωσης ονομάζονται αλγόριθμοι ελέγχου ροής (flow control algorithms) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 49 / 58

Έλεγχος ροής Κατηγορίες αλγόριθμων ελέγχου ροής Η τεχνική του κυλιόμενου παραθύρου χρησιμοποιείται και στους αλγόριθμους ελέγχου ροής οι αλγόριθμοι αυτοί ανήκουν στην κατηγορία αλγορίθμων ελέγχου ροής με ανάδραση (feedback-based flow control) Οι σημαντικότεροι αλγόριθμοι είναι οι: Stop-and-Wait Sliding Window flow control Ο έλεγχος ροής με ανάδραση ονομάζεται και έλεγχος ροής κλειστού βρόχου (closed loop flow control) Η άλλη κατηγορία ελέγχου ροής ονομάζεται έλεγχος ροής ανοιχτού βρόχου (open loop flow control) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 50 / 58

Έλεγχος ροής Stop-and-Wait Ο αποστολέας μπορεί να μεταδώσει μόνο ένα πλαίσιο αναμένοντας την επιβεβαίωσή του το πλαίσιο επανεκπέμπεται αν δεν επιβεβαιωθεί μέσα στο χρόνο αναμονής Ο παραλήπτης επιβεβαιώνει ένα πλαίσιο μόνο αν διαθέτει αποθηκευτικό χώρο για να λάβει και επόμενο πλαίσιο με τον τρόπο αυτό μπορεί να ελέγξει την αποστολή δεδομένων Μειονέκτημα: χαμηλή ρυθμαπόδοση ακόμα και αν ο παραλήπτης μπορεί να λαμβάνει πλαίσια χωρίς διακοπές Οι αλγόριθμοι ελέγχου ροής υποθέτουν ότι δεν υπάρχουν σφάλματα στο κανάλι Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 51 / 58

Έλεγχος ροής Sliding Window (1/2) Αποτελεί γενίκευση του Stop-and-Wait με τη βοήθεια της τεχνικής Sliding Window ο αποστολέας μπορεί να μεταδώσει μέχρι SW S πλαίσια ο παραλήπτης μπορεί να αποθηκεύει μέχρι RW S λαμβανόμενα πλαίσια Ισχύει SW S = RW S δεν έχει νόημα η επιλογή SW S < RW S (ο παραλήπτης δεν θα λάβει περισσότερα πλαίσια από αυτά που στέλνει ο αποστολέας) επίσης δεν έχει νόημα η επιλογή SW S > RW S (ο αποστολέας στέλνει πλαίσια τα οποία δεν μπορούν να αποθηκευτούν) Ο παραλήπτης επιβεβαιώνει ένα πλαίσιο μόνο αν διαθέτει αποθηκευτικό χώρο για τουλάχιστον RW S πλαίσια με τον τρόπο αυτό μπορεί να περιορίσει το ρυθμό αποστολής Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 52 / 58

Έλεγχος ροής Sliding Window (2/2) Σε μια εναλλακτική υλοποίηση ο παραλήπτης μπορεί να διαμορφώνει δυναμικά το μέγεθος του παραθύρου και να ενημερώνει (μέσω των επιβεβαιώσεων) τον αποστολέα για το νέο μέγεθος Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 53 / 58

Παραδείγματα Τεχνολογιών Διάρθρωση 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 Έλεγχος σφαλμάτων Alternating Bit Protocol ARQ με κυλιόμενο παράθυρο Go-Back-N Selective Repeat 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 54 / 58

Παραδείγματα Τεχνολογιών High-level Data Link Control (1/2) Το πρωτόκολλο High-level Data Link Control, HDLC είναι ένα πρωτόκολλο του επιπέδου συνδέσμου μετάδοσης δεδομένων (data link layer) προτάθηκε από τον οργανισμό ISO η αρχική του έκδοση (Synchronous Data Link Control, SDLC) προτάθηκε από την IBM μετεξέλιξή του αποτελεί το Link Access Procedure, LAP που προτάθηκε από την CCITT και χρησιμοποιείται στα δίκτυα X.25 Η οριοθέτηση του πλαισίου γίνεται με δείκτες συνόρων και συμπλήρωση bit ο χαρακτήρας που σηματοδοτεί την έναρξη και λήξη του πλαισίου είναι ο 01111110 η πληροφορία αυτή μεταδίδεται και όταν δεν υπάρχουν δεδομένα ώστε να διευκολύνεται ο συγχρονισμός των κόμβων που επικοινωνούν Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 55 / 58

Παραδείγματα Τεχνολογιών High-level Data Link Control (2/2) Πεδία πλαισίου HDLC: address: περιέχει τη διεύθυνση του παραλήπτη control: χρησιμοποιείται για να ορίσει διαφορετικούς τύπους πλαισίων (ελέγχου και δεδομένων) checksum: χρησιμοποιείται για ανίχνευση σφαλμάτων (CRC κώδικας με ακολουθία αναφοράς 1000100000010001, CRC-16-CCITT) Για τον έλεγχο σφαλμάτων το HDLC χρησιμοποιεί την τεχνική sliding window το μέγεθος του παραθύρου αποστολέα είναι 7 (3 bit για ακολουθιακούς αριθμούς) Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 56 / 58

Παραδείγματα Τεχνολογιών Point-to-Point Protocol (1/2) Το Point-to-Point Protocol, PPP χρησιμοποιείται για απευθείας συνδέσεις δύο κόμβων συνήθως χρησιμοποιείται σε dial-up συνδέσεις Η οριοθέτηση του πλαισίου γίνεται με δείκτες συνόρων και συμπλήρωση byte ο χαρακτήρας που σηματοδοτεί την έναρξη και λήξη του πλαισίου (flag) είναι ο 01111110 το μέγεθος του πλαισίου είναι συνήθως 1500 bytes αλλά μπορεί να καθοριστεί διαφορετικά Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 57 / 58

Παραδείγματα Τεχνολογιών Point-to-Point Protocol (2/2) Πεδία πλαισίου PPP: address: περιέχει τη διεύθυνση του παραλήπτη protocol: χρησιμοποιείται ως κλειδί αποπολύπλεξης (προσδιορίζει το πρωτόκολλο ανώτερου επιπέδου στο οποίο πρέπει να παραδοθεί ή από το οποίο προέρχεται το ωφέλιμο φορτίο) checksum: χρησιμοποιείται για ανίχνευση σφαλμάτων (CRC κώδικας με ακολουθία αναφοράς 1000100000010001) Το μέγεθος πολλών πεδίων του πλαισίου PPP είναι διαπραγματεύσιμο το πρωτόκολλο Link Control Protocol (LCP) χρησιμοποιείται για τον καθορισμό του μεγέθους των πεδίων Το πρωτόκολλο LCP είναι επίσης υπεύθυνο για την έναρξη της επικοινωνίας μεταξύ δύο κόμβων τα πλαίσια που χρησιμοποιεί το LCP ονομάζονται πλαίσια ελέγχου κάθε είδος πλαισίου χαρακτηρίζεται από διαφορετική τιμή στο πεδίο control Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 58 / 58