Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη #3: Δικτυακά πρότυπα, το μοντέλο αναφοράς OSI, Επίπεδο ζεύξης δεδομένων (data link layer), Αξιόπιστη Επικοινωνία.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη #3: Δικτυακά πρότυπα, το μοντέλο αναφοράς OSI, Επίπεδο ζεύξης δεδομένων (data link layer), Αξιόπιστη Επικοινωνία."— Μεταγράφημα παρουσίασης:

1 Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη #3: Δικτυακά πρότυπα, το μοντέλο αναφοράς OSI, Επίπεδο ζεύξης δεδομένων (data link layer), Αξιόπιστη Επικοινωνία και Έλεγχος Ροής. Διαγνωστικά εργαλεία δικτύων (ping, traceroute) Γαβαλάς Δαμιανός Εαρινό εξάμηνο

2 Περίληψη διάλεξης  Πρότυπα δικτύωσης  Το μοντέλο αναφοράς OSI και τα στρώματά (επίπεδα) του  Λειτουργίες που ανήκουν στο μοντέλο αναφοράςOSI  Επίπεδο ζεύξης δεδομένων (data link layer)  Αξιόπιστη Επικοινωνία και Έλεγχος Ροής  Διαγνωστικά εργαλεία δικτύων (ping, traceroute)

3

4 Πρότυπα (Standards)  Τα πρότυπα είναι δημοσιευμένες συμφωνίες που περιλαμβάνουν τεχνικές προδιαγραφές  Γιατί χρειάζονται:  Τα προϊόντα και οι εφαρμογές που ακολουθούν τις προδιαγραφές που περιγράφονται στα πρότυπα είναι συμβατές με άλλα προϊόντα, εφαρμογές, περιεχόμενο, υπηρεσίες,....  Παραδείγματα:  Ηλεκτρικές συσκευές που λειτουργούν σε συγκεκριμένη τάση ρεύματος. Οι παροχείς ρεύματος (π.χ. μπρίζες) παρέχουν ρεύμα αυτής της τάσης  Εταιρία που παράγει ραδιοφωνικούς δέκτες που μπορούν να λάβουν ραδιοφωνικά σήματα σε συγκεκριμένη μπάντα συχνοτήτων και να συντονιστούν με ραδιοφωνικούς πομπούς  Εταιρία hardware που παράγει κάρτες δικτύου. Οι κάρτες θα πρέπει να είναι συμβατές με κάποιο δικτυακό πρότυπο (π.χ. ΙΕΕΕ 802.3) για να μπορεί ο Η/Υ που «φοράει» την κάρτα να συνδεθεί σε κάποιο δίκτυο (LAN)  Εταιρία λογισμικού που αναπτύσσει έναν νέο browser. Ο browser θα πρέπει να ακολουθήσει τις προδιαγραφές της HTML για να παρέχει στους χρήστες πρόσβαση σε web περιεχόμενο

5 Πρότυπα  Απαιτούνται για την εξασφάλιση διαλειτουργικότητας (συμβατότητας) μεταξύ συσκευών  Πλεονεκτήματα  Εξασφαλίζουν μια μεγάλη αγορά για συσκευές και λογισμικό  Προϊόντα διαφορετικών κατασκευαστών μπορούν να επικοινωνήσουν  Μειονεκτήματα  Παγώνουν την τεχνολογία  δεν παράγεις μια συσκευή ή λογισμικό μέχρι να δημοσιευθεί το πρότυπο που θα πρέπει να υποστηρίζει  Συχνά υπάρχουν πολλαπλά πρότυπα για το ίδιο αντικείμενο

6 Οργανισμοί προτυποποίησης (standardization bodies)  ANSI (American National Standards Institute): παράγει πρότυπα για βιομηχανίες ηλεκτρονικών αλλά και σε άλλα πεδία (χημική και πυρηνική μηχανική, υγεία και ασφάλεια, κατασκευές)  TIA (Telecommunications Industry Association): επικεντρώνει σε πρότυπα της πληροφορικής, ασύρματες, δορυφορικές επικοινωνίες, οπτικές ίνες, τηλεφωνικές συσκευές  IEEE (Institute of Electrical and Electronics Engineers): ένωση επαγγελματιών μηχανικών (engineers)  ISO (International Standardization Organization): διατηρεί κεντρικά γραφεία στην Γενεύη, αποτελεί συλλογή από πρότυπα και οργανισμούς που αντιπροσωπεύουν 148 χώρες  Στόχος του ISO είναι να αναπτύξει διεθνή τεχνολογικά πρότυπα για να διευκολύνει την παγκόσμια ανταλλαγή πληροφορίας και το εμπόριο

