Κεφάλαιο 4: Δικτύωση και Διαδίκτυο



Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 4: Δικτύωση και Διαδίκτυο

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Γιατί υπάρχουν δίκτυα; Πολυπλεξία. 4.1 Κατηγορίες δικτύων. ΚΕΦΑΛΑΙΟ 4: ικτύωση και ιαδίκτυο

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

Εισαγωγή στο διαδίκτυο

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Εισαγωγή στην πληροφορική

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Network Address Translation (NAT)

Κεφάλαιο 3.3: Δίκτυα. Επιστήμη ΗΥ Κεφ. 3.3 Καραμαούνας Πολύκαρπος

Εισαγωγή στην πληροφορική

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΠΛ 012. Δίκτυα Τπολογιστών & Διαδίκτυο

Εισαγωγή στην Πληροφορική

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Δίκτυα Θεωρία

Πρωτόκολλα Διαδικτύου

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

Επαναληπτικές Ασκήσεις Μαθήματος

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Εισαγωγή στην επιστήμη των υπολογιστών. Κεφάλαιο 4 ο Δικτύωση και Διαδίκτυο

Πληροφορική Ι. Μάθημα 7 ο Δίκτυα Υπολογιστών. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ.

Κάντε κλικ για έναρξη

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Δίκτυα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Αριστοµένης Μακρής Εργαστήρια Η/Υ

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Εισαγωγή στην πληροφορική

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Περί δικτύων. Δρ. Ματθαίος Πατρινόπουλος

6.2 Υπηρεσίες Διαδικτύου

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Μάθημα 6: Αρχιτεκτονική TCP/IP

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Internet Τοπικό δίκτυο LAN Δίκτυο Ευρείας Περιοχής WAN Διαδίκτυο Πρόγραμμα Πλοήγησης φυλλομετρητής Πάροχοι Υπηρεσιών Internet URL HTML links

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

DNS. Όλες οι άλλες υπηρεσίες του Διαδικτύου, (WWW και ) χρησιμοποιούν το DNS

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

Κεφάλαιο 12. Επικοινωνίες-Δίκτυα-Διαδίκτυο. Εξαιρούνται οι παράγραφοι:

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

Νέες Επικοινωνιακές Τεχνολογίες

Κεφάλαιο > Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ

Επίπεδο δικτύου IP Forwading κτλ

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 4 Επικοινωνίες και Δίκτυα. Μάκης Σταματελάτος

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΚΕΦΑΛΑΙΟ 6. Δίκτυα υπολογιστών και το Διαδίκτυο 1.1

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

2 η Σειρά Ασκήσεων Data Link Layer

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

Υπόστρωμα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer.

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Εισαγωγή στην πληροφορική

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Τηλεπικοινωνίες, Διαδίκτυο και ασύρματη τεχνολογία

Περιεχόμενα. Πρόλογος... xiii

Πρωτόκολλα Διαδικτύου

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

Πρόσκληση 10: Προηγμένες Τηλεματικές Υπηρεσίες Τ.Ε.Ι. Ηπείρου Δίκτυο Τ.Ε.Ι. Ηπείρου ΙΙ ΛΕΞΙΚΟ ΟΡΩΝ

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο

Transcript:

Κεφάλαιο 4: Δικτύωση και Διαδίκτυο 4.1 Βασικές αρχές δικτύων 4.2 Το Διαδίκτυο 4.3 Ο Παγκόσμιος Ιστός 4.4 Διαδικτυακά πρωτόκολλα 4.5 Ασφάλεια Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύονται με το προτεινόμενο σύγγραμμα, καθώς και στις διαφάνειες προηγούμενων ετών του κ. Κουρκουμπέτη. 1

Κατηγορίες Δικτύων Δίκτυα = διασυνδεδεμένα συστήματα υπολογιστών Εμβέλεια: Τοπικά δίκτυα (Local Area Network, LAN), κλίμακα κτιρίου Μητροπολιτικά δίκτυα (Metropolitan Area Network, MAN), κλίμακα μιας κοινότητας (γειτονιάς) Δίκτυα ευρείας περιοχής (Wide Area Network, WAN), κλίμακα πόλης ή ηπείρου Ιδιοκτησία: Κλειστά ή ιδιόκτητα (closed, proprietary) και ανοιχτά (open) Ίντερνετ: ανοικτό Τοπολογία (διευθέτηση) κόμβων Διαύλου (bus), Π.χ. Ethernet Αστέρα (star) π.χ Ασύρματα δίκτυα με κεντρικό σημείο πρόσβασης 2

Τοπολογίες Δικτύων Δακτύλιος Δίαυλος Αστέρας Άτακτη τοπολογία Στην τοπολογία αστέρα, ένας υπολογιστής μπορεί να επικοινωνήσει με έναν άλλον μόνο μέσω του κεντρικού (hub) Στην τοπολογία διαύλου, οι υπολογιστές μπορούν και επικοινωνούν απευθείας μέσω Του διαύλου 3

Τοπολογίες δικτύων (2) Σύνδεσμοι = ενσύρματοι, ασύρματοι Ethernet 4

Τοπολογίες δικτύων (3) Ethernet, WiFi Wireless mesh networks όχι απλός υπολογιστής αλλά δικτυακός κόμβος (όχι απαραίτητα κοινός υπολογιστής αλλά εξειδικευμένη δικτυακή συσκευή) 5

Γράφος δικτύου (network graph) Κόμβος (node) ή κορυφή (vertex) Ζεύξη (link) ή ακμή (edge) Δυο κόμβοι μπορεί να συνδέονται με μια ζεύξη αν μπορούν να μεταδώσουν πληροφορία ο ένας στον άλλον 6

Πρωτόκολλα δικτύων Δίκτυο = διασκορπισμένο σύστημα Όχι κεντρικός έλεγχος Επικοινωνία με μηνύματα μόνο! Κανόνες σύμφωνα με τους οποίους λειτουργεί ένα δίκτυο Π.χ. Πρωτόκολλο που να διευθετεί το πότε θα μεταδώσει ένας κόμβος πληροφορία Πακέτο = ομάδα από bits πληροφορίας που μεταδίδονται όλα μαζί Πρωτόκολλα: Κανόνες που πρέπει να ακολουθούν οι συσκευές για να λειτουργήσουν αρμονικά και να προσφέρουν μια συγκεκριμένη υπηρεσία (σαν ομάδα) Πως να ερμηνεύσουν εισερχόμενα μηνύματα (δομή + περιεχόμενο μηνυμάτων) Πως να αντιδράσουν σε αυτά (τι να υπολογίσουν) Τι μηνύματα να στείλουν στους γείτονες 7

