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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πρωτόκολλα Διαδικτύου

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

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Transcript:

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

Λογική σύνδεση Πλαισίωση Μηχανισμοί Λογικής σύνδεσης Μια λογική σύνδεση αποτελείται από τους παρακάτω μηχανισμούς: πλαισίωση (framing) διόρθωση σφαλμάτων (error correction) έλεγχο σφαλμάτων (error control) έλεγχο ροής (flow control) Οι μηχανισμοί μιας λογικής σύνδεσης κατατάσσονται στο επίπεδο συνδέσμου μετάδοσης δεδομένων (data link layer) σύμφωνα με το μοντέλο OSI συνήθως αναφέρουμε ότι οι μηχανισμοί της λογικής σύνδεσης αποτελούν ένα υποεπίπεδο που ονομάζεται υποεπίπεδο ελέγχου λογικής σύνδεσης (Logical Link Control, LLC) 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 5 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 6 / 58 Πλαισίωση Πλαισίωση Δομή πλαισίου Καθορισμός ορίων πλαισίου Στα δίκτυα μεταγωγής πακέτου η πληροφορία μεταδίδεται κατά τμήματα στο επίπεδο συνδέσμου μετάδοσης δεδομένων τα τμήματα αυτά ονομάζονται πλαίσια (frames) Ένα πλαίσιο αποτελείται από: την κεφαλίδα: περιέχει δεδομένα απαραίτητα για την υλοποίηση των μηχανισμών της λογικής σύνδεσης αλλά και του επιπέδου συνδέσμου μετάδοσης δεδομένων, πχ διευθύνσεις κόμβων που επικοινωνούν το ωφέλιμο φορτίο: περιέχει το πακέτο που προέρχεται από το επίπεδο δικτύου το επίμετρο: περιέχει δεδομένα για την αξιόπιστη μετάδοση του πλαισίου Ένα σημαντικό ζήτημα στην πλαισίωση είναι ο καθορισμός των ορίων (αρχής και τέλους) ενός πλαισίου δεδομένων ιδιαίτερα σημαντικό όταν μεταδίδονται συνεχόμενα πλαίσια Οι γνωστότερες τεχνικές για την επίλυση του προβλήματος είναι: μετρητής χαρακτήρων δείκτες συνόρων με συμπλήρωση byte δείκτες συνόρων με συμπλήρωση bit χρονισμός με χαρακτήρες που δε χρησιμοποιούνται από την κωδικοποίηση φυσικού επιπέδου ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 7 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 8 / 58

