Δίκτυα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Είδη δικτύου Ανάλογα με την γεωγραφική κάλυψη του δικτύου Τοπικά, LAN (local area network) Δίκτυα ευρείας περιοχής ή WAN (wide area network) Ανάλογα με τον τρόπο πρόσβασης δημόσια ιδιωτικά Ανάλογα με το φυσικό μέσο διασύνδεσης ενσύρματα ασύρματα 24
Τοπολογία Διασημειακή: κάθε υπολογιστής έχει μια (φυσική) σύνδεση με κάθε άλλο Υπερβολικά πολλές συνδέσεις, Ν υπολογιστές, Ν*(Ν-1)/2 συνδέσεις! Αρτηρίας (bus): άμεση σύνδεση στο μέσο μετάδοσης απαιτείται κατάλληλο μέσο (π.χ. ομοαξονικό καλώδιο) σε φυσικό επίπεδο χρησιμοποιείται μόνο σε ασύρματο τοπικό δίκτυο 25
Πρακτικές τοπολογίες Πρόβλημα επέκτασης για μεγάλα δίκτυα Πρακτικά χρειάζονται ενδιάμεσοι κόμβοι (nodes) που αναμεταδίδουν τα μηνύματα υπολογιστές ή ειδικά μηχανήματα (ενσωματωμένοι υπολογιστές) Τοπολογία αστέρα: σύνδεση μέσω κεντρικού κόμβου κεντρικός κόμβος ακριβός, έχει Ν-1 συνδέσεις αν αστοχήσει (fail) ο κεντρικός κόμβος, το δίκτυο χάνεται Μέχρι 2 μεταβάσεις για κάθε μήνυμα Δακτύλιου (ring): κάθε κόμβος συνδέεται με δύο γειτονικούς σχηματίζεται ένας κύκλος Πολλές μεταβάσεις για ένα μήνυμα: μέχρι Ν/2 26
Δομημένη καλωδίωση Συστηματική υποδομή καλωδίων σε ένα κτίριο 27
Διανομή και μεταγωγή Δίκτυα διανομής ή εκμπομπής (broadcast) τα μηνύματα εκπέμπονται προς όλους τους συνδεδεμένους κόμβους Το μήνυμα περιέχει κάποιο αναγνωριστικό (διεύθυνση) παραλήπτη. Οι υπόλοιποι κόμβοι αγνοούν τα μηνύματα των άλλων Χρήση: τοπικά δίκτυα Δίκτυα μεταγωγής (switched) οι κόμβοι έχουν μικρό αριθμό διασημειακών συνδέσεων κάθε κόμβος προωθεί το μήνυμα προς τον προορισμό του 28
Τρόποι μεταγωγής Μεταγωγή κυκλώματος (circuit switching) π.χ. κλασικό τηλεφωνικό δίκτυο Αποκλειστική σύνδεση μεταξύ πομπού/δέκτη που διατηρείται σταθερή σε όλη τη διάρκεια της επικοινωνίας Πόροι του δικτύου παραμένουν δεσμευμένοι ακόμα και αν δεν μεταφέρονται δεδομένα γι αυτό ένα τηλεφώνημα χρεώνεται με τη διάρκεια της κλήσης Μεταγωγή πακέτων (packet switching) τα δεδομένα οργανώνονται σε πακέτα που μπορούν να αποθηκευτούν (προσωρινά) σε ενδιάμεσους κόμβους, να ακολουθήσουν διαφορετικές διαδρομές,... Ο πόροι του δικτύου μοιράζονται ανάλογα με την κίνηση, αλλά η καθυστέρηση είναι απρόβλεπτη 29
Ταχύτητα μετάδοσης Σε ένα μεταγωγικό δίκτυο η ταχύτητα μεταδοσης από ένα υπολογιστή σε έναν άλλο εξαρτάται από: λανθάνων χρόνος κάθε σύνδεσμου (link latency) ο χρόνος που χρειάζεται ένα bit να περάσει από τη μια άκρη στην άλλη ρυθμός μεταφοράς κάθε σύνδεσμου πόσο γρήγορα εκπέμπονται τα bits το ένα πίσω από το άλλο τρόπος μεταγωγής/προώθησης ολόκληρο το μήνυμα αποθηκεύεται και εκπέμπεται από τους ενδιάμεσους κόμβους ή τμήματά του; χρόνος αναμονής μπορεί να υπάρχουν άλλα μηνύματα που μοιράζονται στοιχεία του δικτύου 30
Πρωτόκολλα & τυποποιήσεις Πρωτόκολλο: σύνολο κανόνων που διέπει την επικοινωνία ιδιαίτερα απαραίτητα για υπολογιστές: πρέπει να υπάρχουν λεπτομερείς οδηγίες (πρόγραμματα) για κάθε περίπτωση οι υπολογιστές δεν παίρνουν πρωτοβουλίες! Πρότυπα (standards) γενικά αποδεκτές τυποποιήσεις φυσικά αντικείμενα (π.χ. βύσμα USB) πρωτόκολλα γλώσσες προγραμματισμού, κωδικοποιήσεις δεδομένων,... 31
Το μοντέλο OSI Μοντέλο αναφοράς για δομή και λειτουργία πρωτόκολλων επικοινωνίας στοίβα πρωτόκολλων (protocol stack/suite) OSI Open Systems Interconnection προτάθηκε από τον παγκόσμιο οργανισμό τυποποίησης ISO 32
Ενθυλάκωση encapsulation 33
Μοντέλο διαδικτύου (TCP/IP) Πρακτικός προσανατολισμός απλούστερο από το OSI Ξεκίνησε ως τρόπος διασύνδεσης δικτύων το καθένα με τα δικά του πρωτόκολλα αλλα τώρα βρίσκεται στα περισσότερα δίκτυα 34
Επίπεδο εφαρμογής Υψηλού επίπεδου πρωτόκολλα όπως: HTTP αρχικά για υπηρεσίες παγκόσμιου ιστού, αλλά και γενικά μεταφορές αρχείων SMTP για αποστολή email POP3/IMAP για διαχείριση email σε ένα κεντρικό εξυπηρετητή 35
Επίπεδο μεταφοράς Πρωτόκολλο TCP (transmission control protocol) Αξιόπιστη μεταφορά δεδομένων από ένα υπολογιστή σε έναν άλλο Σύνδεση με το άλλο άκρο και διατήρηση της σύνδεσης Διάσπαση σε πακέτα (ονομάζονται τμήματα segments) Ελεγχος σωστής μεταφοράς επανάλληψη αποστολής τμημάτων αν υπάρχουν σφάλματα Μηχανισμός ροής (flow-control) σταματάει τον αποστολέα αν στέλνει δεδομένα πιο γρήγορα από ότι μπορεί ο παραλήπτης να διαχειριστεί 36
Επίπεδο δικτύου Πρωτόκολλο IP (internet protocol) Δρομολόγηση πακέτων προς τον κατάλληλο κόμβο Σύστημα διευθυνσιοδότησης Κάθε κόμβος έχει μία διεύθυνση ώστε να είναι γνωστός στο δίκτυο Διεύθυνση IP Στην έκδοση 4 (IPv4), αποτελείται από 4 αριθμούς (από 0-255) χωρίζονται με τελείες (συνολικά 32 bit) στην έκδοση 6: 128bit, 8 4-ψήφιοι δεκαεξαδικοί αριθμοί χωρίζονται με «:» 37
Ιεραρχία διευθύνσεων Όλοι οι κόμβοι ενός τοπικού δικτύου έχουν το ίδιο αρχικό (δυαδικό) αριθμό διεύθυνσης ονομάζεται αριθμός/διεύθυνση δικτύου τα υπόλοιπα bits αντιστοιχούν στους αριθμούς κόμβων Ο δρομολογητής (router) λαμβάνει όλα τα πακέτα για το τοπικό δίκτυο και τα διανέμει στους κατάλληλους κόμβους Αυτό μπορεί να γίνει αρκετές φορές δηλαδή δίκτυο δικτύων με έναν δρομολογητή που είναι υπεύθυνος για ολόκληρο το δίκτυο 38
Δρομολόγηση Δεν χρειάζεται κάθε κόμβος να γνωρίζει κάθε άλλο κόμβο, αρκεί να γνωρίζει το δρομολογητή του τοπικού δικτύου Οι δρομολογητές γνωρίζουν τις τοπικές διευθύνσεις έχουν ένα πίνακα με τις υπόλοιπες γνωστές διευθύνσεις και την έξοδο (σύνδεση) που οδηγεί προς το δίκτυο Η επιλογή γίνεται με βάση ποια διεύθυνση (δικτύου) ταιριάζει περισσότερο στη διεύθυνση παραλήπτη τα περισσότερα αρχικά bit 39
Επίπεδο πρόσβασης στο δίκτυο Καθορίζει τον τρόπο μεταβίβασης ενός πακέτου IP στον επόμενο κόμβο (όπως αποφάσισε το πρωτόκολλο IP) κωδικοποιεί το πακέτο όπως απαιτεί το φυσικό μέσο σύνδεσης Υπάρχουν διάφορα πρωτόκολλα ανάλογα με το είδος φυσικού δικτύου που συνδέει τους δύο κόμβους Τα περισσότερα τοπικά δίκτυα είναι δίκτυα εκπομπής, δύο υποεπίπεδα Λογικής ζεύξης (Logical Link Control LLC) Ελέγχου πρόσβασης (Media Access Control MAC) 40
Έλεγχος πρόσβασης Σε δίκτυο εκπομπής μόνο ένας κόμβος μπορεί να εκπέμπει κάθε φορά Βασική ιδέα: «άκουσε πριν μιλήσεις» αν κάποιος άλλος ήδη εκπέμπει, περίμενε να τελειώσει Αν το δίκτυο είναι «ήσυχο», στείλε το μήνυμα, αλλά έλεγχε για σύγκρουση (δηλαδή εκπομπή από κάποιον άλλο) Αν έγινε σύγκρουση, περίμενε κάποιο (μεταβλητό) χρονικό διάστημα και ξαναπροσπάθησε 41
Φυσικές διευθύνσεις Λέγονται και διευθύνσεις MAC (media access control) Οι διευθύνσεις που χρησιμοποιεί το τοπικό δίκτυο Για ethernet, wifi, κ.α. χρησιμοποιούνται φυσικές διευθύνσεις 48bit παγιωμένη στο υλικό της κάρτας από τον κατασκευαστή (γενικά) δεν μπορεί να αλλάξει Όταν ένας καινούριος υπολογιστής συνδέεται στο τοπικό δίκτυο πρέπει να πάρει μια διεύθυνση IP Υπάρχει πρωτόκολλο DHCP όπου ένας εξυπηρετητής (συνήθως ο δρομολογητης) δίνει διευθύνσεις IP Υπάρχουν πρωτόκολλα για μετατροπή διευθύνσεων MAC σε IP και αντίστροφα 42
Συσκευές τοπικών δικτύων Πλήμνη Hub δίκτυο εκπομπής τοπολογία αστέρα κάθε εισερχόμενο σήμα εκπέμπεται Μεταγωγέας Switch εκπέμπει μόνο στην κατάλληλη έξοδο Δρομολογητής Router δρομολογεί πακέτα IP 43
44
Πολύπλεξη στο TCP/IP Όταν ένα μήνυμα φτάσει στο επίπεδο μεταφοράς ενός υπολογιστή, πώς ξέρει σε ποιά εφαρμογή να το παραδώσει; Υπάρχει ένα ειδικό πεδίο, αριθμός, στην επικεφαλίδα του πρωτοκόλλου TCP που προσδιορίζει τη θύρα/πόρτα (port) παράδοσης Ο συνδιασμός διεύθυνσης IP και θύρας αποτελεί τη δίοδο (socket) που προσδιορίζει το πρόγραμμα που θα παραλάβει τα δεδομένα Κάποιες θύρες είναι «γνωστές» και υπάρχουν προγράμματα εξυπηρετητές (δαίμονες) που τις «ακούν» για παράδειγμα η θύρα 80 αντιστοιχεί στην υπηρεσία ιστοσελίδων 45
Συμβολικά ονόματα Για την διευκόλυνση μας κάθε υπολογιστής έχει ένα συμβολικό όνομα: π.χ. zeus.cs.uoi.gr το οποίο είναι και μοναδικό. Κάθε τμήμα μιας ονομαστικής διεύθυνσης, εκτός από το πρώτο, αντιπροσωπεύει μια ομάδα διευθύνσεων Ονομάζεται τομέας (domain). Έτσι η παραπάνω διεύθυνση ανήκει στον Η/Υ που έχει το όνομα zeus, ανήκει στην ομάδα cs (computer science) του Πανεπιστημίου Ιωαννίνων (uoi) που είναι στην Ελλάδα (gr). 46
DNS: Domain Name System Κατανεμημένο σύστημα που μετατρέπει τις ονομαστικές διευθύνσεις σε αριθμητικές Σε κάθε τομέα του δικτύου υπάρχει ένας κόμβος ο οποίος παρέχει πληροφορίες για τα ονόματα στον τομέα η αρμοδιότητα μεταβιβάζεται για ονόματα υπο-τομέων Υπάρχουν 13 γνωστοί εξυπηρετητές (root name server) που γνωρίζουν τους υπεύθυνους για το πρώτο επίπεδο ονομάτων Σε κάθε τοπικό δίκτυο υπάρχει ένας εξυπηρετητής DNS (DNS server) που αναλαμβάνει να μετατρέψει μια ονομαστική διεύθυνση στην αντίστοιχη αριθμητική χρησιμοποιώντας το παραπάνω κατανεμημένο σύστημα κάθε μηχάνημα κρατάει ένα αντίγραφο από συχνές μετατροπές 47
Μετατροπή ονόματος p πηγή: microsoft technet 48
Μετατροπή ονόματος Ο τοπικός εξυπηρετητής θυμάται τις προηγούμενες αντιστοιχίσεις ονομάτων-διευθύνσεων IP δεν χρειάζεται να ξαναρωτάει Αυτή είναι συνηθισμένη τεχνική στους υπολογιστές λέγεται caching Αντί να «υπολογίζουμε» κάποιο δεδομένο, το (προ-) αποθηκεύουμε και το ανακαλούμε όταν χρειάζεται ή αντί να να προσπελαύνουμε «μακρινή μνήμη», κρατάμε αντίγραφο σε τοπική 49
Ανάθεση ονομάτων Υπάρχουν ειδικοί οργανισμοί, καταχωρητές ονομάτων τομέα (registrar) Συχνά αναλαμβανει ένας πάροχος υπηρεσιών Διαδικτύου να διεκπαιρεώσει την καταχώρηση για λογαριασμό ενός πελάτη 50
Ηλεκτρονικό ταχυδρομείο Πρόγραμμα πελάτη (email client) Προβολή, ταξινόμιση, όργανωση, τοπική αποθήκευση μηνυμάτων χρήστη πράκτορας ταχυδρομείου χρήστη (mail user agent MUA) μπορεί να γίνει και μέσω ιστοσελίδων (gmail, yahoo mail, ) Εξυπηρετητής εξερχόμενης αλληλογραφίας πράκτορας μεταφοράς ταχυδρομείου (mail transfer agent-μτα) Πρωτόκολλο: SMTP (simple mail transfer protocol) Εξυπηρετητής εισερχόμενης αλληλογραφίας πράκτορας προσπέλασης ταχυδρομείου (mail access agent-μαα) Πρωτόκολλα: POP3, IMAP 51
Διαδικασία αποστολής Όταν ο χρήστης πατάει «αποστολή» Ο MUA ξεκινάει μια σύνδεση TCP με τον ΜΤΑ το όνομα μηχανής δίνεται στην αρχικοποίηση του MUA ο ΜΤΑ ακούει στην γνωστή θύρα 25 Ο MUA χρησιμοποιώντας το πρωτόκολλο SMTP δίνει τις διευθύνσεις αποστολέα, παραλήπτη το περιεχόμενο του μηνυματος Συχνά χρειάζεται πιστοποίηση χρήστη (username, password) Ο MTA βάζει το μήνυμα σε μια ουρά αναμονής Ο ΜΤΑ παίρνει μηνύματα από την ουρά και τα αποστέλνει χρησιμοποιώντας το DNS βρίσκει την μηχανή ΜΑΑ του τομέα (φαίνεται στη διεύθυνση παραλήπτη, μετά το @) η μεταφορά γίνεται με SMTP στη θύρα 25 της μηχανής ΜΑΑ 52
Παράδειγμα SMTP Το πρωτόκολλο χρησιμοποιεί απλό κείμενο διευκολύνει την διερεύνηση λαθών/προβλημάτων Συννημένα αρχεία κωδικοποιούνται κατάλληλα βλ. Multi-Purpose Internet Mail Extensions (MIME) για πως 53
Παραλαβή μηνυμάτων Κάθε χρήστης έχει ένα αρχείο που λέγεται γραμματοκιβώτιο (mailbox) Συχνά μπορεί κανείς να το «δεί» απευθείας Για να παραλάβει τα μηνύματα ο MUA συνδέεται με τον ΜΑΑ χρησιμοποιώντας το πρωτόκολλο IMAP (ή POP3) το όνομα μηχανήματος δίνεται στην αρχικοποίηση η θύρα είναι γνωστή (143 IMAP, 110 POP3) Υπάρχουν εντολές για ανάγνωση, διαγραφή, μεταφορά σε φάκελο/κατάλογο,... 54