Πρωτόκολλα Πολλαπλής Πρόσβασης (Multiple Access Protocols) Δεδομένα προβλήματος: k PCs συνδέονται εν- ή ασύρματα Θέλουμε k PCs να στέλνουν πακέτα πληροφορίας μεταξύ τους, π.χ. ανά 2 Δεν ξέρουμε πότε θέλει κάποιο PC να μεταδώσει Πολλαπλή Πρόσβαση με ανίχνευση φέροντος (Carrier Sense Multiple Access, CSMA) κάθε τερματικό έχει την δική του διεύθυνση όλα ακούνε και στέλνουνε στο ιδιο κανάλι (ενσύρματο ή ασύρματο) Carrier Sense CS: συνέχεια ακούνε όλοι το κανάλι (carrier) και καταλαβαίνουν αν κάποιος άλλος εκπέμπει (ανίχνευση σήματος του πομπού) Multiple Access MA: οποιοσδήποτε αποφασίζει να μεταδώσει, αρκεί το κανάλι να είναι ελεύθερο (τυχαία πολλαπλή πρόσβαση αντί για κεντρικό έλεγχο) 8

Πρωτόκολλα Πολλαπλής Πρόσβασης (Multiple Access Protocols) (2) Αντιμετώπιση συγκρούσεων (ταυτόχρονων μεταδόσεων από άλλους): Τις καταλαβαίνω εγκαίρως: σταματάω να εκπέμπω και ξαναστέλνω σε τυχαίο χρόνο (collision detection CD) περίπτωση ενσύρματου Ethernet: στέλνω και ακούω ταυτόχρονα, καταλαβαίνω αμέσως σύγκρουση Δέν τις καταλαβαίνω εγκαίρως ή και καθόλου: προσπαθώ με έξυπνο τρόπο να τις αποφύγω όσο γίνεται, ζητώ επιβεβαίωση από παραλήπτη (collision avoidance CA) περίπτωση ασύρματου Ethernet, δεν μπορώ να ακούω όταν στέλνω 9

Πρωτόκολλο CSMA/CD Carrier Sense Multiple Access / Collision Detection (CSMA/CD) Χρησιμοποιείται στο ενσύρματο Ethernet Ο κενός δίαυλος δίνει το δικαίωμα για εισαγωγή νέου μηνύματος Πριν μεταδώσει, ένας κόμβος Α ακούει τον δίαυλο Αν κανείς δεν μεταδίδει, τότε μεταδίδει ο Α (συνεχίζοντας να ακούει το δίαυλο) Αν κάποιος κόμβος Β αρχίζει μετάδοση ενώ μεταδίδει ο Α, και οι δυο σταματούν για ένα τυχαίο χρονικό διάστημα (διαφορετικό ο καθένας) πριν προσπαθήσουν και πάλι 10

Το κλασικό (ενσύρματο) Ethernet Λύση του Ethernet (1970): Ενσύρματος δίαυλος Πρωτόκολλο CSMA/CD (Carrier Sense Multiple Access with Collision Detection) Κάθε συσκευή ακούει συνέχεια τον δίαυλο (κανάλι) Μόλις είναι ελεύθερος στέλνει (όταν έχει κάτι να στείλει) Εάν υπάρχει σύγκρουση (δηλ. Κάποιος άλλος μεταδίδει ταυτόχρονα), το καταλαβαίνει έγκαιρα και κάνει back-off (φάση congestion avoidance) Back-off: διαλέγει ένα τυχαίο χρόνο T να περιμένει και ξαναστέλνει Βασική υπόθεση: κάθε συσκευή μπορεί να ακούει και να μεταδίδει ταυτόχρονα ανιχνεύει έγκαιρα τυχόν σύγκρουση 11

Ασύρματο Ethernet (WiFi) Carrier Sense Multiple Access Collision Avoidance (CSMA/CA) Χρησιμοποιείται στο WiFi (ασύρματο Ethernet) Πρόβλημα του κρυμμένου τερματικού (hidden terminal problem) Το πρόβλημα του κρυμμένου τερματικού Ασύρματα τερματικά επικοινωνούν με ένα σταθμό βάσης 12

Ασύρματο Ethernet (WiFi) (2) Πρόβληματα: (α) ασύρματη κάρτα δεν μπορεί να ακούει όταν στέλνει Δεν μπορεί να ανιχνεύσει σύγκρουση (π.χ. Ο Γ και ο Β) Λύση: πρωτόκολλο CSMA/CA (Collision Avoidance) Λογική: ελαχιστοποίησε τις συγκρούσεις Πριν μεταδώσεις ξεκίνησε ένα (τυχαίο) ξυπνητήρι με χρόνο Τ που μετράει χρόνο μόνο όσο το κανάλι είναι ελεύθερο (μετρητής που μετράει ανάποδα) Όταν χτυπήσει άρχισε να μεταδίδεις. Περίμενε επιβεβαίωση (ACK). Εάν δε λάβεις επιβεβαίωση (σημαίνει ότι υπάρχει σύγκρουση), επανέλαβε το ίδιο με ξυπνητήρι 2Τ 13

Ασύρματο Ethernet (WiFi) (3) Λόγοι για τους οποίους ένας κόμβος (Α) δεν μπορεί να ανιχνεύσει σύγκρουση (με έναν κόμβο Β) Ο Β βρίσκεται εκτός εμβέλειας του Α και ο Α δεν τον ακούει Το σήμα του Β είναι αρκετά ασθενέστερο από το σήμα που μεταδίδει ο Α Ο Α δεν μπορεί να λαμβάνει και να μεταδίδει ταυτόχρονα (λόγω περιορισμών του hardware της ασύρματης κάρτας) Σημείωση: Στον αλγόριθμο που περιγράψαμε παραπάνω, η κάθε πηγή μεταδίδει την πληροφορία πακέτο-προς-πακέτο (ένα πακέτο τη φορά) Το πακέτο περιέχει το ID της πηγής και το ID του προορισμού Αν λάβει το πακέτο ο προορισμός, στέλνει ACK Τότε, η πηγή μεταδίδει το επόμενο πακέτο 14