Πλαισίωση Τεχνικές οριοθέτησης πλαισίου (1/2) Πλαισίωση Τεχνικές οριοθέτησης πλαισίου (2/2) Μετρητής χαρακτήρων κάθε πλαίσιο περιλαμβάνει στην κεφαλίδα ένα πεδίο (μεγέθους ενός ή περισσότερων bytes) που περιέχει το μήκος του πλαισίου (σε bytes) δημιουργείται πρόβλημα αν ο μετρητής χαρακτήρων καταστραφεί από κάποιο σφάλμα κατά τη μετάδοση Δείκτες συνόρων με συμπλήρωση byte η αρχή και η λήξη του πλαισίου σηματοδοτείται με έναν ειδικό χαρακτήρα μήκους ενός byte ο χαρακτήρας συνήθως ονομάζεται FLAG (01111110) αν ο χαρακτήρας FLAG εμφανίζεται στα δεδομένα τότε πριν από αυτόν τοποθετείται ένας ειδικός χαρακτήρας (ESC) (byte stuffing) το ίδιο συμβαίνει και αν ο χαρακτήρας ESC εμφανίζεται στα δεδομένα Δείκτες συνόρων με συμπλήρωση bit η αρχή και η λήξη του πλαισίου σηματοδοτείται με τη χρήση του χαρακτήρα FLAG (01111110) η εμφάνιση πέντε συνεχόμενων 1 στα δεδομένα οδηγεί στην συμπλήρωση ενός bit 0 (bit stuffing) στόχος είναι να μην γίνεται σύγχυση των δεδομένων με το χαρακτήρα FLAG Χρονισμός με χαρακτήρες που δε χρησιμοποιούνται από την κωδικοποίηση φυσικού επιπέδου η αρχή και η λήξη του πλαισίου σηματοδοτείται με χαρακτήρες που δε χρησιμοποιούνται για την αναπαράσταση δεδομένων ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 9 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 10 / 58 Ανίχνευση και διόρθωση σφαλμάτων Ανίχνευση και διόρθωση σφαλμάτων Ανίχνευση και διόρθωση σφαλμάτων: κεντρική ιδέα 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Ο θόρυβος μπορεί να προκαλέσει αλλοίωση ενός ή περισσοτέρων bits κατά τη μετάδοση δεδομένων μέσα από ένα σύνδεσμο Αντιμετώπιση προβλήματος: πλεονάζουσα (redundant) πληροφορία ο παραλήπτης μπορεί να χρησιμοποιήσει την πλεονάζουσα πληροφορία για να ανιχνεύσει ή να διορθώσει τα σφάλματα Δύο προσεγγίσεις για τη χρήση πλεονάζουσας πληροφορίας η πλεονάζουσα πληροφορία κατασκευάζεται με βάση τα δεδομένα και προστίθεται στο τέλος ενός πλαισίου (επίμετρο) κάθε πλαίσιο μεγέθους k bits αναπαρίσταται από ένα νέο πλαίσιο μεγέθους n > k bits (n k πλεονάζοντα bits) Η χρήση επίμετρου είναι η συνηθέστερη προσέγγιση στα δίκτυα υπολογιστών ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 11 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 12 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κώδικες ανίχνευσης και διόρθωσης σφαλμάτων (1/2) Κώδικας ανίχνευσης/διόρθωσης σφαλμάτων Στα δίκτυα υπολογιστών κώδικας ανίχνευσης/διόρθωσης σφαλμάτων ονομάζεται ο αλγόριθμος σύμφωνα με τον οποίο κατασκευάζεται το επίμετρο Γενικός ορισμός: Ένα σύνολο από ακολουθίες bit, οι οποίες καλούνται κωδικολέξεις, που χρησιμοποιούνται για την αναπαράσταση των δεδομένων πληροφορίας Στα δίκτυα, ένα επίμετρο συνήθως κατασκευάζεται με τρόπο ώστε τα δεδομένα μαζί με το επίμετρο να αποτελούν μια από τις κωδικολέξεις ενός κώδικα Απόσταση Hamming Το ελάχιστο πλήθος bit στα οποία διαφέρουν δύο οποιεσδήποτε λέξεις του κώδικα Μήκος κώδικα: το πλήθος των bit που περιέχουν οι κωδικολέξεις το μήκος ενός κώδικα σχετίζεται άμεσα με την απόσταση Hamming Ανίχνευση και διόρθωση σφαλμάτων Κώδικες ανίχνευσης και διόρθωσης σφαλμάτων (2/2) Οι κώδικες διακρίνονται σε δύο κατηγορίες ανάλογα με την ικανότητά τους να ανιχνεύουν ή να διορθώνουν σφάλματα: κώδικες ανίχνευσης σφαλμάτων (Error Detecting Codes) κώδικες διόρθωσης σφαλμάτων (Error Correcting Codes, ECC) Ανίχνευση (διόρθωση) σφαλμάτων: για την ανίχνευση (διόρθωση) d σφαλμάτων απαιτείται κώδικας με απόσταση Hamming d + 1 (2d + 1) οι κώδικες διόρθωσης σφαλμάτων έχουν μεγαλύτερο μήκος από αυτούς που ανιχνεύουν σφάλματα Η διόρθωση των σφαλμάτων με τον κατάλληλο κώδικα ονομάζεται και ευθεία διόρθωση σφαλμάτων (Forward Error Correction, FEC) ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 13 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 14 / 58 Ανίχνευση και διόρθωση σφαλμάτων Διόρθωση vs Ανίχνευση Ανίχνευση και διόρθωση σφαλμάτων Κώδικες Ελέγχου Ισοτιμίας Η αντιμετώπιση των σφαλμάτων γίνεται με δύο προσεγγίσεις: ευθεία διόρθωση των σφαλμάτων ανίχνευση των σφαλμάτων και αίτηση επανεκπομπής του πλαισίου Η διόρθωση σφαλμάτων δεν είναι πάντα η καλύτερη προσέγγιση απαιτείται μεγάλο μέγεθος πλεονάζουσας πληροφορίας η πλεονάζουσα πληροφορία μεταδίδεται συνεχώς ακόμα και αν δεν υπάρχουν σφάλματα Η ευθεία διόρθωση σφαλμάτων είναι προτιμότερη όταν: τα σφάλματα είναι πολύ συχνά (πχ ασύρματη μετάδοση) το κόστος της επανεκπομπής ενός πλαισίου είναι μεγάλο (πχ μεγάλη καθυστέρηση διάδοσης) Έστω ότι σε ένα σύνδεσμο: χρησιμοποιούμε ευθεία διόρθωση σφαλμάτων με n bits πλεονάζουσας πληροφορίας για κάθε πλαίσιο με συνολικό μέγεθος l bits η διεκπεραιωτική ικανότητα που επιτυγχάνουμε είναι R Η ωφέλιμη για το χρήστη διεκπεραιωτική ικανότητα είναι R = l n R l Ένας από τους απλούστερους κώδικες ανίχνευσης σφαλμάτων είναι ο κώδικας ισοτιμίας (parity) μπορεί να ανιχνεύσει μέχρι ένα σφάλμα Δύο υλοποιήσεις είναι δυνατές: περιττή ισοτιμία (odd parity): προσθήκη ενός bit πληροφορίας ώστε το συνολικό πλήθος των 1 να είναι περιττός αριθμός άρτια ισοτιμία (even parity): προσθήκη ενός bit πληροφορίας ώστε το συνολικό πλήθος των 1 να είναι άρτιος αριθμός Ο κώδικας μπορεί να επεκταθεί σε δύο διαστάσεις (δισδιάστατη ισοτιμία, two-dimensional parity) μπορεί να ανιχνεύσει μέχρι 3 σφάλματα και σε ορισμένες περιπτώσεις 4 σφάλματα ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 15 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 16 / 58