7 Οργανισμοί προτυποποίησης (standardization bodies)  ITU (International Telecommunication Union)  Ένα εξειδικευμένο σώμα των Ηνωμένων Εθνών που ρυθμίζει τις διεθνείς τηλεπικοινωνίες (π.χ. ραδιοφωνικές και τηλεοπτικές επικοινωνίες), προδιαγραφές για τηλεφωνικές και δορυφορικές επικοινωνίες, δικτυακές επικοινωνίες, κοστολογήσεις επικοινωνιακών υπηρεσιών  IAB (Internet Architecture Board)  Μια τεχνική συμβουλευτική ομάδα ερευνητών και τεχνοκρατών επαγγελματιών με ενδιαφέρον για το σχεδιασμό, εξέλιξη και διαχείριση του Internet  IETF (Internet Engineering Task Force)  Οργανισμός που θέτει πρότυπα για το πως συστήματα επικοινωνούν μέσω του Internet, συγκεκριμένα πως τα πρωτόκολλα λειτουργούν και αλληλεπιδρούν  W3C (World Wide Web Consortium)  O οργανισμός που καθορίζει τα πρότυπα σχετικά με τον παγκόσμιο ιστό (web)

8

9 Αρχιτεκτονική δικτύων με τη λογική των στρωμάτων ή επιπέδων (layers) Στρώματα ή Επίπεδα Διεπαφή μεταξύ Στρωμάτων Στοίβα πρωτοκόλλων (protocol stack) H «παραβολή» του ταχυδρομείου και των αεροπορικών μεταφορών

10 Η λογική των επιπέδων στις αεροπορικές μεταφορές Επίπεδα (Layers): κάθε επίπεδο υλοποιεί μία υπηρεσία  Μέσω διεργασιών που γίνονται εσωτερικά σε κάθε επίπεδο  Βασίζεται σε υπηρεσίες που παρέχονται σε προηγούμενα / επόμενα επίπεδα Εισιτήριο (αγορά) Αποσκευές (έλεγχος) Πύλες (φόρτωση) Αεροδιάδρομος (απογείωση) Δρομολόγηση αεροπλάνου Αεροδρόμιο – αφετηρία Αεροδρόμιο – προορισμός Ενδιάμεσες στάσεις – κέντρα ελέγχου Δρομολόγηση αεροπλάνου Εισιτήριο (παράπονα) Αποσκευές (συλλογή) Πύλες (άδειασμα) Αεροδιάδρομος (προσγείωση) Δρομολόγηση αεροπλάνου Εισιτήριο Αποσκευές Πύλη Προσγείωση / απογείωση Δρομολόγηση αεροπλάνου

11 Γιατί επίπεδα;;;  Καταμερισμός του πολύπλοκου προβλήματος σε μικρότερα, πιο απλά προβλήματα («διαίρει και βασίλευε»)  Κάθε επίπεδο είναι υπεύθυνο για την αντιμετώπιση κάποιων προβλημάτων που μπορεί να προκύψουν  Κάθε επίπεδο κρύβει την πολυπλοκότητα του από τα υπόλοιπα επίπεδα και τους χρήστες (tranasparency: «διαφάνεια»)  Αποτελεσματικότερη δομή αποτελούμενη από πολλές επί μέρους μονάδες (modular)  Μια καινούργια υπηρεσία μπορεί να υλοποιηθεί μετατρέποντας μόνο ένα επίπεδο (στρώμα)

12 Μοντέλο Αναφοράς OSI (Open System Interconnection) Εφαρμογής Παρουσίασης Συνόδου Μεταφοράς Δικτύου Διασύνδεσης δεδομένων Φυσικό

13 Πρότυπο αρχιτεκτονικής OSI-ISO  OSI: Open System Interconnection  ISO: International Standardization Organization

14 Μοντελοποιώντας χρησιμοποιώντας στρώματα (Layers Models)  Στρώματα (layers)  Μείωση πολυπλοκότητας σχεδίασης  «Χτίσιμο πάνω στο προηγούμενο»  Επίπεδο ν επικοινωνεί με επίπεδο ν  Κανόνες + Συνθήκες επιπέδου ν  πρωτόκολλα επιπέδου ν  Πρωτόκολλα Υψηλού επιπέδου (εφαρμογές) και Χαμηλού επιπέδου (ηλεκτρικά σήματα)  Από ν σε ν επίπεδο τα δεδομένα μεταφέρονται ως εξής:  Κάθε επίπεδο περνά τα δεδομένα και πληροφορίες ελέγχου στο επίπεδο που βρίσκεται ακριβώς κάτω από αυτό, μέχρι τα δεδομένα και οι πληροφορίες αυτές να μεταφερθούν στο κατώτερο και να πραγματοποιηθεί η βασική επικοινωνία

15 Μοντέλο OSI  Φυσικό στρώμα (Physical Layer)  Μετάδοση ακατέργαστων bits (0 ή 1) από τον αποστολέα στον δέκτη.  Στρώμα Διασύνδεσης Δεδομένων (Data Link Layer)  Τεμαχίζει τα δεδομένα σε πλαίσια δεδομένων (frames)  Επιβεβαιώνει ότι η επικοινωνία του Φυσικού στρώματος είναι αξιόπιστη (Πλαίσια επαλήθευσης -acknowledgement frames)  Ανίχνευση και επιδιόρθωση λαθών (Error detection and correction)  Έλεγχος ροής (flow control)