Ασύρματο Ethernet (WiFi) (4) Πρόβληματα: (β) πρόβλημα κρυμμένου τερματικού Λύση : πλήρης αποφυγή συγκρούσεων μετάδοσης πακέτων Όπως στο CSMA/CA, ξεκίνησε έναν μετρητή Αντί να στείλεις ολόκληρο πακέτο στείλε πρώτα ένα μικρό πακέτο Request to Send (RTS) (άδεια να μεταδώσεις), περίμενε πακέτο Clear to Send (CTS) από τον κόμβο προορισμού Τα RTS, CTS ουσιαστικά λένε σε όλους τους άλλους κόμβους στην εμβέλεια των Α,Β (πλην των Α,Β) να μην μεταδώσουν (κάνουν κράτηση του χώρου) CTS περιέχει το id του κόμβου προορισμού Εάν έγινε σύγκρουση (το CTS δεν λαμβάνεται), ξεκίνησε πάλι τον μετρητή με 2Τ Συγκρούσεις πιθανές πάλι, αλλά δεν έχουν μεγάλο κόστος: το μήκος του πακέτου RTS είναι πολύ μικρό 15

Σύνδεση Δικτύων Επαναλήπτης (repeater): Επεκτείνει ένα δίκτυο Γέφυρα (bridge): Συνδέει δύο συμβατά δίκτυα Μεταγωγέας (switch): Συνδέει πολλά συμβατά δίκτυα Π.χ. Ενσύρματα και ασύρματα Ο μεταγωγέας δρα σαν γέφυρα Δρομολογητής (router): Συνδέει δύο ασύμβατα δίκτυα, δημιουργώντας ένα δίκτυο δικτύων που ονομάζεται διαδίκτυο 16

Σύνδεση Δικτύων (2) Επαναλήπτης: απλά αναπαράγει το λαμβανόμενο σήμα Γέφυρα: δρα ως φίλτρο, περνάει μόνο τα σήματα που χρειάζεται (αυτά για τα οποία η πηγή και ο προορισμός βρίσκονται σε διαφορετικά τμήματα του δικτύου) 17

Παράδειγμα με Δρομολογητές Δρομολογητές που συνδέουν δύο δίκτυα WiFi και ένα δίκτυο Ethernet, διαμορφώνοντας ένα διαδίκτυο Κάθε δρομολογητής κατευθύνει τα μηνύματα μεταξύ δικτύων προς την κατάλληλη κατεύθυνση 18

Διασύνδεση LANs, internets Κρατάμε τα LANs όπως έχουν Ο δρομολογητής (router) συνδέει 2 LANs σχηματίζοντας ένα διαδίκτυο (inter-network, internet). LAN3 Τα αρχικά δίκτυα ενός διαδικτύου διατηρούν την ατομικότητα τους και συνεχίζουν να ενεργούν ανεξάρτητα B LAN2 LAN6 LAN4 data data LAN5 L AB AB KL LAN1 K A Ταχυδρομεία Παγκόσμια εμβέλεια Τοπική εμβέλεια LAN = τοπική μεταφορική εταιρία 19

Λειτουργία δρομολογητών Κάθε δρομολογητής περιέχει έναν πίνακα προώθησης (forwarding table) που έχει πληροφορίες σχετικά με την διεύθυνση προς την οποία πρέπει να προωθηθούν Κάθε συσκευή / ΗΥ έχει μια μοναδική διεύθυνση Κάθε δρομολογητής στον πίνακά του έχει: μια λίστα από διευθύνσεις συσκευών (πιθανούς προορισμούς) στους οποίους προωθεί μηνύματα (αυτές οι συσκευές ανήκουν στο δίκτυό του) Μια λίστα με διευθύνσεις συσκευών και τις διευθύνσεις άλλων δρομολογητών στους οποίους πρέπει να προωθήσει μηνύματα προς αυτές τις συσκευές (αυτές δεν ανήκουν στο δίκτυό του) 20

Διαδιεργασιακή Επικοινωνία (interprocess communication) Επικοινωνία μεταξύ διεργασιών στον ίδιο ή σε διαφορετικούς υπολογιστές Πελάτη-Διακομιστή (client-server) Ένας διακομιστής, πολλοί πελάτες Ο διακομιστής πρέπει να εκτελείται συνεχώς Ο πελάτης ξεκινά την επικοινωνία, κάνει αιτήσεις για εργασίες Ο διακομιστής (εξυπηρετητής) τις ικανοποιεί Παραδείγματα: Πελάτες ζητούν πρόσβαση σε αρχεία που υπάρχουν σε έναν διακομιστή Μακρυνοί υπολογιστές ζητούν πρόσβαση σε έναν εκτυπωτή 21

Διαδιεργασιακή Επικοινωνία (interprocess communication) (2) Ομότιμη (peer-to-peer, P2P) Δύο διεργασίες που επικοινωνούν ως ίσες Οι ομότιμες διεργασίες μπορεί να έχουν μικρό χρόνο ζωής Στις ομότιμες διεργασίες, ένας υπολογιστής παίζει το ρόλο και του πελάτη και του εξυπηρετητή (παράγει αιτήσεις προς άλλους, και ικανοποιεί αιτήσεις άλλων) Παραδείγματα: Ανταλλαγή αρχείων με συστήματα peer-to-peer Αλληλοδραστικά παιχνίδια 22

Συστήματα ανταλλαγής αρχείων P2P Π.χ. Gnutella, Emule, BitTorrent, Κάθε αρχείο (π.χ. Τραγούδι, ταινία) είναι πολλά μικρότερα κομμάτια (στο BitTorrent, 512 KB) Κόμβοι (Η/Υ) που ανταλλάσσουν ένα συγκεκριμένο αρχείο αποτελούν ένα σμήνος (swarm) Κάθε κόμβος του σμήνους δίνει (κάνει upload) σε άλλους κομμάτια του αρχείου που διαθέτει, ενώ ταυτόχρονα παίρνει (κάνει download) από άλλους κομμάτια του αρχείου που δεν έχει Η διαδικασία ξεκινά από έναν κόμβο που διαθέτει όλο το αρχείο (κόμβος-σπόρος, seed) Κατασκευάζει ένα αρχείο.torrent που δίνει λεπτομέρειες και πληροφορίες για το αρχείο Οι υπολοιποι κόμβοι που αρχίζουν να κατεβάζουν από αλλήλους κομμάτια του αρχείου λέγονται leechers Κάθε κόμβος x δίνει σε το πολύ 4 άλλους (σε αυτούς που κατεβάζουν από τον x με το μεγαλύτερο ρυθμό) 23