Ανίχνευση και διόρθωση σφαλμάτων Κυκλικός Έλεγχος Πλεονασμού (1/2) Ανίχνευση και διόρθωση σφαλμάτων Κυκλικός Έλεγχος Πλεονασμού (2/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 Ανίχνευση σφάλματος: η διαίρεση του λαμβανόμενου πλαισίου (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: Δίκτυα Υπολογιστών 17 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 18 / 58 Σκοπιμότητα ελέγχου σφαλμάτων 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Σε πολλές περιπτώσεις η ευθεία διόρθωση σφαλμάτων δεν είναι αποδοτική ή εφικτή H ευθεία διόρθωση σφαλμάτων δεν είναι αποδοτική: σε κανάλια με μικρό ρυθμό σφαλμάτων όταν ο ρυθμός και το είδος των σφαλμάτων απαιτούν υπερβολικά μεγάλο μέγεθος κώδικα για τη διόρθωση όταν το κόστος της αναμετάδοσης ενός πλαισίου είναι μικρό H ευθεία διόρθωση σφαλμάτων δεν είναι εφικτή όταν: το κανάλι καταστρέφει πλήρως τα πλαίσια (erasure channel) το πλήθος των σφαλμάτων σε ένα πλαίσιο είναι τέτοιο ώστε ακόμα και ο κώδικας ευθείας διόρθωσης αποτυγχάνει H ευθεία διόρθωση σφαλμάτων δεν μπορεί να αντιμετωπίσει: απώλειες πλαισίων εξαιτίας του ότι ο παραλήπτης δεν μπορεί να παραλάβει τα πλαίσια με το ρυθμό που του αποστέλλονται ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 19 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 20 / 58

Πρωτόκολλα ARQ (1/2) Πρωτόκολλα ARQ (2/2) Κεντρική ιδέα: ανίχνευση της απώλειας ενός πλαισίου και επανεκπομπή του από τον αποστολέα Βασικοί μηχανισμοί για την ανίχνευση της απώλειας ενός πλαισίου: επιβεβαίωση της λήψης από τον παραλήπτη με την αποστολή ενός πλαισίου επιβεβαίωσης (ACK) αναμονή για τη λήψη της επιβεβαίωσης από τον αποστολέα (χρόνος αναμονής (timeout)) αν δεν ληφθεί επιβεβαίωση τότε η εκπομπή επαναλαμβάνεται αρίθμηση των πλαισίων με ακολουθιακούς αριθμούς (sequence numbers) Σε συνδέσμους που δεν καταστέφουν πλήρως ένα πλαίσιο, ο αποστολέας είναι εφικτό να ειδοποιείται για την αλλοίωση και όχι για την ορθή λήψη ενός πλαισίου (αρνητικές επιβεβαιώσεις (Negative ACKs, NACKs)) Ένα κόμβος, αντί να χρησιμοποιήσει ένα πλαίσιο για να επιβεβαιώσει δεδομένα που έλαβε, μπορεί να φορτώσει την επιβεβαίωση σε ένα πλαίσιο δεδομένων που πρόκειται να αποστείλει (piggyback ACK) Τα πρωτόκολλα που επανεκπέμπουν πλαίσια μετά τη λήξη του χρόνου αναμονής ονομάζονται πρωτόκολλα αυτόματης αίτησης επανάληψης (Automatic Repeat request, ARQ) Τα πρωτόκολλα ARQ διαφέρουν ως προς την πολυπλοκότητα και την αξιοποίηση του συνδέσμου η πολυπλοκότητα εξαρτάται από τον αποθηκευτικό χώρο που απαιτείται αλλά και το πλήθος των ακολουθιακών αριθμών Η επιλογή του κατάλληλου πρωτοκόλλου ARQ εξαρτάται από τα χαρακτηριστικά του συνδέσμου το ρυθμό σφαλμάτων το γινόμενο καθυστέρησης-εύρους ζώνης Τα σημαντικότερα πρωτόκολλα της κατηγορίας ARQ είναι τα: (ABP) (GBN) (SR) ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 21 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 22 / 58 : Εισαγωγή 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών Το πρωτόκολλο (ABP) είναι το απλούστερο πρωτόκολλο για τον έλεγχο σφαλμάτων ονομάζεται επίσης και Stop-and-Wait ARQ Κεντρική ιδέα: αποστολή ενός πλαισίου κάθε φορά και αναμονή για την επιβεβαίωσή του από τον παραλήπτη Είναι ένα πρωτόκολλο με χαμηλή πολυπλοκότητα αλλά και χαμηλή αξιοποίηση του συνδέσμου ο αποστολέας πρέπει να έχει τη δυνατότητα αποθήκευσης ενός πλαισίου χρησιμοποιούνται μόνο δύο αριθμοί ακολουθίας (οι 0 και 1) Xρειάζεται μόνο ένα bit στην κεφαλίδα του πλαισίου, το οποίο εναλλάσσεται μεταξύ των τιμών 0 και 1, για την αναπαράσταση των αριθμών ακολουθίας ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 23 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 24 / 58

Λειτουργία ABP (1/2) Λειτουργία ABP (2/2) Αποστολέας: εκπέμπει ένα πλαίσιο τη φορά και κρατά αντίγραφο του πλαισίου μέχρι αυτό να επιβεβαιωθεί από τον παραλήπτη για την αναμονή της επιβεβαίωσης χρησιμοποιείται χρονόμετρο που λήγει μετά από κάποιο προκαθορισμένο χρόνο (t timeout ) ο χρόνος t timeout πρέπει να είναι τέτοιος ώστε να επιτρέπει τη λήψη μιας επιβεβαίωσης και από τον πλέον απομακρυσμένο κόμβο τα πλαίσια αριθμούνται εναλλάξ με 0 ή 1 αν δεν ληφθεί επιβεβαίωση το πλαίσιο επανεκπέμπεται, διαφορετικά εκπέμπεται το επόμενο πλαίσιο Παραλήπτης: με την ορθή λήψη του πλαισίου: παραδίδει το πλαίσιο στο ανώτερο επίπεδο επιβεβαιώνει την ορθή λήψη ενός πλαισίου με ένα ACK το πλαίσιο ACK αριθμείται όπως και το πλαίσιο που επιβεβαιώνει Οι αριθμοί ακολουθίας χρησιμεύουν στην αναγνώριση και απόρριψη διπλοτύπων από τον παραλήπτη Δημιουργία διπλοτύπων Διπλότυπα δημιουργούνται όταν ο αποστολέας επαναλαμβάνει την αποστολή ενός πλαισίου επειδή δεν γνωρίζει ότι το πλαίσιο παραδόθηκε σωστά ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 25 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 26 / 58 Απόδοση ABP (1/3) Η μετάδοση ενός πλαισίου στο ABP αποτελείται από k συνολικά προσπάθειες (k 1 αποτυχίες και 1 επιτυχία) σε κάθε αποτυχία δαπανάται χρόνος ttimeout στην επιτυχία δαπανάται χρόνος 2t pr + 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 Απόδοση 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: Δίκτυα Υπολογιστών 27 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 28 / 58

Απόδοση 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 tpr t fr,p 0 tfr (1 p) tpr 2+ t fr +ts+t ack tpr t fr tpr 1 0 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 29 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 30 / 58 Σκοπιμότητα και κεντρική ιδέα Βασικοί μηχανισμοί (1/4) Η μικρή ρυθμαπόδοση του ABP οφείλεται στο ότι υπάρχει μόνο ένα πλαίσιο υπό μετάδοση κάθε φορά σε κάθε μετάδοση ο σύνδεσμος παραμένει αδρανής για χρόνο τουλάχιστον 2t pr σε περιπτώσεις σφαλμάτων ο σύνδεσμος παραμένει επανειλημμένα αδρανής Κεντρική ιδέα: περισσότερα από ένα πλαίσια υπό μετάδοση στο σύνδεσμο κάθε χρονική στιγμή ο αποστολέας επιτρέπεται να μεταδώσει παραπάνω από ένα πλαίσια πριν λάβει κάποια επιβεβαίωση Τα ARQ πρωτόκολλα αυτής της κατηγορίας ονομάζονται κυλιόμενου παραθύρου (Sliding Window ARQ) Αποστολέας και παραλήπτης υλοποιούν τους μηχανισμούς ARQ: ο αποστολέας αριθμεί τα πλαίσια δεδομένων με διαφορετικούς ακολουθιακούς αριθμούς ο παραλήπτης επιβεβαιώνει τη λήψη ενός πλαισίου με μια επιβεβαίωση που έχει τον ίδιο ακολουθιακό αριθμό για την αναμονή των επιβεβαιώσεων, ο αποστολέας χρησιμοποιεί ένα χρονόμετρο για κάθε πλαίσιο δεδομένων Αποστολέας: μπορεί να εκπέμπει μέχρι SW S πλαίσια χωρίς να έχει λάβει κάποια επιβεβαίωση ο αριθμός SW S ονομάζεται (μέγεθος παραθύρου αποστολέα, Sender Window Size) μέχρι SW S πλαίσια βρίσκονται υπό μετάδοση στο σύνδεσμο ο αποστολέας πρέπει να έχει τη δυνατότητα να αποθηκεύει μέχρι SW S πλαίσια μέχρι τη λήψη της επιβεβαίωσης ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 31 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 32 / 58

Βασικοί μηχανισμοί (2/4) Βασικοί μηχανισμοί (3/4) Αποστολέας: διατηρεί δύο μετρητές LAR, Last Acknowledgement Received: περιέχει τον αριθμό ακολουθίας της τελευταίας επιβεβαίωσης που ελήφθη ενημερώνεται με βάση τις επιβεβαιώσεις που λαμβάνονται LFS, Last Frame Sent: περιέχει τον αριθμό ακολουθίας του τελευταίου πλαισίου δεδομένων που στάλθηκε Ο παραλήπτης ενδέχεται να λάβει πλαίσια δεδομένων εκτός σειράς (out of order) το φαινόμενο εμφανίζεται όταν κάποιο πακέτο που μεταδόθηκε πρώτο καταστρέφεται, ενώ ένα επόμενο παραδίδεται κανονικά Ο αποστολέας μπορεί να μεταδώσει ένα πλαίσιο με αριθμό ακολουθίας k (δηλαδή LF S k) μόνο αν ισχύει: LF S LAR SW S Παραλήπτης: μπορεί να παραλάβει και να επιβεβαιώσει μέχρι RW S πλαίσια ο αριθμός RW S ονομάζεται (μέγεθος παραθύρου παραλήπτη, Receiver Window Size) ο παραλήπτης πρέπει να έχει τη δυνατότητα να αποθηκεύει μέχρι RW S 1 πλαίσια πριν τα παραδώσει στο ανώτερο επίπεδο μέχρι RW S πλαίσια μπορούν να φτάσουν στον παραλήπτη εκτός σειράς ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 33 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 34 / 58 Βασικοί μηχανισμοί (4/4) Αριθμοί ακολουθίας Παραλήπτης: διατηρεί επίσης δύο μετρητές LFR, Last Frame Received: περιέχει τον αριθμό ακολουθίας του τελευταίου πλαισίου δεδομένων που ελήφθη LAF, Largest Acceptable Frame: ο μέγιστος αριθμός ακολουθίας ενός πλαισίου ώστε να γίνει αποδεκτό Ένα πλαίσιο δεδομένων με ακολουθιακό αριθμό k: απορρίπτεται αν k LF R ή k > LAF γίνεται αποδεκτό (δηλαδή LF R k) και επιβεβαιώνεται αν LF R k LAF Το πλήθος των ακολουθιακών αριθμών που χρησιμοποιούνται (N) δεν μπορεί να είναι ανεξέλεγκτα μεγάλο χρειάζονται log2 N bits για την αναπαράστασή τους, τα οποία ενσωματώνονται στο πλαίσιο (δεδομένων ή επιβεβαίωσης) Κεντρική ιδέα: χρειάζονται μόνο τόσοι ακολουθιακοί αριθμοί όσα τα πλαίσια σε εκκρεμότητα είναι εφικτή η διάκριση των πλαισίων με βάση τον ακολουθιακό αριθμό επόμενα πλαίσια μεταδίδονται με επαναχρησιμοποίηση των ακολουθιακών αριθμών (sequence number rollover) Πλήθος ακολουθιακών αριθμών Ένα πρωτόκολλο ARQ χρειάζεται συνολικά SW S + RW S διαφορετικούς ακολουθιακούς αριθμούς SW S πλαίσια υπό μετάδοση ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 35 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 36 / 58 RW S πλαίσια εκτός σειράς που είναι αποθηκευμένα στον παραλήπτη και η παράδοση τους στο ανώτερο επίπεδο εκκρεμεί

Μέγεθος παραθύρου Η επιλογή του 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 πρωτόκολλο RW S = SW S πρωτόκολλο Το ABP είναι ένα πρωτόκολλο κυλιόμενου παραθύρου με SW S = 1 και RW S = 1 Όταν αναφέρουμε ότι το μέγεθος του παραθύρου είναι W SW S = RW S = W Δεν έχει νόημα να ισχύει RW S > SW S (δεν υπάρχει περίπτωση να φτάσουν στον παραλήπτη περισσότερα από τα πλαίσια που μεταδίδει ο αποστολέας) 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 37 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 38 / 58 : Εισαγωγή Λειτουργία (1/2) Το πρωτόκολλο (GBN) ανήκει στην κατηγορία Sliding Window ARQ μέγεθος παραθύρου αποστολέα SW S = W μέγεθος παραθύρου παραλήπτη RW S = 1 Επιτυγχάνει μέτρια αξιοποίηση του συνδέσμου και χαρακτηρίζεται από μέτρια πολυπλοκότητα δεν επιτυγχάνει υψηλή ρυθμαπόδοση σε συνδέσμους με υψηλό ρυθμό σφαλμάτων απαιτείται δυνατότητα αποθήκευσης μέχρι W πλαισίων στον αποστολέα δεν απαιτείται δυνατότητα αποθήκευσης στον παραλήπτη απαιτείται η χρήση W + 1 αριθμών ακολουθίας Για την αναπαράσταση των αριθμών ακολουθίας χρειάζονται log 2(W + 1) bits στην κεφαλίδα ενός πλαισίου Χρειάζονται W + 1 αριθμοί ακολουθίας ενώ το μέγιστο πλήθος των υπό μετάδοση πλαισίων είναι W Αποστολέας: αριθμεί τα προς μετάδοση πλαίσια χρησιμοποιώντας τους ακολουθιακούς αριθμούς 0,, W κυκλικά εκπέμπει μέχρι W μη επιβεβαιωμένα πλαίσια αν δεν ληφθεί επιβεβαίωση για ένα πλαίσιο με αριθμό ακολουθίας k τότε επανεκπέμπονται όλα τα πλαίσια από το k μέχρι την εξάντληση του παραθύρου ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 39 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 40 / 58

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

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

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

Έλεγχος ροής Παραδείγματα Τεχνολογιών Sliding Window (2/2) 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων Σε μια εναλλακτική υλοποίηση ο παραλήπτης μπορεί να διαμορφώνει δυναμικά το μέγεθος του παραθύρου και να ενημερώνει (μέσω των επιβεβαιώσεων) τον αποστολέα για το νέο μέγεθος 4 5 Έλεγχος ροής 6 Παραδείγματα Τεχνολογιών ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 53 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 54 / 58 Παραδείγματα Τεχνολογιών High-level Data Link Control (1/2) Παραδείγματα Τεχνολογιών High-level Data Link Control (2/2) Το πρωτόκολλο High-level Data Link Control, HDLC είναι ένα πρωτόκολλο του επιπέδου συνδέσμου μετάδοσης δεδομένων (data link layer) προτάθηκε από τον οργανισμό ISO η αρχική του έκδοση (Synchronous Data Link Control, SDLC) προτάθηκε από την IBM μετεξέλιξή του αποτελεί το Link Access Procedure, LAP που προτάθηκε από την CCITT και χρησιμοποιείται στα δίκτυα X25 Η οριοθέτηση του πλαισίου γίνεται με δείκτες συνόρων και συμπλήρωση bit ο χαρακτήρας που σηματοδοτεί την έναρξη και λήξη του πλαισίου είναι ο 01111110 η πληροφορία αυτή μεταδίδεται και όταν δεν υπάρχουν δεδομένα ώστε να διευκολύνεται ο συγχρονισμός των κόμβων που επικοινωνούν Πεδία πλαισίου HDLC: address: περιέχει τη διεύθυνση του παραλήπτη control: χρησιμοποιείται για να ορίσει διαφορετικούς τύπους πλαισίων (ελέγχου και δεδομένων) checksum: χρησιμοποιείται για ανίχνευση σφαλμάτων (CRC κώδικας με ακολουθία αναφοράς 1000100000010001, CRC-16-CCITT) Για τον έλεγχο σφαλμάτων το HDLC χρησιμοποιεί την τεχνική sliding window το μέγεθος του παραθύρου αποστολέα είναι 7 (3 bit για ακολουθιακούς αριθμούς) ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 55 / 58 ΕΠαπαπέτρου (ΤμΜηχ Η/Υ & Πληροφορικής) ΠΛΥ606: Δίκτυα Υπολογιστών 56 / 58

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