ΕΙΣΑΓΩΓΗ ΣΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Βασισμένη στην δεύτερη έκδοση του βιβλίου του J. Walrand
Τύποι Επικοινωνίας Υπολογιστών: Σημείου-με-σημείο (point-to-point) Μοιρασμένων συνδέσεων (shared links)
Ορισμός Δικτύου Επικοινωνίας: Ένα δίκτυο επικοινωνίας είναι ένα σύνολο κόμβων που είναι διασυνδεδεμένοι μεταξύ τους για να επιτρέψουν την ανταλλαγή πληροφορίας. Οι κόμβοι είναι δυο τύπων: Τερματικοί κόμβοι (όπως υπολογιστές, τηλέφωνα, εκτυπωτές, file servers, video monitors, κλπ.), οι οποίοι δημιουργούν ή χρησιμοποιούν την πληροφορία που μεταδίδεται στο δίκτυο. Κόμβοι επικοινωνίας (όπως τηλεφωνικοί μεταγωγοί – switches – repeaters, routers, κλπ.), οι οποίοι μεταφέρουν την πληροφορία χωρίς όμως ούτε να την δημιουργούν ούτε να την χρησιμοποιούν.
Μετάδοση Πληροφορίας σε Πακέτα Ένα πακέτο είναι μια ομάδα από bits, συνήθως από μερικές εκατοντάδες ως χιλιάδες, που μεταδίδονται σε συγκεκριμένους χρόνους. Ο μεταδότης κωδικοποιεί τα bits του πακέτου σε ένα σήμα που περιέχει και την πληροφορία της χρονικής σειράς. Ο δέκτης εξάγει την πληροφορία της χρονικής σειράς για να επανακτήσει τα bits επακριβώς. Ένα τυπικό πακέτο αποτελείται από μια επικεφαλίδα (header), την πληροφορία χρήστη και την ουρά (trailer). Η επικεφαλίδα κι η ουρά περιέχουν τις πληροφορίες ελέγχου για την επαλήθευση της σωστής λήψης του πακέτου. Η επικεφαλίδα συνήθως περιέχει τις διευθύνσεις προέλευσης και προορισμού του πακέτου. Η επικεφαλίδα μπορεί επίσης να δείχνει τον αριθμό σειράς που χρησιμοποιείται από τον προορισμό για την επαλήθευση της λήψης όλων των πακέτων. Η ουρά περιέχει bits ελέγχου λαθών που χρησιμοποιούνται για την επαλήθευση της σωστής λήψης του πακέτου.
Μετάδοση Πληροφορίας με Αποθήκευση και Προώθηση (Store-and-Forward)
ETHERNET Το Ethernet είναι ένα τοπικό δίκτυο, που συνδέει τους κόμβους του με ζεύγη συνεστραμένων συρμάτων μέσω των hubs (κέντρων). Το hub επαναλαμβάνει (ή αναπαραγάγει) τα σήματα προς όλες του τις συνδέσεις (ή πόρτες), οπότε όλοι οι κόμβοι ενός Ethernet ‘βλέπουν’ όλα τα πακέτα. Κάθε κόμβος έχει ένα όνομα, μια δικτυακή διεύθυνση και μια διεύθυνση στο Ethernet.
Πώς γίνεται η επικοινωνία στο Ethernet: Ο υπολογιστής-κόμβος στέλνει στο hub την πληροφορία σπασμένη σε πακέτα. Κάθε πακέτο, εκτός από τα δεδομένα του, περιέχει τις διευθύνσεις Ethernet των κόμβων προέλευσης και προορισμού. Το hub στέλνει το πακέτο προς όλους τους κόμβους κι, όταν το πάρει κάποιος κόμβος, συγκρίνει την διεύθυνση προορισμού του πακέτου με την δική του διεύθυνση κι απορρίπτει το πακέτο αν οι διευθύνσεις αυτές είναι διαφορετικές (εκτός αν το πακέτο έπρεπε να διανεμεθεί σε όλους τους κόμβους, οπότε θα περιείχε μια ειδική διεύθυνση εκπομπής – broadcast address). Το πρωτόκολλο ARP (Address Resolution Protocol) αντιστοιχεί τις διευθύνσεις στο Ethernet με δικτυακές διευθύνσεις. Όταν δυο κόμβοι στέλνουν πληροφορία την ίδια χρονική στιγμή, το hub στέλνει ένα μήνυμα σ’ όλους τους υπολογιστές ότι έχει συμβεί μια ‘σύγκρουση.’ Τότε αμέσως οι μεταδότες δαικόπτουν την αποστολή πακέτων και περιμένουν για κάποιο τυχαίο χρονο (διαφορετικό στον κάθε κόμβο) πριν ξαναρχίσουν να στέλνουν τα πακέτα. Επιπλέον, κάθε άλλος κόμβος ξέρει ότι δεν μπορεί να αρχίσει τη μετάδοση όταν αυτή ήδη γίνεται από άλλον κόμβο. Το πρωτόκολλο αυτό επικοινωνίας στο Ethernet λέγεται CSMA/CD (Carrier Sense Multiple Access with Collision Detection).
Διασύνδεση Ethernet με Switches Ένα switch (μεταγωγός) είναι μια συσκευή που συνδέει μεταξύ τους δυο ή περισσότερα Ethernets. Μπορεί να μεταδίδει πολλαπλά πακέτα τον ίδιο χρόνο, εφόσον τα πακέτα πηγαίνουν σε διαφορετικές πόρτες εισόδου και εξόδου. Το switch κρατά μια λίστα με ζευγάρια (διευθύνση Ethernet, πόρτα του switch), που δείχνει σε ποιά πόρτα κάθε διεύθυνση Ethernet αντιστοιχεί. Όταν παίρνει ένα πακέτο, το switch το μεταβιβάζει σ’ όλες του τις πόρτες εκτός από εκείνην από όπου το πακέτο ήρθε.
Διασύνδεση Ethernet με Routers Ένας router (δρομολογητής) είναι μια συσκευή που συνδέει δυο ή περισσότερα Ethernets κι αποφασίζει πού να στείλει τα πακέτα σύμφωνα με την δικτυακή διεύθυνση του προορισμού (όχι την διεύθυνση Ethernet που τα στέλνει το switch). Επιπλέον, ο router τροποποιεί την διεύθυνση Ethernet του πακέτου. Έστω ότι ο υπολογιστής S θέλει να στείλει ένα πακέτο στον υπολογιστή D. Έστω S, D, R οι δικτυακές διευθύνσεις των υπολογιστών και του router και s, d, r1 και r2 οι διευθύνσεις Ethernet. Ο S στέλνει το πακέτο [s,r1|S,D|data] με διεύθυνση Ethernet προέλευσης s, διεύθυνση Ethernet προορισμού r1 και δικτυακές διευθύνσεις S και D. Όταν ο router παίρνει το πακέτο αυτό συμβουλεύεται τον πίνακα δρομολόγησης (routing table), που δείχνει ότι ο D βρίσκεται στο Ethernet E2, κι έτσι στέλνει το πακέτο [r2,d|S,D|data] στο E2, για να το λάβει τελικά ο D.