Σύγκριση μοντέλων P2P και πελάτη-διακομιστή 24

Κατανεμημένα Συστήματα Συστήματα με τμήματα που εκτελούνται σε διαφορετικούς υπολογιστές Η υποδομή μπορεί να παρέχεται από τυποποιημένα εργαλεία ανάπτυξης Παράδειγμα: Πλαίσιο εφαρμογών.net από τη Microsoft 25

Κατανεμημένα Συστήματα (2) Συσταδική Υπολογιστική (Cluster Computing) Πολλοί ανεξάρτητοι Η/Υ εργάζονται από κοινού για εργασίες υπολογισμού σαν να ήταν μια μεγάλη μηχανή Υπολογιστική Πλέγματος (Grid Computing) Παρόμοια λογική Μηχανές σε διαφορετικά μέρη μπορούν να συνεισφέρουν την υπολογιστική τους ισχύ (όταν αυτή δεν χρησιμοποιείται) προς εκτέλεση περίπλοκων εργασιών, π.χ. Επεξεργασία ιατρικών δεδομένων, επιστημονικών πειραματικών δεδομένων, κ.α. Υπολογιστική Νέφους (Cloud Computing) Ίδια λογική, μεγαλύτερη κλιμάκωση Π.χ. Amazon s Elastic Cloud, Apple s icloud, Google s GoogleDocs Εκτέλεση εργασιών ή αποθήκευση δεδομένων διαφανής στον χρήστη (χωρίς να ενδιαφέρεται για τον συγκεκριμένο Η/Υ όπου γίνεται η εργασία ή η αποθήκευση δεδομένων) 26

Το Διαδίκτυο Το Διαδίκτυο: Ένα διαδίκτυο που εκτείνεται σε όλο τον κόσμο Ο αρχικός στόχος ήταν η ανάπτυξη ενός τρόπου σύνδεσης δικτύων που δεν θα επηρεαζόταν από τοπικές καταστροφές. Ξεκίνησε από την Αμερική (DARPA, Defense Advanced Research Projects Agency), 1973 Σήμερα έχει μετατραπεί από ακαδημαϊκό ερευνητικό έργο σε εμπορική προσπάθεια Είναι μια συλλογή από διασυνδεδεμένα δίκτυα μέσω δρομολογητών 27

Αρχιτεκτονική του Διαδικτύου Παροχέας Υπηρεσιών Διαδικτύου (Internet Service Provider, ISP) Επιπέδου (tier) 1: πολύ υψηλής ταχύτητας, διεθνή WANs Επιπέδου (tier) 2: περισσότερο τοπικοί ISPs πρόσβασης (access ISPs): Παρέχουν συνδεσιμότητα με το Διαδίκτυο, Π.χ. ΟΤΕΝΕΤ, ΑOL, πανεπιστήμια κλπ μέσω: Παραδοσιακής τηλεφωνίας (σύνδεση μέσω τηλεφώνου) dial-up, με modem Καλωδιακών συνδέσεων DSL (συχνότητες ως 4KHz δεσμεύονται για μετάδοση φωνής, και από εκεί και πάνω για δεδομένα) Ασύρματης σύνδεσης (μέσω Σημείων Πρόσβασης - Access Points / APs) Η περιόχή εμβέλειας ενός AP λέγεται hotspot Τερματικά συστήματα (end systems) ή hosts Κινητά τηλέφωνα, laptops, H/Y, 28

Ιεραρχία του Διαδικτύου 29

Ιεραρχία του Διαδικτύου (2) Το Διαδίκτυο (Internet) είναι ένα διαδίκτυο που εκτείνεται σε ολόκληρο τον κόσμο. Ξεκίνησε από την DARPA to 1973. Σήμερα συνδέει αρκετά δισεκατομμύρια υπολογιστές. Εταιρικό διαδίκτυο (Ιντρανετ) gateway Πρόσβαση (access) 30

Διευθυνσιοδότηση στο Διαδίκτυο: διευθύνσεις IP Η διεύθυνση ΙΡ (IP address) είναι ένα σχήμα 4 bytes που χρησιμοποιείται για τον προσδιορισμό της φυσικής διεύθυνσης μιας μοναδικής μηχανής στο Διαδίκτυο (όπως ο τηλεφωνικός αριθμός +302104539009 προσδιορίζει μια μοναδική τηλεφωνική συσκευή) Οι τελείες δεκαδικού συμβολισμού αποτελούν το πρότυπο γραφής μίας ΙΡ διεύθυνσης, χωρίζοντας τα 4 bytes της διεύθυνσης (πχ: 192.207.177.133) Το κάθε byte παίρνει τιμές από 0 ως 255 Διεύθυνση δικτύου Α: 192.207.177.1xx Περιλαμβάνει όλες τις μηχανές που έχουν IP address που αρχίζει από 192.207.177.1 (πχ 192.207.177.145) Διαδικτυακός Οργανισμός για την Εκχώρηση Ονομάτων και Αριθμών (Internet Corporation for Assigned Names and Numbers, ICANN) Εκχωρεί διευθύνσεις IP στους ISP, οι οποίοι κατόπιν εκχωρούν αυτές τις διευθύνσεις μέσα στις περιοχές τους. 31

Μνημονικά ονόματα 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 Η περιοχή ανώτατου επιπέδου (top-level domain) κατηγοριοποιεί τους ιδιοκτήτες των περιοχών: Κατά χρήστη π.χ..com = εμπορική περιοχή,.edu = πανεπιστήμιο,.gov = κυβερνητικός οργανισμός Κατά χώρα π.χ..gr = περιοχή Ελλάδας. Υποπεριοχές και ονόματα ιδιόκτητων υπολογιστών: Καταχωρημένες από ICANN, πρέπει να προηγηθεί δήλωσή τους Προσδιορίζονται από τον ιδιοκτήτη της περιοχής 32