16 Μοντέλο OSI  Στρώμα Δικτύου (Network Layer)  Δρομολόγηση πακέτων  Έλεγχος συμφόρησης  Στρώμα Μεταφοράς (Transport Layer)  Τεμαχίζει τα μηνύματα σε μικρότερες μονάδες  Επιβεβαιώνει ότι όλες οι μονάδες φτάνουν στο άλλο άκρο και επανα-συναρμολογεί το μήνυμα  Πολυπλεξία συνδέσεων  Υπηρεσίες μεταφοράς πακέτων από άκρο σε άκρο (end-to-end) (π.χ., αξιόπιστη μεταφορά δεδομένων στον δέκτη)  Έλεγχος συμφόρησης (congestion) και ροής πακέτων

17 Μοντέλο OSI  Στρώμα Συνόδου (Session Layer)  Εγκαθίδρυση και επίβλεψη συνδέσεων μεταξύ τερματικών συστημάτων  Στρώμα Παρουσίασης (Presentation Layer)  Κωδικοποίηση δεδομένων, Μετατροπές στη μορφή παρουσίασης της πληροφορίας (συμπίεση, ασφάλεια)  Στρώμα Εφαρμογής (Application Layer)  Περιλαμβάνει προγράμματα χρηστών τα οποία χρησιμοποιούν το επίπεδο παρουσίασης για τις επικοινωνιακές τους ανάγκες

18

19 «Επικοινωνία» μεταξύ επιπέδων στο μοντέλο OSI Ενθυλάκωση (encapsulation) των header+data κάθε επιπέδου ως δεδομένα του κατώτερου επιπέδου

20 Ενθυλάκωση (encapsulation) στο μοντέλο του OSI Data link layer Header (επικεφαλίδα) Data link layer Trailer (ουρά)

21 To μοντέλο αναφοράς TCP/IP Δεν έχουν υλοποιηθεί

22 To μοντέλο αναφοράς TCP/IP

23 Το Μοντέλο του Διαδικτύου ■ ■ ■ FTP TCP UDP IP NET 1 2 n HTTPSNMPTFTP

24

25 Πρωτόκολλο (protocol)  Η συμφωνία ανάμεσα σε δύο επικοινωνούντα μέρη, ως προς τον τρόπο με τον οποίο θα διεξαχθεί η επικοινωνία  Ένα ανθρώπινο πρωτόκολλο και ένα δικτυακό πρωτόκολλο: Γεια σου Γεια Έχεις ώρα; 12:00 TCP connection req TCP connection response χρόνος

26 Πλαισίωση (Framing)  Στο επίπεδο «ζεύξης δεδομένων» δύο υπολογιστές ανταλλάσσουν πλαίσια (frames)  Ένα πλαίσιο περιέχει:  Διεύθυνση αποστολέα (MAC address)  Διεύθυνση παραλήπτη (MAC address της κάρτα δικτύου που είναι μοναδική)  Δεδομένα  Κώδικα ανίχνευσης σφαλμάτων κατά την επικοινωνία  Επικεφαλίδα και ουρά (header & trailer)  Πρωτόκολλο (προαιρετικό: σε περίπτωση που κάποια μηχανή υποστηρίζει διάφορα πρωτόκολλα)

27 Πλαίσια βασισμένα σε συρμούς ψηφίων (bit streams)  High-level Data Link Control (HDLC)  BS: Beginning Sequence  ES: Ending Sequence  Η σειρά μεταδίδεται επίσης και όταν το κανάλι είναι ανενεργό  Πως αντιμετωπίζεται η περίπτωση όπου η σειρά παρουσιάζεται μέσα στα δεδομένα; BSESCRCHeaderBODY 816 8

28 Bit-stuffing  Πως αντιμετωπίζεται η περίπτωση όπου η σειρά παρουσιάζεται μέσα στα δεδομένα;  Ο αποστολέας μόλις στείλει 5 συνεχόμενα 1, (δεδομένου ότι δεν θέλει να στείλει το ES), τότε στέλνει «0» και μετά συνεχίζει με τα υπόλοιπα ψηφία.  Ο παραλήπτης, μόλις παραλάβει 5 συνεχόμενα 1, τότε ελέγχει το επόμενο ψηφίο  Εάν είναι «0», τότε υποθέτει ότι αποτελεί bit-stuffing, το αγνοεί και συνεχίζει την λήψη των υπολοίπων ψηφίων.  Εάν όμως είναι «1», τότε αντιλαμβάνεται ότι το πλαίσιο είτε έχει τελειώσει είτε υπάρχει κάποιο λάθος και παίρνει το επόμενο ψηφίο.  Εάν είναι «0», δηλαδή έχει πάρει , τότε το πλαίσιο έχει τελειώσει.  Εάν είναι «1», τότε υπάρχει κάποιο λάθος, οπότε ολόκληρο το πλαίσιο απορρίπτεται, και περιμένει το επόμενο που αποτελεί την αρχή του επόμενου πλαισίου.

