ΗΜΥ 360: Δίκτυα Υπολογιστών. Εισαγωγή Διδάσκων: Χρίστος Παναγιώτου
Γιατί Δίκτυα Υπολογιστών; Επιχειρησιακές Εφαρμογές Π.χ., εξ αποστάσεως πρόσβαση σε βάσεις δεδομένων. Εξοικονόμηση χρημάτων από τον καταμερισμό πόρων (research sharing) Βελτίωση αξιοπιστίας (reliability) Οικιακές Εφαρμογές Κινητοί Χρήστες Πρόσβαση σε πληροφορίες μέσω κινητού τηλεφώνου ή φορητού υπολογιστή. Επικοινωνιακό μέσο
Πρόβλημα Θέλουμε να κτίσουμε ένα δίκτυο το οποίο Θα μπορεί να μεγαλώνει σε παγκόσμια κλίμακα (επεκτάσιμο - scalable). Θα μπορεί να υποστηρίζει ένα εύρος εφαρμογών από μεταφορά αρχείων (file transfer), τηλεδιάσκεψη (teleconferencing), ηλεκτρονικό εμπόριο (electronic commerce), ψηφιακές βιβλιοθήκες (digital libraries) … Πως σχεδιάζουμε ένα τέτοιο δίκτυο (υλικό και λογισμικό – hardware and software); ΗΜΥ 360: Ο στόχος του μαθήματος είναι ακριβώς να δώσει απάντηση στην πιο πάνω ερώτηση!
Τι θα καλύψουμε; A. Tanenbaum, “Computer Networks” Περίληψη μαθήματος Επιπρόσθετες Πληροφορίες www.eng.ucy.ac.cy/Christos/Courses/ECE360
Απαιτήσεις από τα δίκτυα Ποιοι θέτουν τις απαιτήσεις και τους περιορισμούς του δικτύου; Προγραμματιστές (application programmers) θέλουν υπηρεσίες τις οποίες θα αξιοποιήσουν οι εφαρμογές τους, π.χ. παράδοση πακέτων μέσα σε δεδομένα χρονικά πλαίσια ή αξιόπιστη παράδοση πακέτων (reliable delivery). Σχεδιαστές (network designers) επιδιώκουν παραγωγική χρήση των πόρων του δικτύου Παροχέας υπηρεσιών (network provider) επιδιώκει δίκτυο το οποίο είναι εύκολο στη λειτουργία και στη συντήρηση.
Απαιτήσεις: Συνεκτικότητα (connectivity) Επικοινωνία μεταξύ συνόλου υπολογιστών Βασικές δομικές μονάδες Κόμβοι Υπολογιστές (computers, hosts, servers), δρομολογητές (routers), μεταγωγείς (switches) κλπ. Ζεύξεις Ομοαξονικές, ασύρματες, οπτικές κλπ. Σημείο προς σημείο (point-to-point) ή πολλαπλής πρόσβασης (multiple access) Πολλαπλής πρόσβασης Σημείο προς σημείο
Απαιτήσεις: Συνεκτικότητα (connectivity) Δίκτυα και Διαδίκτυα Δύο ή περισσότεροι συνδεδεμένοι κόμβοι Δύο ή περισσότερα συνδεδεμένα δίκτυα
Απαιτήσεις: Αποδοτικός καταμερισμός πόρων (resource sharing) Πολυπλεξία με διαίρεση χρόνου (Synchronous Time Division Multiplexing) Πολυπλεξία με διαίρεση συχνότητας (Frequency Division Multiplexing)
Απαιτήσεις: Αποδοτικός καταμερισμός πόρων (resource sharing) Στατιστική πολυπλεξία (Statistical multiplexing) Κατανομή χρονο-διαστημάτων (time slots) βάση της ζήτησης ■ ■ ■
Απαιτήσεις: Υποστήριξη κοινών υπηρεσιών Κανάλια που να μπορούν να παρέχουν υπηρεσίες όπως Αξιόπιστη επικοινωνία (reliable communication) Επικοινωνία με μικρή καθυστέρηση (low delay) Το κανάλι κρύβει την πολυπλοκότητα του δικτύου από τους προγραμματιστές Host Application Channel
Απαιτήσεις: Αποδοτικότητα (Performance) Εύρος Ζώνης (bandwidth, throughput) Hz vs. bps Καθυστέρηση (latency or delay) Latency= Propagation + Transmission + Queue Propagation = Distance / Speed of light Transmission = Packet size / Bandwidth Throughput = TransferSize / TransferTime TranferTime = RTT + TransferSize / Bandwidth Απώλεια πακέτων (packet loss) Διακύμανση καθυστέρησης (jitter)
Παράδειγμα 1 Δύο υπολογιστές βρίσκονται σε απόσταση 100Km. Πόσος χρόνος χρειάζεται για τη μετάδοση 1ΜΒ από τον ένα στον άλλο δεδομένου ότι συνδέονται με ζεύξη χωρητικότητας 100Mbps στην οποία ηλεκτρομαγνητικά κύματα ταξιδεύουν με ταχύτητα 3x108 m/s A B Αίτημα
Παράδειγμα 2 Δύο υπολογιστές βρίσκονται σε απόσταση 100Km. Πόσος χρόνος χρειάζεται για τη μετάδοση 1ΚΒ από τον ένα στον άλλο δεδομένου ότι συνδέονται με ζεύξη χωρητικότητας 100Mbps στην οποία ηλεκτρομαγνητικά κύματα ταξιδεύουν με ταχύτητα 3x108 m/s A B Αίτημα
Απαιτήσεις: Αποδοτικότητα (Performance) Γινόμενο καθυστέρησης × Εύρος Ζώνης (Delay × Bandwidth product) Ο αριθμός των διαδίκων ψηφίων (bits) που χωρούν μέσα στο κανάλι. (Amount of data “in flight” or “in the pipe”) Παράδειγμα:
Μοντέλα Μεταγωγής Μεταγωγή Κυκλώματος (circuit switching) Πρώτα εξασφαλίζεται και προκρατείται (reserved) φυσική σύνδεση μεταξύ αποστολέα και παραλήπτη Μετά ξεκινά η μετάδοση των πληροφοριών Το κύκλωμα που συνδέει το αποστολέα και παραλήπτη χρησιμοποιείται αποκλειστικά για την επικοινωνία των δύο. Μη αποδοτική χρήση των πόρων του δικτύου Μεταγωγή Πακέτου (packet switching) Δεν υπάρχει απευθείας σύνδεση μεταξύ αποστολέα και παραλήπτη. Ο αποστολέας ξεκινά αμέσως να στέλνει πληροφορίες. Κάθε πακέτο «βρίσκει το δρόμο του» μέσα στο δίκτυο Δύσκολη η παροχή εγγυήσεων για την ποιότητα υπηρεσίας. Εικονική Μεταγωγή Κυκλώματος (virtual circuit switching)
Πρωτόκολλο (protocol) Η Συμφωνία ανάμεσα σε δύο επικοινωνούντα μέρη, ως προς τον τρόπο με τον οποίο θα προχωρήσει η επικοινωνία.
Μοντέλο Πελάτη-Εξυπηρετητή (Client-Server model)
Μοντέλο Επικοινωνίας Ομότιμων Κόμβων (Peer-to-peer Communication) Ομότιμοι κόμβοι
Τι μπορεί να πάει λάθος; Λάθη στο φυσικό επίπεδο (bit errors) Απώλεια πακέτων εξ’ αιτίας συμφόρησης (congestion and buffer overflow) Απώλεια ζεύξεων ή κόμβων Πακέτα φτάνουν στον δέκτη καθυστερημένα Πακέτα φτάνουν στον δέκτη εκτός σειράς (out-of- order) Κάποιος τρίτος υποκλέπτει ή παρεμβαίνει στην συνδιαλλαγή μεταξύ δύο κόμβων. …
Αρχιτεκτονική Δικτύου
Γιατί Επίπεδα; Καταμερισμός του πολύπλοκου προβλήματος σε μικρότερα, πιο απλά προβλήματα. Κάθε επίπεδο είναι υπεύθυνο για την αντιμετώπιση κάποιων προβλημάτων που μπορεί να προκύψουν. Κάθε επίπεδο κρύβει την πολυπλοκότητα του από τα υπόλοιπα επίπέδα και τους χρήστες. Καλύτερη δομή αποτελούμενη από πολλά στοιχεία (modular). Μια καινούργια υπηρεσία μπορεί να υλοποιηθεί μετατρέποντας μόνο ένα επίπεδο (στρώμα).
Παραδείγματα Στοίβας Πρωτοκόλλων Host 1 Host 2 File application Digital library Video
Παράδειγμα Ροής Μηνυμάτων μεταξύ Στρωμάτων
Μοντέλο Αναφοράς: OSI (Open System Interconnection) Εφαρμογής Παρουσίασης Συνόδου Μεταφοράς Δικτύου Ζεύξης Φυσικό
Μοντέλο OSI Φυσικό στρώμα (Physical Layer) Μετάδοση ακατέργαστων bits (0 ή 1) από τον αποστολέα στον δέκτη. Στρώμα Ζεύξης Δεδομένων (Data Link Layer) Τεμαχίζει τα δεδομένα σε πλαίσια δεδομένων (frames) Επιβεβαιώνει ότι η επικοινωνία του Φυσικού στρώματος είναι αξιόπιστη (Πλαίσια επαλήθευσης - acknowledgement frames) Ανίχνευση και επιδιόρθωση λαθών (Error detection and correction). Έλεγχος ροής (flow control).
Μοντέλο OSI Στρώμα Δικτύου (Network Layer) Δρομολόγηση πακέτων Έλεγχος συμφόρησης Έκδοση λογαριασμών (billing) Στρώμα Μεταφοράς (Transport Layer) Τεμαχίζει τα μηνύματα σε μικρότερες μονάδες Επιβεβαιώνει ότι όλες οι μονάδες φτάνουν στο άλλο άκρο και επανασυναρμολογεί το μήνυμα. Πολυπλεξία συνδέσεων/συρμών (steams) Υπηρεσίες μεταφοράς πακέτων από άκρο σε άκρο (end- to-end). (π.χ., αξιόπιστη μεταφορά δεδομένων στον δέκτη). Έλεγχος συμφόρησης (congestion) και ροής πακέτων
Μοντέλο OSI Στρώμα Συνόδου (Session Layer) Αποκατάσταση συνόδων μεταξύ διαφόρων μηχανών (sessions) Διαχείριση σκυτάλης (token management) Συγχρονισμός (synchronization) Στρώμα Παρουσίασης (Presentation Layer) Κωδικοποίηση δεδομένων Στρώμα Εφαρμογή (Application Layer) Συμβατότητα μεταξύ εφαρμογών
Μοντέλο Αναφοράς: TCP/IP Δεν έχουν υλοποιηθεί
Κατηγοριοποίηση Δικτύων Το Διαδίκτυο (The Internet) Πλανήτης 10,000Km Ήπειρος 1000Km Δίκτυο Ευρείας Περιοχής (Wide Area Network) Χώρα 100Km Μητροπολιτικό Δίκτυο (Metropolitan Network) Πόλη 10Km Σύμπλεγμα κτιρίων 1Km Κτίριο 100m Τοπικά Δίκτυα (Local Area Networks) Δωμάτιο 10m Προσωπικά υπολογιστικά συστήματα (personal network) Τετραγωνικό μέτρο 1m Παράδειγμα Περιοχή υλοποίησης Απόσταση επεξεργαστών
Τοπικό Δίκτυο (Local Area Network) Ethernet Δακτύλιος (Ring) Δίκτυα Εκπομπής
Ασύρματο Τοπικό Δίκτυο (Wireless Local Area Network) Επικοινωνία με σταθερή βάση (base station) Απευθείας επικοινωνία με κινητούς δέκτες (Ad-hoc networks)
Μητροπολιτικό Δίκτυο (Metropolitan Network) Δίκτυο Καλωδιακής Τηλεόρασης
Δίκτυο Ευρείας Περιοχής (Wide Area Network) Υποδίκτυο (subnet) Δρομολογητής (router)
Το Μοντέλο του Διαδυκτίου ■ ■ ■ FTP TCP UDP IP NET 1 2 n HTTP NV TFTP