Domain Name System (DNS) Σύστημα ονομάτων περιοχών Βασικό πρόβλημα: όνομα υπολογιστή -> δικτυακή διεύθυνση (IP address) Αντίστοιχο παράδειγμα : πως βρίσκω το τηλέφωνο της υπηρεσίας ΦΠΑ της εφορίας Α ; από τον τηλεφωνικό κατάλογο! Internet: Domain Name System = σύστημα που λύνει το παραπάνω πρόβλημα DNS: κατάλογος ονομάτων περιοχών με ιεραρχική δομή Κάθε domain πρέπει να τηρεί ένα διακομιστή ονομάτων (name server) Ένας name server ενός domain γνωρίζει: Τις IP διευθύνσεις των υπολογιστών που δίνουν τις διάφορες υπηρεσίες (ftp, smtp, www, ) εντός του domain, ή έχουν κάποιο παρατσούκλι Tις IP διευθύνσεις των name server των sub-domains του (πχ ο name server του aueb.gr γνωρίζει την IP address του name server του cs.aueb.gr) 33

Λειτουργία του DNS Εύρεση του IP address για diva.eecs.berkeley.edu stanford... Root name server IP = a...... com edu gr berkeley IP = b (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 34

Συνοπτικά Διεύθυνση IP: σχήματα των 32 ή 128 bit που συχνά αναπαριστάνονται σε δεκαδικό συμβολισμό με τελείες Μνημονικές διευθύνσεις: Ονόματα περιοχών (domain names) Περιοχές ανωτάτου επιπέδου (top-level domains) Σύστημα ονομάτων περιοχών (DNS) Διακομιστές ονομάτων (name servers) Αναζήτηση DNS (DNS look-up) 35

Παραδοσιακές Διαδικτυακές Εφαρμογές Ηλεκτρονική αλληλογραφία (email) Ο διακομιστής αλληλογραφίας (mail server) της περιοχής συλλέγει την εισερχόμενη αλληλογραφία και μεταδίδει την εξερχόμενη αλληλογραφία Ο διακομιστής αλληλογραφίας παραδίδει την εισερχόμενη αλληλογραφία στους πελάτες μέσω των πρωτοκόλλων POP3 ή IMAP Πρωτόκολλο Μεταφοράς Αρχείων (FTP) Κλασικό μοντέλο πελάτη-διακομιστή (client-server) Telnet και Secure Shell (SSH) Πρόσβαση σε μακρινό υπολογιστή 36

E-mail Μεταφορά μηνυμάτων μεταξύ mail servers: SMTP (Simple Mail Transfer Protocol) Πρόσβαση σε μηνύματα: POP3 (Post Office Protocol 3) ή IMAP (Internet Mail Access Protocol) POP3: τα μηνύματα σώζονται τοπικά, στον υπολογιστή του χρήστη IMAP: τα μηνύματα σώζονται στον mail server 37

user agent (Alice) (MS Outlook) Ηλεκτρονικό ταχυδρομείο mail to jane@ntua.gr from alice@aueb.gr Αποστολή email SMTP mail server 25 smtp.aueb.gr Port 25 Αποστολή e-mail: Simple Mail Transfer Protocol SMTP Πρόσβαση στον mail server mail server 25 143 IMAP smtp.ntua.gr, imap.ntua.gr Port 25 port 143 user agent (Jane) (Firefox) Λήψη email μέσω: POP3: port 110 IMAP: port 143 http: ένας browser απαιτείται για αποστολή και λήψη (webmail, hotmail, ) 38

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,... 39

Πιο Πρόσφατες Εφαρμογές Πρωτόκολλο Διαδικτυακής Φωνητικής Επικοινωνίας (Voice over IP, VoIP) Μοντέλο P2P, π.χ. skype Διαδικτυακό ραδιόφωνο (Internet Radio) Μονο-εκπομπή (uni-cast): μετάδοση από μια πηγή σε έναν προορισμό Πολλαπλή Μονοεκπομπή-N (N-unicast): η πηγή μεταδίδει την ίδια πληροφορία παράλληλα σε Ν προορισμούς Σημαντικός φόρτος για τον εκπομπό και για τους κόμβους κοντά του που πρέπει να προωθούν τα μηνύματα Πολυεκπομπή (multi-cast): το πρόβλημα της μετάδοσης πληροφορίας μεταφέρεται στους δρομολογητές 40

Πολυ-εκπομπή (multi-cast) Η πηγή μεταδίδει το ίδιο μήνυμα σε πολλούς προορισμούς μέσω μιας διεύθυνσης (διεύθυνση πολυ-εκπομπής) η οποία αντικατοπτρίζει τους πολλούς προορισμούς Σύνολο προορισμών στους οποίους μεταδίδεται η ίδια πληροφορία: ομάδα πολυ-εκπομπής (multi-cast group) Η πηγή μεταδίδει μόνο μια φορά! Οι δρομολογητές αναγνωρίζουν τη διεύθυνση και προωθούν το μήνυμα ανάλογα για να φτάσει στους αντίστοιχους προορισμούς Δημιουργώντας αντίγραφα της πληροφορίας που λαμβάνουν Όταν κάποιος θέλει να ενταχθεί στην ομάδα, το δηλώνει στον κοντινότερο δρομολογητή ο οποίος με τη σειρά του προωθεί το αίτημα περαιτέρω σε άλλους δρομολογητές 41

O Παγκόσμιος Ιστός Ο Παγκόσμιος Ιστός (World Wide Web) είναι ένα διαδίκτυο που διαδίδει έγγραφα υπερκειμένου (hypertext) (ή υπερμέσα, hypermedia). Δεκέμβριος 1990: Tim-Berners-Lee (πατέρας του web) Τα έγγραφα υπερκειμένου στον Παγκόσμιο Ιστό ονομάζονται και ιστοσελίδες (web pages) Οι ιστοσελίδες συνδέονται μεταξύ τους με υπερσυνδέσμους (hyper-links) H τοποθεσία Ιστού (Web site) είναι μία συλλογή στενά συσχετισμένων ιστοσελίδων. Συνήθως είναι αποθηκευμένες όλες στην ίδια διεύθυνση ΗΤΜL: η γλώσσα σήμανσης των έγγραφων υπερκειμένου. Ο Παγκόσμιος Ιστός διαδίδει και άλλα στοιχεία και ψηφιακά μέσα Παράδειγμα : εικόνες 42

Υλοποίηση Ιστού O διακομιστής Ιστού (Web server) παρέχει πρόσβαση στα έγγραφα της μηχανής του σύμφωνα με τις αιτήσεις των πελατών. Ο φυλλομετρητής (browser) επιτρέπει την πρόσβαση του χρήστη στις ιστοσελίδες. Το Πρωτόκολλο Μεταφοράς Υπερκειμένου (Hyper-Text Transfer Protocol, HTTP) είναι το πρωτόκολλο επικοινωνίας που μεταφέρει έγγραφα υπερκειμένου μεταξύ φυλλομετρητή και διακομιστή Ιστού. Ο ενιαίος εντοπιστής πόρων (Uniform Resource Locator, URL) είναι η μοναδική διεύθυνση ενός εγγράφου στο δίκτυο 43

Ένα τυπικό URL 44

Μορφή εγγράφου υπερκειμένου Κωδικοποιείται ως έγγραφο κειμένου Περιέχει ετικέτες επικοινωνίας με το φυλλομετρητή Πληροφορίες που χρειάζεται ο φυλλομετρητής για να εμφανίσει σωστά την σελίδα στον χρήστη Εμφάνιση <h1> για ξεκίνημα επικεφαλίδας επιπέδου 1 <p> για ξεκίνημα νέας παραγράφου Σύνδεση με άλλα έγγραφα και περιεχόμενο <a href =... > Εισαγωγή εικόνων <img src =... > 45

Μια απλή ιστοσελίδα 46

Μια απλή ιστοσελίδα (2) 47

Μια βελτιωμένη ιστοσελίδα 48

4-49 Μια βελτιωμένη ιστοσελίδα (2)

Γράφος web (web graph) Κόμβος (node) = μια ιστοσελίδα Δυο ιστοσελίδες i και j συνδέονται με μια ζεύξη αν υπάρχει link (αναφορά) από την i στην j 50

Είναι μια μετρική σύμφωνα με την οποία η Google κατατάσσει τις ιστοσελίδες όταν τις εμφανίζει μετά από μια αναζήτηση ενός χρήστη Μια ιστοσέλίδα i έχει μεγάλη τιμή PageRank αν άλλες ιστοσελίδες j με μεγάλο PageRank «δείχνουν» στην i Όσο ψηλότερο Page Rank έχει μια σελίδα, τόσο ψηλότερα εμφανίζεται στα αποτελέσματα αναζήτησης Page Rank 51

Επεκτάσιμη Γλώσσα Σήμανσης (XML) XML (extensive Markup Language): Μια γλώσσα για κατασκευή γλωσσών σήμανσης όπως η HTML για συστηματική αναπαράσταση / κωδικοποίηση άλλης μορφής πληροφορίας (πέρα από κείμενο, π.χ. φύλλα με νότες μουσικής) σαν κείμενο Υπερσύνολο της HTML Απόγονος της SGML (Standard Generalized Markup Language) H XML χρησιμοποιεί ειδικά semantic tags (σημασιολογικές ετικέτες) Π.χ. <ingredient>.. </ingredient> Ανοίγει το δρόμο για τον Παγκόσμιο Σημασιολογικό Ιστό (semantic web) Κάθε πληροφορία συνοδεύεται από την σημασία της και είναι κάτι παραπάνω από ένα σύνολο από λέξεις Πολύ πιο αποδοτική αναζήτηση (search) στο web, για περιεχόμενο με συγκεκριμένη σημασία 4-52

Δραστηριότητες Πελάτη και Διακομιστή Δραστηριότητες πελάτη: Παραδείγματα: μικροεφαρμογές java, javascript, Macromedia Flash Προγράμματα γραμμένα σε javascript εντός του κώδικα HTML Ο φυλλομετρητής αντλεί πληροφορίες που χρειάζεται για την εμφάνιση του αρχείου Δραστηριότητες διακομιστή: Διασύνδεση Κοινής Πύλης (Common Gateway Interface, CGI) Σύνολο προγραμμάτων με τα οποία οι πελάτες ζητούν την εκτέλεση κάποιων προγραμμάτων στον διακομιστή Μικροεφαρμογές διακομιστή (servlets) Personal HyperText Processor (PHP): πλαίσιο ανοικτού κώδικα (open-source) για υλοποίηση λειτουργιών στην πλευρά του διακομιστή 53

Πρωτόκολλα Διαδικτύου: Παράδειγμα ταχυδρόμησης πακέτου 54

Επίπεδα Λογισμικού Διαδικτύου Πρωτόκολλο Διαδικτύου: προσδιορίζει πως μεταφέρεται η πληροφορία από μια μηχανή σε μια άλλη και μέσα στο Διαδίκτυο Προσέγγιση οργανωμένη σε επίπεδα (layers) Κάθε επίπεδο είναι μια μονάδα λογισμικού με μια συγκεκριμένη λειτουργία Επίπεδο Εφαρμογής (Application Layer): Κατασκευάζει ένα μήνυμα με διεύθυνση Επίπεδο Μεταφοράς (Transport Layer): Τεμαχίζει το μήνυμα σε πακέτα Επίπεδο Δικτύου (Network Layer): Χειρίζεται τη δρομολόγηση μέσω του Διαδικτύου Επίπεδο Συνδέσμου (Link Layer): Χειρίζεται την πραγματική μετάδοση των πακέτων 55

Eπίπεδα Διαδικτύου Κάτω από το επίπεδο συνδέσμου, υπάρχει και το Φυσικό Επίπεδο (Physical Layer) όπου η πληροφορία μεταδίδεται και νοείται ως bits 56

Πορεία ενός μηνύματος στο Διαδίκτυο 57

Διαδικτυακά πρωτόκολλα Web TCP UDP data AB IP data AB KL Ethernet 58

Επίπεδο Μεταφοράς και Δικτύου Επίπεδο Μεταφοράς: χωρίζει την πληροφορία σε πακέτα και τα δίνει στο επίπεδο δικτύου Το κάθε πακέτο νοείται από εδώ και πέρα ανεξάρτητα από τα άλλα πακέτα Π.χ. Πακέτα που έχουν τον ίδιο προορισμό μπορεί να ακολουθήσουν διαφορετικές διαδρομές προς αυτόν Επίπεδο Δικτύου: Δρομολόγηση (routing) Κάθε ενδιάμεσος δρομολογητής έχει έναν πίνακα με τις διευθύνσεις άλλων δρομολογητών Μπορεί να έχει και άλλες πληροφορίες, π.χ. πόση καθυστέρηση έχει καταμετρηθεί από αυτόν σε έναν άλλον δρομολογητή προωθεί τα πακέτα και τελικά καθορίζει το μονοπάτι που αυτά θα ακολουθήσουν στο Διαδίκτυο 59

Δρομολόγηση 60

Δρομολόγηση (2) Προτιμούμενη διαδρομή προς το Α: [Υ,Χ,Ζ,Α], καθυστέρηση: 15 Y 20 2 Χ 6 7 Α Ζ Προτιμούμενη διαδρομή προς το Α: [Ζ,Α], καθυστέρηση: 7 61

Διασύνδεση με δρομολογητή (1/2) s,r1 S,D S s a Ε1 data f k Ethernet E2 r1 Ε2 r2 Ethernet E1 Router R Πίνακας Δρομολόγησης Routing table: D, H: E3,... S: E1,... r3 r3,d S,D data Ε3 h Ethernet E3 Κάθε συσκευή έχει MAC διεύθυνση (π.χ. d) και network διεύθυνση (D) Κάθε δρομολογητής είναι μέρος ενός ή περισσοτέρων LANs 62 d H D

Διασύνδεση με δρομολογήτή (2/2) s,r1 S,D data S s f Ε1 k a Ethernet E1 w1 Router W r1 E2 Router R Routing table: D, H: W:E2,. S: E1,... w2 w4 r2 w3 r3 w3,d S,D data r2, w4 S,D data Ε3 h Ethernet E3 d H 63 D

Επίπεδο Συνδέσμου(link layer) Επίπεδο Δικτύου προσδιορίζει τον επόμενο κόμβο Επίπεδο Συνδέσμου: έχει την ευθύνη για την μετάδοση του πακέτο στον επόμενο κόμβο (δεν ενδιαφέρεται για το που θα πάει τελικά) Παράδειγμα πρωτοκόλλου σε επίπεδο συνδέσμου: CSMA/CA, CSMA/CD, Aloha Aloha: πιο απλό από CSMA/CA, CSMA/CD: όταν ένας εκπομπός έχει κάποιο πακέτο, το μεταδίδει (δεν ακούει αν το κανάλι είναι κατειλλημένο όπως στο CSMA/CD) Το επίπεδο Συνδέσμου στη λήψη ελέγχει αν το πακέτο έχει ληφθεί σωστά Αν όχι, ζητά επαναμετάδοση από τον εκπομπό 64

Σύνδεση εφαρμογών σε θύρες (ports) client C: N3.n port n N3 Εφαρμογές client-server IP address N1 N2 server A: διεύθυνση = N1.k port k server Β: διεύθυνση = N2.m port m Θύρα (port): είναι κατασκευή λογισμικού που είναι συγκεκριμένο για συγκεκριμένη εφαρμογή ή διεργασία και χρησιμεύει σαν σημείο επικοινωνίας μεταξύ μακρυνών υπολογιστών και ως αναγνωριστικό για την εκτέλεση της εφαρμογής 65

Σύνδεση με εφαρμογές client 1 2 80 Πλήρης διεύθυνση διαδικασίας = [IP address, port #] Web server ports (θύρες = εσωτερικά γραμματοκιβώτια γραφείων ) server A: διεύθυνση = N1,k IP address N1 client C: N3,n port k = υποδιεύθυνση IP port n κεντρικό γραμματοκιβώτιο κτιρίου = IP address N3 IP network N2 server Β: διεύθυνση = N2,m port m Servers: ακούν σε γνωστές θύρες Clients: συνδέονται στους servers, παίρνουν πληροφορία, την παρουσιάζουν στους χρήστες Αφού ληφθεί το μήνυμα στο επίπεδο μεταφοράς στον προορισμό, αυτό το Προωθεί στην κατάλληλη θύρα στο επίπεδο εφαρμογής (π.χ. Θύρα 80 για HTTP) 66

Πακέτο Πρωτοκόλλων TCP/IP Standard του OSI (Open systems Interconnection): παλαιότερα, είχε 7 επίπεδα Τώρα έχουν απλοποιηθεί σε 5 (προηγούμενες διαφάνειες) Πρωτόκολλα (standard) για το Επίπεδο μεταφοράς Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Επιλογή ενός από τα 2: ανάλογη της επιλογής ταχυδρομικής υπηρεσίας Πρωτόκολλα (standard) για το Επίπεδο δικτύου Internet Protocol (IP), IPv4 και IPv6 67

Επιλογή μεταξύ TCP και UDP 68

Σύνδεση εφαρμογών με TCP, UDP Τύποι συνδέσεων: UDP, ΤCP : έλεγχος ροής πακέτων μεταξύ διευθύνσεων προγραμμάτων Αποτέλεσμα: «μικρο-ροές» χρειάζεται να τις ξεχωρίζουμε Α1 Β1 Β2 Α2 TCP/UDP header + Application ids Ν1 Ν2 Ν1,Ν2 B1,B2 data Ροή TCP Ν1,Ν2 A1,A2 data Ροή IP 69

Διαφορές TCP και UDP Αποκατάσταση σύνδεσης πριν την μετάδοση TCP: πριν την μετάδοση, το επίπεδο μεταφοράς της πηγής αποστέλλει μήνυμα προς το επίπεδο μεταφοράς του προορισμού και περιμένει επιβεβαίωση (acknowledgment, ACK) UDP: δεν κάνει κάτι αντίστοιχο, απλά μεταδίδει UDP = πρωτόκολλο χωρίς σύνδεση, connectionless Έλεγχος λήψης στον προορισμό TCP: πακέτα επιβεβαίωσης (ACK) από τον προορισμό TCP: Αν ένα πακέτο δεν έχει επιβεβαιωθεί, επαναμετάδοση (retransmission) από την πηγή UDP: δεν κάνει επαναμεταδόσεις (όχι αξιόπιστο πρωτόκολλο) 70

Διαφορές TCP και UDP (2) Έλεγχος Ροής (flow control) TCP: αυξομείωση ρυθμού μετάδοσης πακέτων από την πηγή προς διευκόλυνση του προορισμού Αν π.χ. ο προορισμός δεν επιβεβαιώνει τα αποσταλθέντα πακέτα UDP: δεν παρέχει έλεγχο ροής Έλεγχος συμφόρησης (congestion control) TCP: αυξομείωση ρυθμού μετάδοσης πακέτων από την πηγή για αντιμετώπιση συμφόρησης κίνησης σε κάποιο σημείο μεταξύ πηγής-προορισμού Σήμα ειδοποίησης για συμφόρηση (congestion notification signal) Αν π.χ. ένας κόμβος στείλει τέτοιο μήνυμα, ή αν η μετρούμενη καθυστέρηση λήψης είναι μεγάλη, μείωσε το ρυθμό μετάδοσης πακέτων στην πηγή UDP: δεν παρέχει έλεγχο συμφόρησης UDP: αποδοτικό, αν το επίπεδο εφαρμογής μπορεί να αντιμετωπίσει τα παραπάνω ζητήματα Και αν η εφαρμογή είναι ευαίσθητη σε χρόνο (time-sensitive), δηλ. χρειάζεται να διεκπεραιωθεί γρήγορα, π.χ. DNS αναζήτηση με UDP Email (όχι ευαίσθητο σε χρόνο): με TCP 71

Σενάριο συμφόρησης κίνησης 2 εκπομποί, 2 προορισμοί Host A λ in : original data λ out 1 δρομολογητής, μεγάλο μέγεθος buffer Host B unlimited shared output link buffers Υπάρχει ένα μέγιστο ποσό πληροφορίας που μπορεί να σταλεί σε μια ζεύξη Χωρητικότητα ζεύξης C Καθυστέρηση στην λήψη πακέτων λόγω συμφόρησης Μέγιστη δυνατή ρυθμοαπόδοση (throughput) 72

Σενάριο συμφόρησης κίνησης (2) 1 δρομολογητής, πεπερασμένο μέγεθος buffer Χαμένα πακέτα επαναμεταδίδονται Host A λ in : ρυθμός δεδομένων λ out Host B finite shared output link buffers 73

Σύνδεση εφαρμογών με TCP ή UDP A πρόγραμμα S1 S2 π i N, M : αριθμός θύρας : διεύθυνση π1 π2 π3 Ν π1 π2 π3 Μ Θύρες = Γραμματοκιβώτια για χρήση εφαρμογών Τύποι: TCP, UDP Έλεγχος ροής (Flow Control) : TCP : UDP N,Μ π1, π2 data Κεντρικό γραμματοκιβώτιο 74

Έλεγχος ροής: TCP data Αλγόριθμος: στέλνε όταν παραλάβεις επιβεβαίωση μην στέλνεις εάν k > W διάλεγε συνέχεια το σωστό W ξαναστείλε τα χαμένα πακέτα k TCP modules IP = πακέτα δεδομένων = επιβεβαιώσεις (acknowledgements, ACKs) k = # μη επιβεβαιωμένων πακέτων W: παράθυρο TCP RTT: round-trip time R = RTT 0 1 2 3 4 χρόνος W RTT 75

Έλεγχος Ροής: TCP (2) Round-trip time : χρόνος μέχρι να πάει ένα πακέτο στον προορισμό και να επιστρέψει στην πηγή επιβεβαίωση (ack) από τον προορισμό Παράθυρο TCP (TCP window) W: είναι ο αριθμός των πακέτων που μεταδίδονται Έστω τα πακέτα αριθμούνται 0,1,2,... k = (Αριθμός τελευταίου πακέτου που στάλθηκε) (Αριθμός τελευταίου πακέτου που επιβεβαιώθηκε) Στέλνε όσο k W, μη στέλνεις αν k > W (και ξαναστείλε τα μη επιβεβαιωμένα πακέτα) Αλλάζοντας το W, αυξομειώνω το ρυθμό μετάδοσης πακέτων W μικρό: Σημαίνει ότι σταματώ την μετάδοση πιο συχνά W μεγάλο: σημαίνει ότι σταματώ τη μετάδοση πιο σπάνια Ρυθμός μετάδοσης πακέτων = W / (RTT) (πακέτα ανά μονάδα χρόνου) 76

Πρωτοκόλλο IP Πρωτόκολλα (standard) για το Επίπεδο δικτύου IP: πρωτόκολλο δρομολόγησης Προώθηση (forwarding) πακέτων στον επόμενο κόμβο Τελικά, δρομολόγησή τους (routing) στον προορισμό Πρέπει να μπορεί να αλλάζει το μονοπάτι σε περίπτωση ανάγκης Κάθε φορά που μια πηγή στέλνει ένα πακέτο, βάζει σε αυτό: Διεύθυνση αποστολέα και προορισμού Δεδομένα Μετρητής αλμάτων (hop count) ή χρόνος ζωής (Time to Live, TTL) πακέτου Είναι ο μέγιστος αριθμός φορών που μπορεί να προωθηθεί ένα πακέτο πριν φτάσει στον προορισμό του Περιορίζει την άσκοπη κυκλοφορία πακέτων στο δίκτυο για πάντα Internet Protocol (IP), IPv4 και IPv6 IPv4: διευθύνσεις 32-bit IPv6: διευθύνσεις 128-bit: 8 ομάδες των 4 δεκαεξαδικών ψηφίων χωρισμένες με : Π.χ. 2001:0db8:85a3:0042:1000:8a2e:0370:7334. 77

Επιθέσεις και Ασφάλεια Υπολογιστών Κακόβουλο λογισμικό: Ιοί (viruses): λογισμικό που εισέρχεται σε προγράμματα που υπάρχουν στον Η/Υ, προκαλεί διάφορες δυσλειτουργίες Σκουλήκια (worms): πρόγραμμα που ταξιδεύει στο δίκτυο, εγκαθίσταται σε Η/Υ και προωθεί αντίγραφά του σε άλλους Η/Υ Δούρειοι ίπποι (Trojan horses): πρόγραμμα που εισέρχεται στον Η/Υ μεταμφιεσμένο σε κάποιο επιθυμητό λογισμικό Λογισμικό υποκλοπής (spyware ή sniffing software): λογισμικό που συλλέγει πληροφορίες για την δραστηριότητα σε έναν Η/Υ και τις αναφέρει στο αφεντικό του Λογισμικό ψαρέματος (phishing): απόκτηση πληροφορίας με το να ζητάς ρητά (π.χ. Μέσω δελεαστικών emails) Άρνηση υπηρεσιών (Denial of Service): υπερφόρτωση ενός server με πολλά (ψεύτικα) μηνύματα αίτησης από άλλα μηχανήματα Ενοχλητική ηλεκτρονική αλληλογραφία (spam) 78