ΚΕΦΑΛΑΙΟ 4: Δικτύωση και Διαδίκτυο Βασικές αρχές δικτύων Τοπικά δίκτυα Διασύνδεση δικτύων, το Διαδίκτυο Υπηρεσίες Οι διαφάνειες περιλαµβάνουν σε βασικές γραµµές το υλικό του βιβλίου αλλά µε διαφορετική σειρά 1
Κατηγοριοποίηση δικτύων Γεωγραφική κάλυψη Τοπικό δίκτυο (LAN) Δίκτυο ευρείας περιοχής (WAN) Τεχνολογία Κλειστό (proprietary network) Closed standards (Novel, IBM, ) Ανοικτό Open standards: TCP/IP Internet 2
Τοπολογίες Δικτύων Τοπικά δίκτυα (LANs) o Δίαυλος (Bus) o Αστέρας (Star) o Δακτύλιος (Ring) o Άτακτη τοπολογία (wireless ad-hoc) WANs: Γενικός γράφος 3
Τοπολογίες δικτύων Σύνδεσµοι = ενσύρµατοι, ασύρµατοι Ethernet 4
Τοπολογίες δικτύων Ethernet, WiFi Wireless mesh networks όχι απλός υπολογιστής αλλά δικτυακός κόµβος (όχι απαραίτητα κοινός υπολογιστής αλλά εξειδικευµένη δικτυακή συσκευή) 5
Γιατί υπάρχουν δίκτυα; Δικτυακός κόµβος Σύνδεσµοι από κάθε σηµείο σε κάθε σηµείο (n(n-1)) Στατιστική πολυπλεξία Οικονοµίες κλίµακας Σύνδεσµοι µε λίγους δικτυακούς κόµβους µόνο (kn) Α Β Μεταγωγή κυκλώµατος Μεταγωγή πακέτων 6
Πρωτόκολλα δικτύων Δίκτυο = διασκορπισµένο σύστηµα Όχι κεντρικός έλεγχος Επικοινωνία µε µηνύµατα µόνο! Πρωτόκολλα: Κανόνες που πρέπει να ακολουθούν οι συσκευές για να λειτουργήσουν αρµονικά και να προσφέρουν µια συγκεκριµένη υπηρεσία (σαν οµάδα) Πως να ερµηνεύσουν εισερχόµενα µηνύµατα (δοµή+ περιεχόµενο µηνυµάτων) Πως να αντιδράσουν σε αυτά (τι να υπολογίσουν) Τι µηνύµατα να στείλουν στους γείτονες 7
Οι στοίβα των πρωτοκόλλων Η συνολική λειτουργικότητα σπάζει σε «φλοιούς» (layers) από πιο απλές υπηρεσίες Ο πάνω φλοιός στηρίζεται στις υπηρεσίες του αµέσως από κάτω Παράδειγµα: το ταχυδροµείο Κάθε φλοιός έχει τα δικά του πρωτόκολλα Στοίβα Πρωτοκόλλων 8
Πως κατασκευάζουµε ένα LAN Δεδοµένα προβλήµατος: Θέλουµε k PCs να στέλνουν πακέτα πληροφ. µεταξύ τους ανά 2 ή 1->k Δεν ξέρουµε από πρίν πότε και πού θέλει κάποιος να στείλει Λύση Ethernet CSMA/CD, CSMA/CA κάθε τερµατικό έχει την δική του διεύθυνση, όλα ακούνε και στέλνουνε στο ιδιο κανάλι (ενσύρµατο ή ασύρµατο) Carrier Sense CS: συνέχεια ακούµε στό κανάλι και καταλαβαίνουµε άν κάποιος στέλνει (ανίχνευση σήµατος του ποµπού) Multiple Access MA: οποισδήποτε αποφασίζει να στείλει αρκεί το κανάλι να είναι ελεύθερο (τυχαία πολλαπλή πρόσβαση αντί για κεντρικό έλεγχο) Αντιµετώπιση συγκρούσεων: Τις καταλαβαίνω εγκαίρως: σταµατάω να εκπέµπω και ξαναστέλνω σε τυχαίο χρόνο (collision detection CD), περίπτωση ενσύρµατου Ethernet: ακούω ταυτόχρονα που στέλνω, καταλαβαίνω αµέσως σύγκρουση Δέν τις καταλαβαίνω εγκαίρως ή και καθόλου: προσπαθώ µε έξυπνο τρόπο να τις αποφύγω όσο γίνεται, ζητώ επιβεβαίωση από παραλήπτη (collision avoidance CA), περίπτωση ασύρµατου Ethernet, δεν µπορώ να ακούω όταν στέλνω 9
Το κλασσικό (ενσύρµατο) Ethernet Λύση του Ethernet (1970): Ενσύρµατος δίαυλος, χρήση διευθύνσεων MAC Πρωτόκολλο CSMA/CD (Carrier Sense Multiple Access with Collision Detection) Συσκευή ακούει συνέχεια τον δίαυλο, µόλις είναι ελεύθερος στέλνει (όταν έχει κάτι να στείλει) Εάν υπάρχει σύγκρουση, το καταλαβαίνει έγκαιρα και κάνει back-off (φάση congestion avoidance) Back-off: διαλέγει ένα τυχαίο χρόνο T να περιµένει και ξαναστέλνει Βασική υπόθεση: συσκευή µπορεί να ακούει ταυτόχρονα που στέλνει -> ανιχνεύει έγκαιρα σύγκρουση 10
Ασύρµατο Ethernet (WiFi) Το πρόβληµα του κρυµµένου τερµατικού Ασύρµατα τερµατικά επικοινωνούν µε ένα σταθµό βάσης 11
Ασύρµατο Ethernet (WiFi) Πρόβληµα: ασύρµατη κάρτα µπορεί είτε να στέλνει είτε να λαµβάνει Δεν µπορεί να ανιχνεύσει σύγκρουση µόνη της (µεταδίδει όλο το πακέτο πρώτα, πρόβληµα κρυµµένου τερµατικού) Χρειάζεται ack από δέκτη, και πάλι στέλνει όλο το πακέτο άδικα (κακό CD) Λύση: πρωτόκολλο CSMA/CA (Collision Avoidance) Λογική: ελαχιστοποίησε συγκρούσεις Πριν µεταδόσεις άρχισε ένα (τυχαίο) ξυπνητήρι Τ που µετράει χρόνο µόνο όσο το κανάλι είναι ελεύθερο. Όταν χτυπήσει άρχισε να µεταδίδεις. Περίµενε επιβεβαίωση. Εάν όχι τότε επανέλαβε το ίδιο µε ξυπνητήρι 2Τ (congestion avoidance phase) Επέκταση για πλήρη αποφυγή συγκρούσεων µετάδοσης πακέτων Όπως στο CSMA/CA, αλλά αντί να στείλεις ολόκληρο πακέτο στείλε RTS (άδεια να µεταδόσεις), περίµενε CTS από σταθµό βάσης (ΣΒ) CTS περιέχει το id του σταθµού που επιτρέπει ο ΣΒ να στείλει πακέτο Εάν έγινε σύγκρουση (το CTS υποδεικνύει άλλο σταθµό, ή timeout), µπες στην congestion avoidance phase Συγκρούσεις πιθανές πάλι αλλά δεν έχουν µεγάλο κόστος: RTS <<data packet 12
Σύνδεση LANs 1. Φτιάχνουµε ΕΝΑ µεγαλύτερο LAN (ιδίου τύπου!) Επαναλήπτης (repeater) συνδέει απλά 2 διαύλους (Ethernets) Γέφυρα (bridge) είναι έξυπνος επαναλήπτης (φιλτράρει τα µηνύµατα) Μεταγωγέας (Ethernet switch): Γέφυρα που συνδέει (σε αστέρι) τερµατικές συσκευές υποκαθιστώντας το δίαυλο: ελαχιστοποίηση άχρηστων µηνυµάτων, αποφυγή συγκρούσεων 13
Διασύνδεση LANs, internets 2. Κρατάµε τα LANs όπως έχουν Ο δροµολογητής (router) συνδέει 2 LANs σχηµατίζοντας ένα διαδίκτυο (inter-network, internet). LAN3 B Τα αρχικά δίκτυα ενός διαδικτύου διατηρούν την ατοµικότητα τους και συνεχίζουν να ενεργούν ανεξάρτητα data AB data AB KL LAN2 LAN6 LAN4 LAN5 L LAN1 K A Παγκόσµια εµβέλεια Ταχυδροµεία Τοπική εµβέλεια LAN = τοπική µεταφορική εταιρία 14
Διαδικτυακά πρωτόκολλα Web data AB TCP UDP IP data AB KL Ethernet 15
LAN Δροµολόγηση µεταξύ αυτόνοµων συστηµάτων, Ιnternet ΑΣ2 gateway router ΑΣ1 ΑΣ3 Αυτόνοµο σύστηµα (ΑΣ) Διαχειριστική οντότητα 16
Η επιχειρηµατική δοµή του Διαδικτύου Το Διαδίκτυο (Internet) είναι ένα διαδίκτυο που εκτείνεται σε ολόκληρο τον κόσµο. Ξεκίνησε από την DARPA to 1973. Σήµερα συνδέει 1 δισεκατοµµύριο υπολογιστές. Εταιρικό διαδίκτυο (Ιντρανετ) gateway Πρόσβαση (access) 17
Διευθυνσιοδότηση στο Διαδίκτυο: απόλυτες διευθύνσεις IP Η διεύθυνση ΙΡ είναι ένα σχήµα 4 bytes που χρησιµοποιείται για τον προσδιορισµό της φυσικής διεύθυνσης µιας µοναδικής µηχανής στο Διαδίκτυο (όπως ο τηλεφωνικός αριθµός +302104539009 προσδιορίζει µια µοναδική τηλεφωνική συσκευή) Οι τελείες δεκαδικού συµβολισµού αποτελούν το πρότυπο γραφής µίας ΙΡ διεύθυνσης, χωρίζοντας τα 4 bytes της διεύθυνσης (πχ: 192.207.177.133) Διεύθυνση δικτύου Α: 192.207.177.1xx Περιλαµβάνει όλες τις µηχανές που έχουν IP address που αρχίζει από 192.207.177.1 (πχ 192.207.177.145) 18
Μνηµονικά ονόµατα To όνοµα ενός υπολογιστή (host name) (ή που προσφέρει µια υπηρεσία) είναι ένα µνηµονικό όνοµα, δοµηµένο ιεραρχικά σε περιοχές (domains) Όνοµα υπολογιστή= υπηρεσία ή παρατσούκλι υπολογιστή όνοµα περιοχής (π.χ. dias.econ.aueb.gr, ftp.aueb.gr, www.in.gr) Υπηρεσία: ftp, www, smtp, imap, pop3, sip, telnet, Το όνοµα περιοχής (domain name) χαρακτηρίζει µια οντότητα όχι απαραίτητα γεωγραφικά ενιαία (εταιρία, ISP, πανεπιστήµιο, δηµόσιο οργανισµό,...) Ιεραρχικό: www.cs.aueb.gr Η περιοχή ανώτατου επιπέδου κατηγοριοποιεί τους ιδιοκτήτες των περιοχών: Κατά χρήστη π.χ..com = εµπορική περιοχή. Κατά χώρα π.χ..gr = περιοχή Ελλάδας. Υποπεριοχές και ονόµατα ιδιόκτητων υπολογιστών: Προσδιορίζονται από τον ιδιοκτήτη της περιοχής, καταχωρηµένες στον ICANN 19
DNS: διασκορπισµένη υπηρεσία καταλόγου Βασικό πρόβληµα: όνοµα υπολογιστή -> δικτυακή διεύθυνση (IP address) Αντίστοιχο παράδειγµα : πως βρίσκω το τηλέφωνο της υπηρεσίας ΦΠΑ της εφορίας Α ; από τον τηλεφωνικό κατάλογο! Internet: Domain Name System = σύστηµα που λύνει το παραπάνω πρόβληµα DNS: διασκορπισµένος κατάλογος µε ιεραρχική δοµή Κάθε domain πρέπει να τηρεί ένα διακοµιστή ονοµάτων (name server) Ένας name server ενός domain γνωρίζει Τις IP διευθύνσεις των υπολογιστών που δίνουν τις διάφορες υπηρεσίες (ftp, smtp, www, ), ή έχουν κάποιο παρατσούκλι Tις IP διευθύνσεις των name server των sub-domains του (πχ ο name server του aueb.gr γνωρίζει την IP address του name server του cs.aueb.gr 20
Λειτουργία του DNS Εύρεση του IP address για diva.eecs.berkeley.edu stanford... Root name server IP = a...... com edu gr IP = b berkeley (4) (5) (2) (3) Local name server (1) (8) Host geo... asia IP = e IP = c eecs diva IP = d (6) (7) (1): diva.eecs.berkeley.edu =? (2): berkeley.edu =? (3): berkeley.edu = b (4): eecs.berkeley.edu =? (5): eecs.berkeley.edu = c (6): diva.eecs.berkeley.edu =? (7): diva.eecs.berkeley.edu = d (8): diva.eecs.berkeley.edu = d 21
Κατανεµηµένα συστήµατα Τα κατανεµηµένα συστήµατα αποτελούνται από µονάδες (υπηρεσίες) οι οποίες εκτελούνται σε διαφορετικούς υπολογιστές ενός δικτύου. Η βασική υποδοµή (επικοινωνία, ασφάλεια, βασικές υπηρεσίες) συνήθως παρέχεται από προκατασκευασµένα συστήµατα. Παράδειγµα: Enterprise Java Beans από τη Microsystems,.NET Framework από τη Microsoft. Grid computing (τεχνολογία Πλέγµατος): SW, HW = υπηρεσίες, αφαιρούµε πληροφορία γεωγραφικής θέσης, φυσικών χαρακτηριστικών µηχανών Θέλω η υπηρεσία Α να τρέξει στο ισοδύναµο µιας µηχανής 2,8GHz κλπ Δεν µε ενδιαφέρει ποιος έχει κατασκευάσει την Α, πού είναι η φυσική µηχανή που ένα κοµµάτι της θα αφιερωθεί σε εµένα,... 22
Εφαρµογές Διαδικτύου Ηλεκτρονική αλληλογραφία (e-mail) To πρωτόκολλο µεταφοράς αρχείων (FTP) Αποµακρυσµένη σύνδεση: telnet, κτλ. O Παγκόσµιος Ιστός World Wide Web VoIP: SIP. 23
Eπικοινωνία εφαρµογών Μοντέλο πελάτη/διακοµιστή (client/server). Ένας διακοµιστής, πολλοί πελάτες Ο διακοµιστής (server) πρέπει να τρέχει συνεχώς (περιµένει πελάτες να συνδεθούν) Ο πελάτης αρχικοποιεί την επικοινωνία Οµότιµο µοντέλο (peer-to-peer). Οι διεργασίες (εφαρµογές) επικοινωνούν ως ισότιµες. Οι διεργασίες εκτελούνται σε προσωρινή βάση. Δηµοφιλές µέσο για την ανταλλαγή αρχείων µέσω του Διαδικτύου. 24
Το µοντέλο πελάτη/διακοµιστή Client Server model Client Server FTP Email (SMTP) Web VoIP (SIP) SSH.. 25
Το µοντέλο πελάτη/διακοµιστή συγκρινόµενο µε το οµότιµο µοντέλο 26
Σύνδεση µε εφαρµογές client 1 2 80 IP Web server ports (θύρες = εσωτερικά γραµµατοκιβώτια γραφείων ) Πλήρης διεύθυνση διαδικασίας = [IP address, port #] client C: N3,n port n N3 κεντρικό γραµµατοκιβώτιο κτηρίου = IP address IP address N1 IP network N2 server A: διεύθυνση = N1,k port k = υποδιεύθυνση server Β: διεύθυνση = N2,m port m Servers: παρέχουν υπηρεσίες, ακούν σε γνωστές υπο-διευθύνσεις Clients: συνδέονται στους servers, παίρνουν την πληροφορία, την παρουσιάζουν στους χρήστες 27
Ηλεκτρονική αλληλογραφία Το e-mail είναι ένα σύστηµα για την µεταφορά µηνυµάτων µεταξύ των χρηστών του Διαδικτύου. Ο διακοµιστής αλληλογραφίας (mail server) εξυπηρετεί τους υπολογιστές µίας περιοχής. Η αποστολή ενός mail µέσα στην περιοχή γίνεται µέσω του διακοµιστή αλληλογραφίας. Η λήψη ενός mail στην περιοχή γίνεται στον διακοµιστή αλληλογραφίας. Το mail παραλαµβάνεται έπειτα από αίτηση του χρήστη, βάσει των πρωτοκόλλων: POP3 IMAP WWW 28
Electronic mail mail to jane@ntua.gr from alice@aueb.gr Send an email message Access the mail server for messages SMTP user agent (Alice) (MS Outlook) mail server 25 smtp.aueb.gr Port 25 SMTP mail server 25 143 IMAP user agent (Jane) (Firefox) smtp.ntua.gr, imap.ntua.gr Port 25 port 143 Sending an message: Simple Mail Transfer Protocol Receiving emails: POP3: port 110, memory less IMAP: port 143, memory http: only a browser is required to send and receive (webmail, hotmail, ) 29
File Transfer Protocol ftp client control connection port 21 data connection port 20 (one per file) ftp server 21 20 τοπικό σύστηµα αρχείων µακρινό σύστηµα αρχείων Control: user id, list, chdir, put, get,... 30
World Wide Web www client (browser) web server HTTP, port 80 http request http response 80 HTML www.aueb.gr Υλοποίηση ιστού Web browser: παρουσιάζει έγγραφα στον χρήστη, γραµµένα σε HTML Web server: αποθηκεύει ή δηµιουργεί πληροφορία, στέλνει έγγραφα σε HTML HTTP: πρωτόκολλο επικοινωνίας web browser web server HTML: γλώσσα για την σύνταξη εγγράφων που καταλαβαίνει ο browser URL: Σύνταξη µοναδικών διευθύνσεων εγγράφων στον ιστό Υπολογιστής υπηρεσίας Πρωτόκολλο προσπέλασης Διεύθυνση αρχείου Όνοµα αρχείου 31