29 Bit-stuffing Δεδομένα που παραδίδονται από το Network Layer Extra bit που προστίθεται από το Data Link Layer Extra bit που αφαιρείται από το Data Link Layer του παραλήπτη και διαβιβάζεται στο Network Layer Στα δεδομένα εμφανίζεται ακολουθία 8 bits που συμπίπτει με το BS και το ES Ο αποστολέας προσθέτει ένα επιπλέον bit ώστε ο παραλήπτης να μην το εκλάβει ως ES Ο παραλήπτης αφαιρεί το επιπλέον bit

30 Ανίχνευση Σφαλμάτων (Error Detection)  Σφάλματα λόγω θορύβου ή παρεμβολών  Ανίχνευση και Επιδιόρθωση Σφαλμάτων  Προϋποθέτουν την αποστολή πλεονάζουσας πληροφορίας (redundant information)  π.χ. ένα πακέτο αποστέλλεται δύο φορές  αν ο παραλήπτης λάβει δύο πακέτα που συμπίπτουν, θεωρεί ότι δεν έχει γίνει λάθος στην μετάδοση του πακέτου  Μέθοδοι ανίχνευσης σφάλματος  Δισδιάστατη Ισοτιμία (two-dimensional parity)  Άθροισμα ελέγχου (check sum)  Κυκλικός Κώδικας Πλεονασμού (Cyclic Redundancy Check CRC)

31 Ανίχνευση Σφαλμάτων (Error Detection)  Τι γίνεται σε περίπτωση που ανιχνευθεί σφάλμα;  Επαναμετάδοση (retransmission): Ο δέκτης ζητά από τον αποστολέα να ξαναστείλει το πλαίσιο  Στο πλαίσιο μπορεί να περιληφθεί πλεονάζουσα πληροφορία ώστε ο δέκτης να μπορεί να επιδιορθώσει τα σφάλματα (error correction codes)  Πότε χρησιμοποιούμε επαναμετάδοση και πότε επιδιόρθωση σφάλματος;

32 Τεχνικές Ανίχνευσης Σφαλμάτων: Μονοδιάστατη Ισοτιμία (Parity)  Έστω ότι χρησιμοποιούμε άρτια ισοτιμία (το άθροισμα των data και parity bits είναι άρτιος αριθμός)  Ο αποστολέας στέλνει:  Παράδειγμα 1ο – Ο παραλήπτης λαμβάνει: Data bits parity bit Το άθροισμα των bits δεν είναι άρτιο: ο παραλήπτης ανιχνεύει λάθος και ζητάει επανεκπομπή (δεν μπορεί βέβαια να το διορθώσει)  Παράδειγμα 2ο – Ο παραλήπτης λαμβάνει: Λάθος Το άθροισμα των bits είναι άρτιο: ο παραλήπτης δεν ανιχνεύει λάθος Δύο λάθη

33 Δυσδιάστατη Ισοτιμία (Parity)  1 bit σε κάθε byte χρησιμοποιείται σαν bit ισοτιμίας  Το άθροισμα όλων των bits να είναι άρτιο (even parity)  Το πρωτόκολλο μπορεί να καθορίζει είτε άρτια (even parity) είτε περιττή ισοτιμία (odd parity)  Τα δεδομένα τοποθετούνται σε ένα πίνακα (matrix)  Το άθροισμα όλων των στηλών και γραμμών να είναι θετικό (even parity)  Η μέθοδος ανιχνεύει σφάλματα στις περιπτώσεις που υπάρχουν 1 ή 2 ή 3 σφάλματα σε ένα πλαίσιο ή πολλές φορές ακόμα και 4  Πλεονάζουσα πληροφορία = 8 + Ν bits, όπου Ν = dataBits / 7 (δηλαδή για κάθε 7 bits δεδομένων στέλνεται ένα parity bit)  Πολύ πιο αποδοτικό από το να σταλούν όλα τα δεδομένα 2 φορές και επίσης υπάρχει καλύτερη πιθανότητα ανίχνευσης των σφαλμάτων

34 Παράδειγμα Δυσδιάστατης Ισοτιμίας Χρησιμοποιείται άρτια ισοτιμία (το άθροισμα των bits σε κάθε γραμμή & στήλη είναι άρτιος αριθμός) Bits ισοτιμίας (parity bits)

35 Παράδειγμα Δυσδιάστατης Ισοτιμίας Λάθος Ο δέκτης παρέλαβε το πιο κάτω πλαίσιο: Ο δέκτης μπορεί να επιδιορθώσει το σφάλμα!

36 Παράδειγμα Δυσδιάστατης Ισοτιμίας Λάθος Ο δέκτης παρέλαβε το πιο κάτω πλαίσιο: Ο δέκτης δεν μπορεί να επιδιορθώσει το σφάλμα! Διπλά λάθη ανιχνεύονται αλλά δεν διορθώνονται αν βρίσκονται στην ίδια γραμμή ή στήλη

37 Άθροισμα Ελέγχου (checksum)  Ο αποστολέας απλά προσθέτει όλες τις λέξεις (words) του πλαισίου και επισυνάπτει το άθροισμα στο πλαίσιο (ones complement addition)  Ο παραλήπτης κάνει το ίδιο (απλά προσθέτει όλες τις λέξεις του πλαισίου και συγκρίνει το αποτέλεσμα με το Άθροισμα Ελέγχου που παρέλαβε με το πλαίσιο  Εάν τα δύο αθροίσματα είναι τα ίδια, τότε το πλαίσιο είναι αποδεκτό  Εάν τα δύο αθροίσματα διαφέρουν, τότε το πλαίσιο απορρίπτεται  Ο αλγόριθμος αυτός συνήθως δεν χρησιμοποιείται στη ζεύξη δεδομένων  Παράδειγμα: C 6C 6F F 72 6C 64 2E H e l l o W o r l d.  C6C + 6F F + 726C + 642E = 71FC  Στέλνονται τα δεδομένα ακολουθούμενα από το 717C

38 Τεχνικές Διόρθωσης (Hamming)  Κωδικοποιούνται οι καταστάσεις με τρόπο ώστε να ‘απέχουν’ μεταξύ τους τουλάχιστον ένα συγκεκριμένο αριθμό αλλαγών (απόσταση Hamming).  π.χ. Απόσταση Hamming των και = 3 (με XOR)  Παράδειγμα: έστω ‘αλφάβητο’ τεσσάρων συμβόλων (A, B, C, D)  Κωδικοποίηση ώστε να μεγιστοποιηθεί η απόσταση Hamming: Α= , Β = , C = , D = (ποια είναι η απόσταση Hamming και ποια η σπατάλη;)  Σε διπλό σφάλμα κάνω σωστή διόρθωση, π.χ. αν λάβω => (πως βρίσκω τη σωστή λέξη;)  Αν όμως ένα τριπλό λάθος αλλάξει το σε θα το διορθώσω εσφαλμένα σε  Για ανίχνευση d σφαλμάτων χρειάζεται κώδικας με απόσταση Hamming d+1  Για διόρθωση d σφαλμάτων χρειάζεται κώδικας με απόσταση Hamming 2d+1  ‘Ξοδεύονται’ κάποιοι κωδικοί: δεν αντιστοιχίζονται σε νόμιμες τιμές (π.χ., στο παραπάνω παράδειγμα, ο κωδικός δεν είναι νόμιμος).  Όταν ανιχνεύεται ΄παράνομος’ κωδικός, μετατρέπεται στον πιο κοντινό του νόμιμο.  Σπατάλη, αλλά αξιοπιστία.  Χρησιμοποιούνται σε CD-ROM

39 Κυκλικός Κώδικας Πλεονασμού (Cyclic Redundancy Check, CRC)  Βασισμένη στη θεωρία των πεπερασμένων πεδίων  Κάθε συρμός (bit stream) αντιπροσωπεύει ένα πολυώνυμο M(x)  ( n +1)-bit συρμός αντιπροσωπεύει πολυώνυμο βαθμού n  1001  M(x) = 1x 3 +0x 2 +0x 1 +1x 0 = x 3 +x 0  Επιλογή διαιρέτη: Πολυώνυμο C(x) βαθμού k το οποίο γνωρίζουν ο αποστολέας και παραλήπτης  Ο αποστολέας στέλνει το πολυώνυμο P(x) το οποίο είναι βαθμού n+k (δηλαδή n+k+1 bits)  Το πολυώνυμο P(x) επιλέγεται έτσι ώστε το υπόλοιπο της διαίρεσης P(x) / C(x) να είναι 0  Ο παραλήπτης κάνει τη διαίρεση και αν υπάρχει υπόλοιπο τότε το δεδομένο πλαίσιο έχει κάποιο σφάλμα  Εάν δεν υπάρχει υπόλοιπο, τότε πιθανότατα το πλαίσιο παραλήφθηκε σωστά

40 Πλαισίωση, έλεγχος σφαλμάτων και θόρυβος…  Υποθέτουμε πως έχουμε πλαίσιο μεγέθους n bits και η πιθανότητα σφάλματος σε ένα bit = p (ανεξάρτητη από την πιθανότητα σφάλματος σε οποιοδήποτε άλλο bit).  Πιθανότητα αλάνθαστης μετάδοσης του πλαισίου (1-p) n  Όσο μεγαλώνει ένα πλαίσιο, μεγαλώνει και η πιθανότητα σφάλματος!  Όσο μικραίνει ένα πλαίσιο αυξάνονται και οι μη ωφέλιμες πληροφορίες (επικεφαλίδες κλπ) που μεταδίδονται  Εάν η πιθανότητα λάθους σε ένα πλαίσιο είναι «μικρή» τότε, σε περίπτωση λάθους, ο παραλήπτης μπορεί να ζητήσει επαναμετάδοση του πλαισίου  Σε περίπτωση που η πιθανότητα λάθους σε ένα πλαίσιο είναι «μεγάλη», τότε μπορεί να είναι πιο αποδοτικό να χρησιμοποιείται διόρθωση λαθών (π.χ. Forward error correction code, FEC)

41

42 Περίληψη  Ως τώρα γνωρίσαμε τεχνικές με τις οποίες ο δέκτης ανιχνεύει ή (πιθανά) διορθώνει σφάλματα  Πως όμως ο δέκτης ενημερώνει ότι έχει (ή δεν έχει) λάβει ένα πλαίσιο και μάλιστα χωρίς λάθη;;;  Αξιόπιστη μετάδοση και έλεγχος ροής (reliable transmission and flow control)  Πρωτόκολλα Παύσης και Αναμονής (Stop and Wait Protocols)  Πρωτόκολλα Ολισθαίνοντος Παραθύρου (sliding window protocols)  Παράθυρο με 1 bit  Πρωτόκολλο με οπισθοδρόμηση κατά Ν (Go-Back N)  Πρωτόκολλο με Επιλεκτική Επανάληψη (selective repeat)

43 Αξιόπιστη Μετάδοση (Reliable Transmission)  Χρήση πακέτων επιβεβαίωσης (acknowledgements, ACKs) και χρονομέτρων (timers)  Ο δέκτης κάθε φορά που παραλαμβάνει ένα πλαίσιο χωρίς σφάλματα τότε στέλνει πακέτο επιβεβαίωσης (ACK) στον αποστολέα  Ο αποστολέας συνεχίζει να στέλνει πλαίσια ενόσω λαμβάνει ACKs  Εάν περάσει μια χρονική περίοδος κατά την οποία ο αποστολέας δεν λάβει κανένα ACK, ή αν λάβει αρνητικές επαληθεύσεις NACK (δηλαδή ο δέκτης έλαβε πλαίσια με σφάλματα), ο αποστολέας ξαναστέλνει τα προηγούμενα πλαίσια

44 Πρωτόκολλα Παύσης και Αναμονής (Stop and Wait Protocols)  Ο πομπός στέλνει ένα πλαίσιο και σταματάει, περιμένοντας επαλήθευση (ACK)  Όταν πάρει ACK στέλνει το επόμενο πλαίσιο  Εάν πάρει NACK ή λήξει κάποιο χρονόμετρο (timer), τότε ξαναστέλνει το προηγούμενο πακέτο ΑποστολέαςΠαραλήπτης Πλαίσιο ACK χρονόμετρο Αργή διαδικασία.... Σταματάω τη μετάδοση δεδομένων μέχρι να φτάσει κάποιο ACK

45 Τι μπορεί να πάει λάθος ΑποστολέαςΠαραλήπτης Πλαίσιο ACK χρονόμετρο ΠαραλήπτηςΑποστολέας Πλαίσιο ACK χρονόμετρο Το πλαίσιο έχει χαθεί (π.χ. λόγω buffer overflow σε έναν router) Περιττή επανεκπομπή ενός πλαισίου που έχει ληφθεί χωρίς λάθη επειδή χάθηκε το ACK

46 Τι μπορεί να πάει λάθος ΑποστολέαςΠαραλήπτης Πλαίσιο ACK χρονόμετρο Περιττή επανεκπομπή ενός πλαισίου που έχει ληφθεί χωρίς λάθη επειδή άργησε το ACK (έληξε ο timer)

47 Αύξων Αριθμός Πλαισίου (Frame Sequence Number) ΑποστολέαςΠαραλήπτης Πλαίσιο 0 Πλαίσιο 1 ACK 0 ACK 1 Πλαίσιο 0 ACK 0

48 Πρωτόκολλα Ολισθαίνοντος Παραθύρου (Sliding Window)  Ο αποστολέας διατηρεί ένα παράθυρο με τους αύξοντες αριθμούς όλως των πλαισίων που έχει στείλει και για τα οποία δεν έχει λάβει επαλήθευση  Κάθε φορά που στέλνει καινούργιο πλαίσιο, αυξάνει το άνω όριο του παραθύρου  Κάθε φορά που λαμβάνει επαλήθευση, αυξάνει το κάτω όριο του παραθύρου  Ο παραλήπτης επίσης διατηρεί παράθυρο με τους αύξοντες αριθμούς των πλαισίων που αναμένει  Αν πάρει πλαίσιο εκτός παραθύρου, τότε το αγνοεί  Οι αύξοντες αριθμοί επαληθευμένων πλαισίων μπορούν να μπουν στην επικεφαλίδα εξερχόμενων πλαισίων για καλύτερη απόδοση (piggybacking)

49 Πρωτόκολλο Ολισθαίνοντος Παραθύρου με Παράθυρο 1bit  Υποθέτουμε ότι ο αύξων αριθμός αποτελείται από 3 bits (δηλαδή 0-7). Αποστολέας Παραλήπτης Παράθυρο λήψης Παράθυρο αποστολής

50 Οπισθοδρόμηση κατά Ν (Go Back N): κανονική λειτουργία

51 Οπισθοδρόμηση κατά Ν (Go Back N): χαμένο πλαίσιο  Το πλαίσιο #2 χάνεται. Όταν ο παραλήπτης λαμβάνει το πλαίσιο #3, το απορρίπτει γιατί περιμένει το #2 (σύμφωνα με το παράθυρό του)  Τα ACKs στέλνονται αθροιστικά

52 Επιλεκτική Επανάληψη (Selective Repeat)  To πρόβλημα με την τεχνική Go-Back-N είναι ότι σε περίπτωση λάθους σε ένα πλαίσιο, ο αποστολέας μπορεί να ξαναστείλει πολλά πλαίσια που είχαν ληφθεί σωστά, άρα δεν είναι αποδοτική σε κανάλια με υψηλό θόρυβο  π.χ. στο προηγούμενο παράδειγμα ξαναστέλνει το πλαίσιο #3, παρότι είχε ληφθεί σωστά από το δέκτη  Στην τεχνική “Selective Repeat” ο παραλήπτης έχει παράθυρο μεγαλύτερο από 1  στέλνει NACK για πλαίσια που έχουν χαθεί αλλά κρατάει επόμενα πλαίσια (όσα του επιτρέπει το παράθυρό του) που έχουν ληφθεί χωρίς λάθη  Πρόβλημα: χρειάζεται περισσότερη μνήμη (buffer) στην πλευρά του παραλήπτη  Το παράθυρο του αποστολέα δεν μπορεί να υπερβαίνει το (MaxSeqNum+1)/2

53 Επιλεκτική Επανάληψη (Selective Repeat)

54

55 Εργαλεία «διάγνωσης» (probing) στο Internet  Το Internet «μεγαλώνει» με εκθετικό ρυθμό, τόσο σε αριθμό χρηστών, όσο και σε αριθμό συνδεδεμένων Η/Υ  Πως προκύπτουν όμως στατιστικά δεδομένα σχετικά με τον αριθμό συνδεδεμένων Η/Υ;  Τις πρώτες μέρες του Internet υπήρχαν μερικές 10δες τοποθεσίες και το μέγεθος μπορούσε να προσδιοριστεί εύκολα  Σήμερα χρειάζεται ένα αυτοματοποιημένο εργαλείο που διατρέχει το DNS (το σύστημα που αποθηκεύει ονόματα και διευθύνσεις υπολογιστών) και μετά ελέγχει αν ο κάθε Η/Υ είναι συνδεδεμένος εκείνη τη στιγμή  Υπάρχουν σήμερα διαθέσιμα στους χρήστες εργαλεία για τη διάγνωση (probing) στο Internet

56 ICMP – Internet Control Message Protocol  Αποτελεί το μηχανισμό αποστολής μηνυμάτων ελέγχου και αναφοράς λαθών για τη λειτουργία ενός δικτύου IP  ICMP πακέτα: IP πακέτα ειδικού τύπου (χωρίς L4 payload)  Echo_request – Echo_reply  Time exceeded  Host_unreachable  Port_unreachable

57 Ping  Ένα από τα απλούστερα διαγνωστικά εργαλεία  Ο χρήστης δίνει ως όρισμα το όνομα ή τη διεύθυνση ενός Η/Υ  Το ping στέλνει ένα μήνυμα (ICMP packet) στον Η/Υ και περιμένει ένα μικρό χρονικό διάστημα έως ότου ο Η/Υ αποκριθεί  Αν ο Η/Υ αποκριθεί σημαίνει ότι είναι ‘alive’, διαφορετικά το Ping αναφέρει ότι ο Η/Υ δεν αποκρίνεται  Πως εκτελείται:  ping [παράμετροι]  ping sapfo.aegean.gr  Παραδείγματα παραμέτρων  -a: Resolve addresses to hostnames  -r : Record route for count hops  -w timeout: Timeout in milliseconds to wait for each reply

58 Ping  Δοκιμάστε να “κάνετε ping” τον Η/Υ ct-green.ct.aegean.gr και αναφέρεται τι είδους στοιχεία τυπώνει  Από την κονσόλα (command prompt) του Η/Υ σας  Από έναν απομακρυσμένο Η/Υ, π.χ.  Τι διαφορές εντοπίζετε;;;

59 Ping  «Τρέξτε» το ping κάνοντας χρήση κάποιων από τις διαθέσιμες παραμέτρους, π.χ.  ping -r 9 sapfo.aegean.gr  ping -w 200 sapfo.aegean.gr

60 Ping: χρησιμότητα ως διαγνωστικό εργαλείο & αδυναμίες  To ping χρησιμοποιείται συχνά ως διαγνωστικό εργαλείο από διαχειριστές δικτύων (network administrators)  Ενημερώνει κατά πόσο ένας Η/Υ είναι συνδεδεμένος και λειτουργεί, για το κατά πόσο υπάρχει συμφόρηση (congestion) στο δίκτυο, για το ποια τμήματα του δικτύου λειτουργούν σωστά και ποια έχουν βλάβη, κλπ (πως;;;;)  Έχει όμως πολλές αδυναμίες ως διαγνωστικό εργαλείο καθώς αν ένας Η/Υ δεν αποκρίνεται, δύσκολα μπορεί να εξακριβωθεί η ακριβής αιτία  Ο Η/Υ έχει αποσυνδεθεί, δεν λειτουργεί (off) ή έχει βλάβη  Ο τοπικός Η/Υ έχει αποσυνδεθεί από το δίκτυο  Ίσως υπάρχει πρόβλημα σε ενδιάμεσο Η/Υ ή στο δίκτυο  Το δίκτυο είναι υπερφορτωμένο με κυκλοφορία δεδομένων και ο Η/Υ δεν αποκρίνεται στον καθορισμένο χρόνο  Η εταιρία που ‘φιλοξενεί’ τον Η/Υ έχει ρυθμίσει το δίκτυό της έτσι ώστε να απορρίπτονται ping πακέτα (για λόγους ασφαλείας, ώστε να είναι εξασφαλισμένη από επιθέσεις «άρνησης εξυπηρέτησης» (denial of service), όπου το δίκτυο κατακλύζεται από Ping πακέτα ώστε να τεθεί εκτός λειτουργίας

61 traceroute  Διαγνωστικό εργαλείο που προσδιορίζει τους ενδιάμεσους Η/Υ κατά μήκος της διαδρομής από τον τοπικό προς ένας απομακρυσμένο Η/Υ  Κάθε μία από τις γραμμές εξόδου του προγράμματος αντιστοιχεί σε έναν ενδιάμεσο Η/Υ (δρομολογητή, router)  Υπάρχει ως προ-εγκατεστημένο πρόγραμμα σε πολλά λειτουργικά συστήματα  Μπορείτε να το «τρέξετε» και online, π.χ.

62 traceroute

63 traceroute: πως λειτουργεί;  Όταν εκτελούμε το traceroute στον τοπικό Η/Υ, στέλνουμε ένα UDP πακέτο με το πεδίο Time-To-Live (TTL)=1  Όταν αυτό το πακέτο φθάσει στον πρώτο ενδιάμεσο Η/Υ (router), αυτός μειώνει την τιμή του TTL κατά ένα και απορρίπτει το πακέτο.  Στη συνέχεια ο router στέλνει ένα πακέτο στον Η/Υ μας αναφέροντας τη διεύθυνσή του, άρα ο Η/Υ μας γνωρίζει πλέον τον πρώτο ενδιάμεσο router στη διαδρομή προς τον απομακρυσμένο Η/Υ που μας ενδιαφέρει  Στη συνέχεια, ο Η/Υ μας στέλνει ένα UDP πακέτο με TTL=2 (με την ίδια διεύθυνση παραλήπτη, εκείνη του Η/Υ που μας ενδιαφέρει)  Το πακέτο θα περάσει από τον ίδιο ενδιάμεσο router που ήδη γνωρίζουμε, ο οποίος θα μειώσει το TTL=1 και θα το προωθήσει στον επόμενο ενδιάμεσο router.  Εκείνος (ο 2ος ενδιάμεσος) θα μειώσει το TTL=0, θα απορρίψει το πακέτο και θα στείλει πίσω στον Η/Υ μας ένα ICMP πακέτο που θα αναφέρει τη διεύθυνσή του. Άρα πλέον γνωρίζουμε και τον δεύτερο ενδιάμεσο router  Στο επόμενο βήμα, ο Η/Υ μας θα στείλει πάλι ένα UDP πακέτο με TTL=3 και η ίδια διαδικασία επαναλαμβάνεται μέχρι να λάβουμε ένα ICMP πακέτο με τη διεύθυνση του H/Y που μας ενδιαφέρει. Τότε θα γνωρίζουμε πλέον την πλήρη λίστα με τους ενδιάμεσους routers που βρίσκονται ανάμεσα στον Η/Υ μας και σε εκείνος που μας ενδιαφέρει.

64 traceroute: πως λειτουργεί; UDP (TTL = 1) Destination: TTL: Time To Live

65 traceroute: πως λειτουργεί; TTL = TTL: Time To Live

66 traceroute: πως λειτουργεί; TTL: Time To Live ICMP Address: traceroute output:

67 traceroute: πως λειτουργεί; UDP (TTL = 2) Destination: TTL: Time To Live TTL = 1 TTL = 0

68 traceroute: πως λειτουργεί; TTL: Time To Live ICMP Address: traceroute output:


Κατέβασμα ppt "Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη #3: Δικτυακά πρότυπα, το μοντέλο αναφοράς OSI, Επίπεδο ζεύξης δεδομένων (data link layer), Αξιόπιστη Επικοινωνία."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google