Τεχνολογίες Διαδικτύου National Technical University of Athens
Περίληψη Μαθήματος Βασικές Αρχές του Διαδικτύου (Internet) Στοίβα πρωτοκόλλων TCP/IP Πρωτόκολλα Δρομολόγησης IP Πρωτόκολλα Ελέγχου Συμφόρησης Ασφάλεια στο Διαδίκτυο Υπηρεσία Πολλαπλών Προορισμών στο Διαδίκτυο Ποιότητα Υπηρεσίας στο Διαδίκτυο Μεταγωγή Εττικέτας Πολλαπλών Πρωτοκόλλων Αλγόριθμοι προγραμματισμού εκπομπής πακέτων και διαχείρισης ενταμιευτών στο Διαδίκτυο Εφαρμογές και υπηρεσίες Διαδικτύου National Technical University of Athens Τεχνολογίες Διαδικτύου
Τεχνολογίες Διαδικτύου Αρχές Διαδικτύου
Σύνοψη 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση 1.2.2 Μέσα Μετάδοσης 1.3 Το πρωτόκολλο IP 1.3.1 Δρομολόγηση IP 1.3.2 Τάξεις Διευθύνσεων IP 1.3.3 Το πρωτόκολλο ICMP 1.4 Πρωτόκολλα Στρώματος Μεταφοράς 1.4.1 Πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) 1.4.2 Πρωτόκολλο Πακέτων Χρήστη (User Datagram Protocol, UDP) 1.5 Η εξέλιξη της Τεχνολογίας του Διαδικτύου 1.5.1 Το Διαδίκτυο Σήμερα 1.5.2 Το Διαδίκτυο Επόμενης Γενιάς 1.5.3 IPv6 National Technical University of Athens Τεχνολογίες Διαδικτύου
Αναδρομή (1) 1968: εγκαταστάθηκε το πρώτο δίκτυο μεταγωγής πακέτου (ARPANET) το οποίο είχε 4 κόμβους Το Διαδίκτυο ξεκίνησε ως ένα πείραμα χρηματοδοτούμενο από το Υπουργείο Εθνικής Αμύνης των Η.Π.Α. Το ARPANET περιελάμβανε στρατιωτικούς, πανεπιστημιακούς και ερευνητικούς τόπους (sites) 1971: απλώθηκε σε όλες τις Η.Π.Α 1972: To APRANET χρησιμοποιούσε το Network Control Protocol (NCP) για μεταφορά δεδομένων 1973: Πρώτη χρήση του όρου Internet 1979: Το APRANET είχε 200 κόμβους 1983: Εφαρμογή του πρωτοκόλλου TCP/IP Αντικατέστησε το NCP 562 κόμβοι National Technical University of Athens Τεχνολογίες Διαδικτύου
Αναδρομή (2) 1984: Το ARPANET χωρίστηκε σε 2 δίκτυα: Το MILNET για στρατιωτική χρήση και το ARPANET για έρευνα 1986: Δημιουργήθηκε ο οργανισμός Internet Engineering Task Force (IETF) 1987: το National Science Foundation (NSF) χρηματοδότησε τη δημιουργία ενός δικτύου που συνέδεσε τα έξι διεθνή κέντρα υπολογιστών που είχαν δημιουργηθεί Αυτό το δίκτυο ονομάστηκε NSFNET και σύνδεσε 13 τοποθεσίες χρησιμοποιώντας υψηλής ταχύτητας μισθωμένες τηλεφωνικές γραμμές Το NSFNET αποδείχτηκε τόσο επιτυχημένο που τελικά αντικατέστησε το APRANET, το οποίο έκλεισε το 1990 1992: World-Wide Web 1990-2000: περίπου 50εκατ. υπολογιστές στο Διαδίκτυο, 100εκατ. χρήστες, ζεύξεις δικτύου κορμού στο 1Gpbs National Technical University of Athens Τεχνολογίες Διαδικτύου
Διαδίκτυο (Internet) Mέσο προσπέλασης απομακρυσμένων πληροφοριών και επικοινωνίας μηχανών και ανθρώπων για ανταλλαγή δεδομένων, εικόνων και ήχων Τεχνολογία επικοινωνίας υπολογιστών που απαρτίζεται από υλοποιήσεις τηλεπικοινωνιακών πρωτοκόλλων μέσω προγραμμάτων υπολογιστών Το Internet βασίζεται στην διασύνδεση τοπικών δικτύων μέσω απλών μεταγωγέων πακέτου, δρομολογητών ή θυρών που εκτελούν δρομολόγηση, καθοριζόμενη από τα σχετικά πρωτόκολλα IP National Technical University of Athens Τεχνολογίες Διαδικτύου
Δομή Διαδικτύου δρομολογητής Εκατομμύρια διασυνδεδεμένοι υπολογιστές: hosts, end-systems Ζεύξεις Ρυθμός μετάδοσης = εύρος ζώνης (bandwidth) Δρομολογητές: προωθούν πακέτα Σταθμός εργασίας εξυπηρετητής Κινητό local ISP local ISP regional ISP regional ISP company company network network National Technical University of Athens Τεχνολογίες Διαδικτύου
Ορολογία κόμβος μια μονάδα που υλοποιεί το πρωτόκολλο TCP/IP host οποιοσδήποτε άλλος κόμβος που δεν είναι δρομολογητής ζεύξη μέσο πάνω από το οποίο οι κόμβοι μπορούν να επικοινωνούν στο επίπεδο ζεύξης δεδομένων γείτονες κόμβοι συνδεδεμένοι στην ίδια ζεύξη σημείο προσαρμογής (interface) η προσαρμογή ενός κόμβου στη ζεύξη διεύθυνση ένα αναγνωριστικό επιπέδου IP για ένα σημείο προσαρμογής ή ένα σύνολο σημείων προσαρμογής National Technical University of Athens Τεχνολογίες Διαδικτύου
Δομή του Διαδικτύου Σημείο πρόσβασης: εφαρμογές και τερματικά Πυρήνας του δικτύου: δρομολογητές δίκτυα Δίκτυο πρόσβασης National Technical University of Athens Τεχνολογίες Διαδικτύου
Σημείο Πρόσβασης Τελικά συστήματα (hosts): Μοντέλο πελάτη/εξυπηρετητή Τρέχουν εφαρμογές e.g. Web, email Στην «άκρη του δικτύου» Μοντέλο πελάτη/εξυπηρετητή Πελάτης κάνει αιτήσεις και λαμβάνει απαντήσεις/υπηρεσίες από τον εξυπηρετητή e.g. Web browser/server; email client/server Μοντέλο peer-peer: Ελάχιστη χρήση αφοσιωμένων εξυπηρετητών e.g. Gnutella, KaZaA National Technical University of Athens Τεχνολογίες Διαδικτύου
Πυρήνας του δικτύου Διασυνδεδεμένοι δρομολογητές Η βασική ερώτηση: πως μεταφέρονται τα δεδομένα στο Διαδίκτυο; Μεταγωγή πακέτου National Technical University of Athens Τεχνολογίες Διαδικτύου
Τι είναι πρωτόκολλο; Όλη η επικοινωνία στο Διαδίκτυο γίνεται μέσω πρωτοκόλλων Τα πρωτόκολλα ορίζουν Τη δομή των μηνυμάτων Τη σειρά που τα μηνύματα στέλνονται και λαμβάνονται μεταξύ των οντοτήτων Τις ενέργειες κατά γίνονται κατά τη λήψη , αποστολή National Technical University of Athens Τεχνολογίες Διαδικτύου
Δομή του Διαδικτύου και οι Παροχείς Υπηρεσιών (ISP) Σχεδόν ιεραρχικό μοντέλο Είδη ISP Tier-1 ISP: προσφέρουν εθνική/διεθνή κάλυψη Tier-2 ISP: μικρότερα, συνήθως τοπικά ISP Tier-3 ISP και local ISP: last hop access, κοντά στα τελικά συστήματα Tier 1 ISP NAP Tier - 2 ISP local ISP Tier 3 Local and tier 3 ISPs are customers of higher tier ISPs connecting them to rest of Internet National Technical University of Athens Τεχνολογίες Διαδικτύου
Δομή Διαδίκτυο: δίκτυο από δίκτυα National Technical University of Athens Τεχνολογίες Διαδικτύου
Στρώματα και πρωτόκολλα Τα δίκτυα είναι περίπλοκα Πολλά διαφορετικά «κομμάτια» Τερματικά Δρομολογητές Ζεύξεις Εφαρμογές Πρωτόκολλα Hardware, software Μια συγκεκριμένη δομή επιτρέπει την αναγνώριση και τη συσχέτιση των «κομματιών» Η διαστρωμάτωση διευκολύνει τη συντήρηση, εκσυγχρονισμό του συστήματος Αλλαγή στην υλοποίηση ενός στρώματος γίνεται με διαφανή τρόπο προς τα άλλα στρώματα Ανάγκη Οργάνωσης National Technical University of Athens Τεχνολογίες Διαδικτύου
TCP/IP: Σύστημα 4 στρωμάτων Το στρώμα ζεύξης δεδομένων περιλαμβάνει τον οδηγό (driver) της κάρτας δικτύου του υπολογιστή και το κατάλληλο λογισμικό για την αλληλεπίδραση με αυτή Το στρώμα δικτύου χειρίζεται την κίνηση των πακέτων στο δίκτυο, π.χ. σε αυτό το στρώμα γίνεται η δρομολόγηση των πακέτων Το στρώμα μεταφοράς παρέχει στο στρώμα εφαρμογής τη ροή των δεδομένων μεταξύ δύο υπολογιστών Το στρώμα εφαρμογής ασχολείται με τις λεπτομέρειες της κάθε εφαρμογής Integrated Services (IntServ): resources are reserved in every node along the path from sender to receiver Differentiated Services (DiffServ): relies on prioritisation of some flows over others. Results in better scalability in core network routers Bandwidth Brokers: complement DiffServ. Manage network resources and perform admission control on request National Technical University of Athens Τεχνολογίες Διαδικτύου
TCP/IP: Πρωτόκολλα National Technical University of Athens Integrated Services (IntServ): resources are reserved in every node along the path from sender to receiver Differentiated Services (DiffServ): relies on prioritisation of some flows over others. Results in better scalability in core network routers Bandwidth Brokers: complement DiffServ. Manage network resources and perform admission control on request National Technical University of Athens Τεχνολογίες Διαδικτύου
Παράδειγμα εφαρμογής FTP Δύο υπολογιστές σε ένα τοπικό δίκτυο Ethernet που «τρέχουν» μία εφαρμογή FTP Ο ένας είναι ο εξυπηρετητής (server) και ο άλλος είναι ο πελάτης (client) Οι περισσότερες εφαρμογές στηρίζονται στην αρχιτεκτονική εξυπηρετητή – πελάτη (server-client) Το υψηλότερο στρώμα ασχολείται περισσότερο με τις λειτουργίες και τις απαιτήσεις της εφαρμογής που «τρέχει» και ελάχιστα ως και καθόλου με την ροή των δεδομένων στο δίκτυο National Technical University of Athens Τεχνολογίες Διαδικτύου
Διαστρωμάτωση: Επικοινωνία application transport network link physical εφαρμογής μεταφοράς δικτύου ζεύξης φυσικό Κάθε στρώμα κατανεμημένο “οντότητες” υλοποιούν λειτουργίες στρώματος σε κάθε κόμβο Οντότητες εκτελούν ενέργειες, ανταλλάσσουν μηνύματα με γείτονες National Technical University of Athens Τεχνολογίες Διαδικτύου
Διαστρωμάτωση: λογική επικοινωνία Π.χ.: μεταφορά Παίρνει δεδομένα από το στρώμα εφαρμογής Προσθέτει διευθύνσεις, έλεγχος αξιοπιστίας, σχηματίζει το “datagram” Στέλνει το datagram στον επόμενο Περιμένει τη λήψη επιβεβαίωσης National Technical University of Athens Τεχνολογίες Διαδικτύου
Διαστρωμάτωση: φυσική επικοινωνία National Technical University of Athens Τεχνολογίες Διαδικτύου
Διαστρωμάτωση και δεδομένα Κάθε στρώμα λαμβάνει τα δεδομένα από το από πάνω στρώμα Προσθέτει την αντίστοιχη επικεφαλίδα για να δημιουργήσει ένα καινούργιο data unit Προωθεί το νέο data unit στο πιο κάτω στρώμα application transport network link physical εφαρμογής μεταφοράς δικτύου ζεύξης φυσικό πηγή προορισμός M H t n l message segment frame National Technical University of Athens Τεχνολογίες Διαδικτύου
Μέσα Μετάδοσης Καθορίζουν τις τεχνολογίες που μπορούν να τρέξουν τα πρωτόκολλα TCP/IP Τα κύρια μέσα μετάδοσης είναι αυτά που προτείνονται από την ΙΕΕΕ, καθώς και το FDDI της ANSI ΙΕΕΕ 802.3 ΙΕΕΕ 802.4 ΙΕΕΕ 802.5 FDDI National Technical University of Athens Τεχνολογίες Διαδικτύου
Μέσα Μετάδοσης – IEEE 802.3 ΙΕΕΕ 802.3 Το πρότυπο αυτό ορίζει τον τρόπο προσπέλασης του μέσου Carrier Sense Multiple Access/Collision Detection (CSMA/CD) Καθορίζει τόσο το φυσικό στρώμα όσο και το στρώμα ελέγχου πρόσβασης στο μέσο Καθόριζε ως φυσικό μέσο ομοαξονικό καλώδιο των 50Ω, με 10Mbps βασικής ζώνης και με μέγιστο μήκος τμήματος 500m.Χρησιμοποιείται κυρίως σε δίκτυα τοπολογίας αρτηρίας National Technical University of Athens Τεχνολογίες Διαδικτύου
IEEE 802.3 – Τρόπος προσπέλασης Όλοι οι τερματικοί σταθμοί είναι απευθείας συνδεδεμένοι στο ίδιο καλώδιο Όλα τα δεδομένα, που μεταδίδονται από κάποιο σταθμό εργασίας ενθυλακώνονται σε ένα πλαίσιο στο οποίο τοποθετείται και η φυσική διεύθυνση του σταθμού προορισμού Τo πλαίσιο στη συνέχεια μεταδίδεται στο κοινό μέσο μεταφοράς 'Όλοι οι άλλοι σταθμοί μπορούν και αντιλαμβάνονται το γεγονός ότι κάποιος μεταδίδει Αν το πακέτο έχει στη διεύθυνση προορισμού την δική τους διεύθυνση τότε συνεχίζουν και διαβάζουν και την υπόλοιπη πληροφορία του πλαισίου Στο πλαίσιο περιλαμβάνεται και ο αποστολέας έτσι ώστε να είναι δυνατόν να λάβει απάντηση στο μήνυμα που έστειλε. Με αυτόν τον τρόπο διευθέτησης του μέσου είναι δυνατόν δύο σταθμοί να προσπαθήσουν την ίδια στιγμή να μεταδώσουν στο δίκτυο Στην περίπτωση αυτή η πληροφορία και των δύο θα καταστραφεί CSMA/CD καθορίζει ότι πριν τη μετάδοση του μέσου πρέπει ο σταθμός να ελέγχει αν κάποιος άλλος σταθμός μεταδίδει Συγκρίνει το σήμα στο καλώδιο και το σήμα που μεταδίδει Αν τα σήματα αυτά είναι διαφορετικά, τότε διαπιστώνει ότι έχει γίνει σύγκρουση. Στην περίπτωση αυτή, η μετάδοση διακόπτεται αμέσως για εξοικονόμηση πόρων και επαναλαμβάνεται μετά από ένα κατάλληλα επιλεγμένο τυχαίο χρονικό διάστημα. National Technical University of Athens Τεχνολογίες Διαδικτύου
Μέσα Μετάδοσης –ΙΕΕΕ 802.4 IEEE 802.4 Τo πρότυπο ΙΕΕΕ 802.4 καθορίζει το φυσικό στρώμα και το στρώμα ελέγχου πρόσβασης στο μέσο Σύστημα τοπολογίας αρτηρίας και ελέγχου πρόσβασης στο μέσο με σκυτάλη (token) Η μέθοδος ελέγχου πρόσβασης στο μέσο επιτυγχάνεται με την χρησιμοποίηση μιας σκυτάλης ελέγχου αδείας (control permission token) Η σκυτάλη περνάει από σταθμό σε σταθμό σύμφωνα με ένα σύνολο κανόνων που αποδέχονται όλοι οι σταθμοί. Ο σταθμός μπορεί να μεταδώσει ένα πλαίσιο μόνο στη περίπτωση που έχει τη σκυτάλη. Μόλις ολοκληρώσει την μετάδοση του πλαισίου ελευθερώνει τη σκυτάλη περνώντας την στον επόμενο σταθμό. Στην τεχνική αυτή εισάγεται η έννοια μιας λογικής σειράς στους σταθμούς ώστε να γνωρίζει κάθε σταθμός τον επόμενό του, ειδικά στην περίπτωση των δικτύων τοπολογίας αρτηρίας, όπου η λογική σειρά δεν είναι προφανής. National Technical University of Athens Τεχνολογίες Διαδικτύου
Μέσα Μετάδοσης –ΙΕΕΕ 802.5 IEEE 802.5 Καθορίζει το φυσικό στρώμα καθώς και το στρώμα ελέγχου πρόσβασης στο μέσο για δίκτυα τοπολογίας δακτυλίου και ελέγχου πρόσβασης στο μέσο με σκυτάλη Το ΙΕΕΕ 802.5 διαφέρει από το CSMA/CD και από το ΙΕΕΕ 802.4 από την άποψη ότι τα bits σε κάθε πλαίσιο μεταδίδονται στο μέσο ξεκινώντας από το πιο σημαντικό ψηφίο Το πρότυπο αυτό καθορίζει σαν φυσικό μέσο ένα προστατευμένο ή απροστάτευτο ζευγάρι καλωδίων στα 1 Mbps ή στα 4 Mbps. National Technical University of Athens Τεχνολογίες Διαδικτύου
Μέσα Μετάδοσης - FDDI FDDI (Fiber Distributed Data Interface) Ταχύτερο -επιτρέπει περισσότερα από ένα πλαίσια να μεταδίδονται ταυτόχρονα 100Mbps μετάδοση πληροφορίας σε διπλό δακτύλιο από οπτική ίνα Συνδέει μέχρι 500 κόμβους, μεταξύ τους απόσταση 2km, και συνολικό μήκος 100Km To FDDI μπορεί να χρησιμοποιηθεί σαν δίκτυο κορμός για τη διασύνδεση άλλων τοπικών δικτύων ή και σαν τοπικό δίκτυο διασύνδεσης σταθμών εργασίας υψηλών ταχυτήτων με μεγάλες υπολογιστικές ανάγκες. Επίσης χρησιμοποιείται για τη διασύνδεση back-end σταθμών εργασίας υψηλών προδιαγραφών για την υποστήριξη του συστήματος αρχείων National Technical University of Athens Τεχνολογίες Διαδικτύου
Σύνοψη 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση 1.2.2 Μέσα Μετάδοσης 1.3 Το πρωτόκολλο IP 1.3.1 Δρομολόγηση IP 1.3.2 Τάξεις Διευθύνσεων IP 1.3.3 Το πρωτόκολλο ICMP 1.4 Πρωτόκολλα Στρώματος Μεταφοράς 1.4.1 Πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) 1.4.2 Πρωτόκολλο Πακέτων Χρήστη (User Datagram Protocol, UDP) 1.5 Η εξέλιξη της Τεχνολογίας του Διαδικτύου 1.5.1 Το Διαδίκτυο Σήμερα 1.5.2 Το Διαδίκτυο Επόμενης Γενιάς 1.5.3 IPv6 National Technical University of Athens Τεχνολογίες Διαδικτύου
Λειτουργίες Στρώματος Δικτύου Μεταφέρει πακέτα από τον αποστολέα στον παραλήπτη Πρωτόκολλα στρώματος δικτύου υλοποιούνται σε κάθε τερματικό και δρομολογητή 2 βασικές λειτουργίες: Προσδιορισμός μονοπατιού: η διαδρομή που ακολουθούν τα πακέτα από την πηγή στον προορισμό. Αλγόριθμοι δρομολόγησης Προώθηση: μετακίνηση των πακέτων από το σημείο εισόδου στο σημείο εξόδου του δρομολογητή National Technical University of Athens Τεχνολογίες Διαδικτύου
Δίκτυο datagrams: το μοντέλο του Διαδικτύου Δρομολογητές: δεν κρατούν κατάσταση για τις συνδέσεις Τα πακέτα προωθούνται βάσει της διεύθυνσης του τερματικού προορισμού Πακέτα με τον ίδιο αποστολέα-παραλήπτη μπορεί να ακολουθήσουν διαφορετικά μονοπάτια National Technical University of Athens Τεχνολογίες Διαδικτύου
Αρχές Δρομολόγησης Στόχος: καθορισμός ενός «καλού» μονοπατιού (ακολουθία από δρομολογητές) στο δίκτυο από την πηγή στον προορισμό Χρήση γράφων από τους αλγόριθμους δρομολόγησης: Οι κόμβοι των γράφων είναι δρομολογητές Οι συνδέσεις των γράφων είναι φυσικές ζεύξεις Κόστη ζεύξεων: καθυστέρηση, κόστος, συμφόρηση “καλό” μονοπάτι: Τυπικά σημαίνει ελάχιστο κόστος Πιθανές και άλλοι ορισμοί National Technical University of Athens Τεχνολογίες Διαδικτύου
Ταξινόμηση Αλγορίθμων Δρομολόγησης Στατική ή δυναμική δρομολόγηση; Στατική Τα μονοπάτια αλλάζουν αργά Δυναμική Μονοπάτια αλλάζουν πιο γρήγορα Περιοδική ενημέρωση Προς απόκριση των αλλαγών στα κόστη των ζεύξεων Συγκεντρωμένη ή κατανεμημένη πληροφορία? Συγκεντρωμένη: Όλοι οι δρομολογητές έχουν πλήρη δεδομένα για την τοπολογία, κόστη ζεύξεων Αλγόριθμοι “link state” Κατανεμημένη: Κάθε δρομολογητής ξέρει τους γείτονες του και τα κόστη των ζεύξεων αυτών Διαδικασία υπολογισμού και ανταλλαγής πληροφορίας με γείτονες Αλγόριθμοι “distance vector” National Technical University of Athens Τεχνολογίες Διαδικτύου
Αλγόριθμός δρομολόγησης Link-State Αλγόριθμος του Dijkstra Τοπολογία, κόστη ζεύξεων γνωστά σε όλους τους κόμβους Επιτυγχάνεται με “link state broadcast” Όλοι οι κόμβοι έχουν ίδια πληροφορία Υπολογίζει ελάχιστα κόστη μονοπατιών από έναν κόμβο (πηγή) προς άλλους κόμβους Φτιάχνει πίνακα δρομολόγησης για αυτό τον κόμβο Επανάληψη: μετά k επαναλήψεις ξέρει ελάχιστα κόστη για μονοπάτια προς k προορισμούς Παράμετροι: c(i,j): κόστος ζεύξης από τον κόμβο i στον j. Κόστος άπειρο εάν δεν είναι απευθείας συνδεδεμένοι D(v): τρέχουσα τιμή του κόστους του μονοπατιού από την πηγή στον προορισμό V p(v): ο προηγούμενος κόμβος κατά μήκος του μονοπατιού από την πηγή στο v N: σετ κόμβων των οποίων είναι γνωστό τα ελάχιστα κόστη μονοπατιών National Technical University of Athens Τεχνολογίες Διαδικτύου
Dijsktra’s Algorithm 1 Αρχικοποίηση: 2 N = {A} 1 Αρχικοποίηση: 2 N = {A} 3 για όλους τους κόμβους v 4 εάν v γειτονικός στον A 5 τότε D(v) = c(A,v) 6 διαφορετικά D(v) = άπεριο 7 8 βρόχος 9 Βρες w που δεν ανήκει στο N τέτοιο ώστε D(w) να είναι ελάχιστο 10 Πρόσθεσε w στο N 11 Ενημέρωσε D(v) για όλα τα v γειτονικά στο w και όχι στοN: 12 D(v) = min( D(v), D(w) + c(w,v) ) 15 Μέχρι όλοι οι κόμβοι στο N National Technical University of Athens Τεχνολογίες Διαδικτύου
Dijkstra’s algorithm: παράδειγμα Step 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity 4,E 5 3 B C 5 2 A 2 1 F 3 1 2 D E 1 National Technical University of Athens Τεχνολογίες Διαδικτύου
Ιεραρχική Δρομολόγηση Μέχρι τώρα θεωρήσαμε μια εξιδανικευμένη κατάσταση Όλοι οι δρομολογητές ίδιοι Μια επίπεδη τοπολογία δικτύου … όχι πραγματικότητα όμως Ανάγκη κλιμάκωσης Μη δυνατότητα αποθήκευσης όλων των προορισμών στους πίνακες δρομολόγησης! Ενημέρωση πίνακα δρομολόγησης θα κατέκλυζε τις ζεύξεις Αυτονομία στη διαχείριση διαδίκτυο = δίκτυο δικτύων Κάθε διαχειριστή δικτύου θέλει να έχει έλεγχο της δρομολόγησης στο δίκτυο του National Technical University of Athens Τεχνολογίες Διαδικτύου
Ιεραρχική Δρομολόγηση Συνοριακοί Δρομολογητές Ομαδοποίηση δρομολογητών σε περιοχές, «αυτόνομα συστήματα» “autonomous systems” (AS) Δρομολογητές στο ίδιο AS τρέχουν το ίδιο πρωτόκολλο δρομολόγησης Πρωτόκολλο δρομολόγησης μέσα σε ένα AS (“intra-AS” routing protocol) Δρομολογητές σε διαφορετικά AS μπορούν να τρέχουν διαφορετικά intra-AS routing protocol Ειδικοί δρομολογητές σε ένα AS Τρέχουν intra-AS routing protocol με άλλους δρομολογητές μέσα στο AS επίσης υπεύθυνοι για τη δρομολόγηση σε προορισμούς εκτός του AS Τρέχουν inter-AS routing protocol με άλλους gateway routers National Technical University of Athens Τεχνολογίες Διαδικτύου
Intra-AS και Inter-AS routing C.b Συνοριακοί: Εκτελούν μεταξύ τους inter-AS routing Εκτελούν intra-AS routing με άλλους δρομολογητές μέσα στο AS B.a A.a b A.c c a a C b a B d c A b network layer inter-AS, intra-AS routing in gateway A.c link layer physical layer National Technical University of Athens Τεχνολογίες Διαδικτύου
Intra-AS και Inter-AS routing between A and B a b C A B d c A.a A.c C.b B.a Host h2 Host h1 Intra-AS routing within AS B Intra-AS routing within AS A Θα εξετάσουμε αργότερα συγκεκριμένα πρωτόκολλα δρομολόγησης τόσο για μέσα σε ένα ΑS όσο και μεταξύ AS National Technical University of Athens Τεχνολογίες Διαδικτύου
To Πρωτόκολλο IP Στρώμα Δικτύου Στρώμα Μεταφοράς: TCP, UDP Πίνακας Πρωτόκολλα δρομολόγησης Επιλογή μονοπατιού RIP, OSPF, BGP Πρωτόκολλο IP διευθυνσιοδότηση μορφή πακέτου IP μηχανισμοί χειρισμού πακέτων Στρώμα Δικτύου Πίνακας Δρομολόγησης Πρωτόκολλο ICMP Αναφορά λαθών Σηματοδοσία Στρώμα Ζεύξης Φυσικό Στρώμα National Technical University of Athens Τεχνολογίες Διαδικτύου
Πρωτόκολλο IP Το IP χρησιμοποιείται από το Internet Το IP είναι μονό ένα κομμάτι από το ολοκληρωμένο πρωτόκολλο που χρησιμοποιείται από το Internet. Το ολοκληρωμένο πρωτόκολλο λέγεται TCP/IP (Transport Control Protocol/Internet Protocol). To TCP/IP περιέχει (έκτος από το πρωτόκολλο IP που είναι στο επίπεδο του δικτύου) πρωτόκολλα για τα επίπεδα μεταφοράς και εφαρμογής Είναι μη αξιόπιστο γιατί δεν εγγυάται την μεταφορά της πληροφορίας που αναλαμβάνει Ένα IP-datagram μπορεί να φτάσει σε λάθος προορισμό, να διπλασιαστεί μέσα στο δίκτυο ή να χαθεί στο δρόμο προς τον προορισμό του Χωρίς σύνδεση κάθε IP-datagram μεταδίδεται ανεξάρτητα από όλα τα άλλα datagram National Technical University of Athens Τεχνολογίες Διαδικτύου
Σφαίρα επιρροής του IP National Technical University of Athens Τεχνολογίες Διαδικτύου
Kύρια θέματα του IP Κατασκευή της διεύθυνσης/Address structure Πακέτα ΙP / Datagrams Κύριες λειτουργίες του πρωτοκόλλου Λειτουργίες κατακερματισμού των μηνυμάτων και επανασύνδεσης αυτών προκειμένου αυτά να περάσουν από υποδίκτυα που υποστηρίζουν διαφορετικού μεγέθους πεδίο δεδομένων στο πλαίσιο τους Λειτουργίες δρομολόγησης των IP-datagrams διαμέσου των κόμβων του δικτύου, προκειμένου να φθάσουν στον προορισμό τους Λειτουργίες αναφοράς σφαλμάτων Χρησιμοποιεί υπηρεσία best-try (connectionless), δηλαδή στέλνει αυτόνομα πακέτα/datagrams στο internet National Technical University of Athens Τεχνολογίες Διαδικτύου
IP-Datagram Το πρωτόκολλο IP ορίζει την μορφή που πρέπει να πάρουν τα πακέτα και την επεξεργασία που πρέπει να δεχθούν προκειμένου να μεταδοθούν μέσα από το μέσο μεταφοράς Η τελική μορφή ονομάζεται IP-datagram Ένα πακέτο IP περιέχει διάφορα είδη πληροφορίας Σε κάθε datagram ξεχωρίζουμε διάφορα πεδία μεταξύ των οποίων τις IP διευθύνσεις της πηγής και του προορισμού, τον χρόνο ζωής του, το μήκος του και φυσικά τα δεδομένα που μεταφέρει National Technical University of Athens Τεχνολογίες Διαδικτύου
IP datagram National Technical University of Athens Τεχνολογίες Διαδικτύου
Πεδία του πακέτου IP Version - Δείχνει την έκδοση του IP που χρησιμοποιείται IP Header Length (IHL) - Δείχνει το μήκος της επικεφαλίδας σε λέξεις 32-bit Type-of-Service - Αναθέτει στα πακέτα IP διαφορετικά επίπεδα σημαντικότητας Total Length - Καθορίζει το μήκος σε bytes ολόκληρου του πακέτου IP, συμπεριλαμβανομένου των δεδομένων και της επικεφαλίδας Identification - Περιέχει έναν ακέραιο που προσδιορίζει το τρέχον πακέτο. Αυτό το πεδίο χρησιμοποιείται για να βοηθήσει στη επανένωση των κατακερματισμένων πακέτων Flags - Αποτελείται από ένα πεδίο των 3-bit από τα οποία τα 2 χαμηλότερης σημασίας bits ελέγχουν την κατάτμηση. Το χαμηλότερης σημασίας bit καθορίζει εάν το πακέτο μπορεί να κατατμηθεί. Το μεσαίο bit καθορίζει εάν το πακέτο είναι το τελευταίο πακέτο της κατάτμησης από μια σειρά από κατατμημένα πακέτα. Το τρίτο bit δεν χρησιμοποιείται Fragment Offset - Προσδιορίζει την θέση των δεδομένων των πακέτων κατάτμησης σχετικά με την αρχή των δεδομένων στο αρχικό datagram, και επιτρέπει στην διαδικασία IP προορισμού να επανενώσει σωστά το αρχικό πακέτο National Technical University of Athens Τεχνολογίες Διαδικτύου
Πεδία του πακέτου IP Time-to-Live - Διατηρεί έναν μετρητή που βαθμιαία μειώνεται έως το μηδέν, και στο σημείο αυτό το πακέτο απορρίπτεται. Αυτό αποτρέπει τα πακέτα από το να κάνουν κύκλους συνέχεια Protocol - Προσδιορίζει ποιο πρωτόκολλο ανωτέρου επιπέδου λαμβάνει τα εισερχόμενα πακέτα αφού έχει ολοκληρωθεί η επεξεργασία IP Header Checksum - Βοηθάει στην εξασφάλιση της ακεραιότητας της επικεφαλίδας IP Source Address - Προσδιορίζει τον κόμβο αποστολέα Destination Address - Προσδιορίζει τον κόμβο προορισμού Options - Επιτρέπει στο IP να υποστηρίζει διάφορες επιλογές, όπως ασφάλεια Data - Περιέχει πληροφορία ανωτέρου επιπέδου. National Technical University of Athens Τεχνολογίες Διαδικτύου
Δρομολόγηση IP (1) Ο όρος δρομολόγηση αναφέρεται στην μεταφορά ενός πακέτου IP (datagram) από ένα κόμβο σε έναν άλλο, και στο δρόμο που θα ακολουθήσει το IP datagram, ο οποίος βασίζεται στην διεύθυνση IP Κάθε διεύθυνση IP έχει κάποια συγκεκριμένα στοιχεία και ακολουθεί μια συγκεκριμένη δομή Ο τρόπος επιλογής της διαδρομής που θα ακολουθηθεί από ένα πακέτο IP έχει σημαντικές συνέπειες στις επιδόσεις του δικτύου Το ΙΡ έχει σε κάθε δρομολογητή ένα πίνακα δρομολόγησης, τον οποίο ψάχνει κάθε φορά που θέλει να στείλει ένα πακέτο National Technical University of Athens Τεχνολογίες Διαδικτύου
Δρομολόγηση IP (2) Κάθε αλγόριθμος δρομολόγησης χρησιμοποιεί έναν πίνακα δρομολόγησης (routing table), όπου αποθηκεύονται πληροφορίες για τις διαδρομές που πρέπει να ακολουθήσει κάποιο πακέτο IP προκειμένου να φθάσει στον κόμβο προορισμού του Διεύθυνση προορισμού Διεύθυνση επόμενου δρομολογητή Σημαίες (flags) Λεπτομέρειες για το σημείο προσαρμογής του δικτύου από το οποίο θα προωθηθεί το πακέτο Η διαδικασία της δρομολόγησης γίνεται από δρομολογητή σε δρομολογητή National Technical University of Athens Τεχνολογίες Διαδικτύου
Βήματα Δρομολόγησης Αρχικά ψάχνει στους πίνακες δρομολόγησης που έχει για να δει αν υπάρχει η διεύθυνση προορισμού του πακέτου. Αν βρεθεί, τότε στέλνει το πακέτο στον κατάλληλο επόμενο - δρομολογητή (next-hop router) ή στο υποδίκτυο, σύμφωνα με τον πίνακα δρομολόγησης Αν δεν βρεθεί, τότε ψάχνει να βρει μόνο τη διεύθυνση του υποδικτύου Αν τη βρει προωθεί το πακέτο στον αντίστοιχο επόμενο δρομολογητή, και αφήνει εκείνο να αποφασίσει για την τελική διεύθυνση Τέλος, αν δεν βρεθεί ούτε το υποδίκτυο ψάχνει στον πίνακα να βρει αν υπάρχει κάποιος προεπιλεγμένος δρομολογητής (default router) και αν υπάρχει το στέλνει εκεί Αν όλα τα παραπάνω αποτύχουν το πακέτο απορρίπτεται και επιστρέφεται κάποιο μήνυμα λάθους στην εφαρμογή στην οποία ανήκε το πακέτο National Technical University of Athens Τεχνολογίες Διαδικτύου
Ένας τυπικός πίνακας δρομολόγησης Κατάσταση ζεύξης: U : Το μονοπάτι είναι ενεργό G : Το μονοπάτι περνάει μέσω ενός δρομολογητή Η : Το μονοπάτι συνδέεται απ’ ευθείας στον υπολογιστή που έχει την διεύθυνση της πρώτης στήλης National Technical University of Athens Τεχνολογίες Διαδικτύου
Παραδείγματα δρομολόγησης (1) Ας υποθέσουμε ότι ο τελικός παραλήπτης έχει την διεύθυνση 140.252.13.33 και κατά την αναζήτηση του πίνακα δεν βρίσκεται κάποια διεύθυνση τερματικού που να ταιριάζει. Υπάρχει όμως διεύθυνση δικτύου (140.252.13.32) η οποία ταιριάζει. Σε αυτήν την περίπτωση λοιπόν θα χρησιμοποιηθεί η διασύνδεση emd0 Αν ο παραλήπτης έχει διεύθυνση 140.252.13.65, τότε κατά την αναζήτηση διαπιστώνεται ότι υπάρχει εγγραφή τερματικού με αυτήν την διεύθυνση και έτσι θα χρησιμοποιηθεί η διασύνδεση emd0. Επειδή εμφανίζεται το flag G καταλαβαίνουμε ότι το μονοπάτι δεν είναι άμεσο οπότε η διεύθυνση του επιπέδου 2 τίθεται στην τιμή που αντιστοιχεί στον δρομολογητή 140.252.13.25 National Technical University of Athens Τεχνολογίες Διαδικτύου
Παραδείγματα δρομολόγησης (2) Η τελική διεύθυνση είναι 192.207.117.2 και μετά την αναζήτηση στον πίνακα ο διαπιστώνεται ότι δεν υπάρχει εγγραφή που να ταιριάζει. Το πακέτο προωθείται στην διεύθυνση που αντιστοιχεί στην εγγραφή default μέσω της διασύνδεσης emd0 Η αποστολή του πακέτου είναι προς τον ίδιο τον αποστολέα. Κατά την ανάγνωση του πίνακα βρίσκεται διεύθυνση που να ταιριάζει. Το πακέτο προωθείται προς την διασύνδεση emd0. Εκεί ο οδηγός του επιπέδου ζεύξης ανακαλύπτει ότι το πακέτο είναι για τον ίδιο τον αποστολέα και το προωθεί στη ουρά εισόδου του ΙΡ. National Technical University of Athens Τεχνολογίες Διαδικτύου
Address Resolution Protocol (ARP) H χρήση δρομολογητή φορτώνει υπερβολικά το διαδίκτυο Σε περιπτώσεις όπου οι σταθμοί εργασίας ανήκουν στο ίδιο υποδίκτυο, αρκεί ο σταθμός πηγή να γνωρίζει τη φυσική διεύθυνση του σταθμού προορισμού για να του προωθήσει το πακέτο IP Πρωτόκολλο Δήλωσης Διεύθυνσης (Address Resolution Protocol, ARP) Τοπικό πίνακα δρομολόγησης με ζευγάρια διευθύνσεων ΙP και φυσικών διευθύνσεων Πρωτόκολλο χαμηλού επιπέδου National Technical University of Athens Τεχνολογίες Διαδικτύου
Λειτουργία του ARP (1) 1. Μόλις η διαδικασία κατάτμησης έχει ένα πακέτο IP έτοιμο για προώθηση, περνά ένα δείκτη στη μνήμη όπου βρίσκεται αυτό στο πρωτόκολλο ARP. Το τελευταίο διατηρεί έναν τοπικό πίνακα δρομολόγησης, ο οποίος περιέχει ζευγάρια διευθύνσεων IP - φυσικών διευθύνσεων των κόμβων του υποδικτύου 2. (α)Εάν η διεύθυνση προορισμού βρίσκεται στον πίνακα αυτό, τότε το πρωτόκολλο ARP περνά το δείκτη στη μνήμη όπου βρίσκεται το πακέτο IP μαζί με τη φυσική διεύθυνση στο υποκείμενο πρωτόκολλο για τη μετάδοση (β)Εάν η διεύθυνση προορισμού δεν βρίσκεται στον πίνακα αυτό, τότε το ARP θα προσπαθήσει να την ανακαλύψει, στέλνοντας ένα μήνυμα ARP. Το μήνυμα αυτό θα περιέχει την IP και την φυσική διεύθυνση της πηγής και την διεύθυνση IP του προορισμού, της οποίας την αντίστοιχη φυσική αναζητεί. Το μήνυμα αυτό μπορεί να σταλεί είτε με καθολική εκπομπή (broadcast), είτε σε συγκεκριμένο σταθμό εργασίας. Στην περίπτωση καθολικής εκπομπής ο σταθμός ο οποίος αναζητείται, θα αναγνωρίσει την διεύθυνση IP του στο μήνυμα ARP και θα προχωρήσει στην επεξεργασία του μηνύματος. Στην περίπτωση χρήσης τρίτου σταθμού, ο σταθμός αυτός θα εκτελέσει τις ίδιες λειτουργίες. National Technical University of Athens Τεχνολογίες Διαδικτύου
Λειτουργία του ARP (2) 3. Στην αρχή, το ARP θα ενημερώσει το δικό του τοπικό πίνακα δρομολόγησης με το ζευγάρι της IP και της φυσικής διεύθυνσης του σταθμού που έστειλε το μήνυμα, εφόσον δεν υπάρχουν ήδη 4. Στην συνέχεια στέλνει απάντηση στο σταθμό με ένα δεύτερο μήνυμα ARP, το οποίο περιέχει τη μέχρι τώρα άγνωστη φυσική διεύθυνση μαζί με όλα τα άλλα γνωστά στοιχεία 5. Λαμβάνοντας την απάντηση ο πρώτος σταθμός, αρχικά ενημερώνει τον τοπικό του πίνακα δρομολόγησης με το ζευγάρι διευθύνσεων που έλαβε και συνεχίζει όπως στο 2(α). National Technical University of Athens Τεχνολογίες Διαδικτύου
Τάξεις Διευθύνσεων IP Η δημιουργία ενός δικτύου ή η σύνδεση ήδη υπαρχόντων δικτύων απαιτεί την ύπαρξη κάποιου τρόπου διαχωρισμού των υπολογιστών μεταξύ τους Οι διευθύνσεις είναι αριθμοί των 32 bits Έχουν κάποια συγκεκριμένη μορφή Η διεύθυνση αποτελείται από 4 δεκαδικούς αριθμούς (έναν για κάθε byte) χωρισμένους με τελείες Τα δίκτυα χωρίζονται σε τάξεις ανάλογα με τον τρόπο που κατανέμουν τα bits της διεύθυνσης σε κάθε πεδίο Οι κύριες τάξεις είναι οι Α, Β, C, κάθε μια από τις οποίες προορίζεται για χρήση σε διαφορετικού μεγέθους δίκτυο Η τάξη στην οποία ανήκει κάθε δίκτυο μπορεί να αναγνωριστεί από τη θέση του πρώτου μηδενικού στα τέσσερα πρώτα bits της διεύθυνσής του Τα bits που υπολείπονται καθορίζουν δύο άλλα υποπεδία, ένα αναγνωριστικό δικτύου (netid) και ένα αναγνωριστικό κόμβου (hostid) National Technical University of Athens Τεχνολογίες Διαδικτύου
Τάξεις Διευθύνσεων Για την τάξη Α το netid έχει μήκος 1 byte και το hostid 3 bytes. Στο netid το πρώτο bit είναι πάντα μηδέν. Μπορούμε να έχουμε μέχρι 126 υποδίκτυα τάξης Α και μέχρι 16 εκατομμύρια κόμβους στο καθένα Για την τάξη Β το netid έχει μήκος 2 bytes και το hostid έχει επίσης μήκος 2 bytes. Στο netid τα δύο πιο σημαντικά ψηφία είναι πάντα 1 0. Σε κάθε δίκτυο μπορούμε να έχουμε περίπου 16 χιλιάδες υποδίκτυα τάξης Β με 65 χιλιάδες κόμβους στο καθένα. Το υποδίκτυο του Ε.Μ.Π. είναι τάξης Β με netid 147.102 Τέλος για την τάξη C έχουμε netid με μήκος 3 bytes ενώ το hostid έχει μήκος 1 byte Στο netid έχουμε τα τρία πιο σημαντικά bit να είναι πάντα 1 1 0 Σε κάθε δίκτυο έχουμε 2 εκατομμύρια περίπου υποδίκτυα τάξης C με 256 κόμβους στο καθένα National Technical University of Athens Τεχνολογίες Διαδικτύου
Τάξεις δικτύων National Technical University of Athens Τεχνολογίες Διαδικτύου
Διευθύνσεις ΙP Τάξη A B C D 32 bits net host 10 net host 110 net host 1.0.0.0 to 127.255.255.255 net host B 128.0.0.0 to 191.255.255.255 10 net host 192.0.0.0 to 223.255.255.255 C 110 net host 224.0.0.0 to 239.255.255.255 D 1110 multicast address 32 bits National Technical University of Athens Τεχνολογίες Διαδικτύου
Παράδειγμα Σημείο προσαρμογής: σύνδεση μεταξύ τερματικού/δρομολογητή και ζεύξης Οι δρομολογητές έχουν πολλά σημεία προσαρμογής Ένα τερματικό μπορεί να έχει πολλαπλά σημεία προσαρμογής Διευθύνσεις IP είναι συσχετισμένες με σημεία προσαρμογής 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 National Technical University of Athens Τεχνολογίες Διαδικτύου
Δρομολόγηση datagram από την πηγή στον προορισμό Πίνακας δρομολόγησης Α misc fields Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.3 data Πηγή το Α, προορισμός το B: Ψάξε για διεύθυνση δικτύου του B στον πίνακα δρομολόγησης Βρίσκει ότι B στο ίδιο δίκτυο με Α Στρώμα ζεύξης θα στείλει απευθείας το datagram στο B Το B και το A είναι απευθείας συνδεδεμένα 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E National Technical University of Athens Τεχνολογίες Διαδικτύου
Δρομολόγηση datagram από την πηγή στον προορισμό Πίνακας δρομολόγησης Α misc fields Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.3 data Πηγή το Α, προορισμός το B: Ψάξε για διεύθυνση δικτύου του Ε στον πίνακα δρομολόγησης E σε διαφορετικό δίκτυο A, E δεν είναι απευθείας συνδεδεμένα Πίνακας δρομολόγησης: επόμενος δρομολογητής για το E είναι ο 223.1.1.4 Το στρώμα ζεύξης στέλνει datagram στο δρομολογητή 223.1.1.4 datagram φτάνει 223.1.1.4 συνέχεια….. 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E National Technical University of Athens Τεχνολογίες Διαδικτύου
Δρομολόγηση datagram από την πηγή στον προορισμό Πίνακας δρομολόγησης στο δρομολογητή Dest. Net router Nhops interface 223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9 223.1.3 - 1 223.1.3.27 misc fields 223.1.1.1 223.1.2.3 data Φτάνει στο 223.1.4, προορισμός το 223.1.2.2 Ψάχνει τη διεύθυνση δικτύου του E E στο ίδιο δίκτυο όσον αφορά το σημείο προσαρμογής 223.1.2.9 δρομολογητής, E απευθείας συνδεδεμένοι Στρώμα ζεύξης στέλνει datagram στο 223.1.2.2 via interface 223.1.2.9 Το datagram φτάνει στο 223.1.2.2!!! 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E National Technical University of Athens Τεχνολογίες Διαδικτύου
Λειτουργίες κατακερματισμού των μηνυμάτων και επανασύνδεσης Οι ζεύξεις έχουν ένα MTU (maximum transfer unit) Διαφορετικά είδη ζεύξεων, διαφορετικά MTUs Μεγάλα IP datagram κατακερματίζονται μέσα στο δίκτυο Ένα datagram γίνεται πολλά datagrams Επανασυνδέονται στον τελικό προορισμό Πεδίο στην επικεφαλίδα IP χρησιμοποιούνται για να αναγνωρίσουν και να βάλουν στη σειρά τα «fragments» fragmentation: in: one large datagram out: 3 smaller datagrams reassembly National Technical University of Athens Τεχνολογίες Διαδικτύου
Λειτουργίες κατακερματισμού των μηνυμάτων και επανασύνδεσης ID =x offset =0 fragflag length =4000 =1 =1500 =1480 =2960 =1040 Ένα μεγάλο datagram κατακερματίζεται σε πολλά μικρότερα Παράδειγμα 4000 byte datagram MTU = 1500 bytes National Technical University of Athens Τεχνολογίες Διαδικτύου
Το πρωτόκολλο ICMP Τα μηνύματα ICMP μεταφέρουν πληροφορία σχετική με διάφορες δυσλειτουργίες καθώς και λειτουργίες ελέγχου του δικτύου Οι λειτουργίες που είναι πολύ βασικές για την σωστή λειτουργία του δικτύου είναι η αναφορά σφαλμάτων, η δοκιμή δυνατότητας πρόσβασης στον κόμβο, ο έλεγχος συμφόρησης, η ειδοποίηση αλλαγής διαδρομής, η μέτρηση επιδόσεων και η διευθυνσιοδότηση υποδικτύων. Tα μηνύματα ICMP δεν στέλνονται από κάποια εφαρμογή, αλλά χρησιμοποιούνται από το λογισμικό υλοποίησης των πρωτοκόλλων TCP/IP σε ειδικές περιπτώσεις. Έτσι δρομολογητές ή σταθμοί εργασίας, μπορούν να αναφέρουν διάφορα προβλήματα που αφορούν πακέτα IP, στην αρχική πηγή τους, χρησιμοποιώντας το ICMP. National Technical University of Athens Τεχνολογίες Διαδικτύου
Σύνοψη 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1 Αρχές διαδικτύου 1.1 Αναδρομή – εισαγωγή 1.2 Πρωτόκολλα TCP/IP 1.2.1 Διαστρωμάτωση 1.2.2 Μέσα Μετάδοσης 1.3 Το πρωτόκολλο IP 1.3.1 Δρομολόγηση IP 1.3.2 Τάξεις Διευθύνσεων IP 1.3.3 Το πρωτόκολλο ICMP 1.4 Πρωτόκολλα Στρώματος Μεταφοράς 1.4.1 Πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) 1.4.2 Πρωτόκολλο Πακέτων Χρήστη (User Datagram Protocol, UDP) 1.5 Η εξέλιξη της Τεχνολογίας του Διαδικτύου 1.5.1 Το Διαδίκτυο Σήμερα 1.5.2 Το Διαδίκτυο Επόμενης Γενιάς 1.5.3 IPv6 National Technical University of Athens Τεχνολογίες Διαδικτύου
Πρωτόκολλα Στρώματος Μεταφοράς Transmission Control Protocol (TCP) Eίναι μια αξιόπιστη υπηρεσία μεταφοράς με σύνδεση User Datagram Protocol (UDP) Eίναι μια μη αξιόπιστη υπηρεσία μεταφοράς χωρίς σύνδεση National Technical University of Athens Τεχνολογίες Διαδικτύου
Transmission Control Protocol (TCP) Tο TCP εγκαθιστά ένα νοητό κύκλωμα μεταξύ των δύο σταθμών εργασίας Διαδικασία handshaking μεταξύ του αποστολέα και παραλήπτη για εγκατάσταση και επιβεβαίωση σύνδεσης Περνά τα δεδομένα στον προορισμό με την ίδια σειρά με την οποία τα έστειλε η διαδικασία της πηγής Έλεγχος συμφόρησης. Ο αποστολέας δεν θα κατακλύσει τον παραλήπτη Οι εφαρμογές που χρησιμοποιούν το πρωτόκολλο TCP, λαμβάνουν από το λειτουργικό σύστημα δύο αριθμούς προκειμένου η επικοινωνία του να καθορίζεται καλά σε σχέση με άλλες επικοινωνίες διεργασιών μεταξύ των δύο ίδιων μηχανημάτων. Οι αριθμοί που λαμβάνουν ονομάζονται TCP port numbers Η μεταφορά δεδομένων με TCP είναι full-duplex (αμφίδρομη), δηλαδή μπορούμε να έχουμε ταυτόχρονη μεταφορά δεδομένων και προς τις δύο κατευθύνσεις. Η μονάδα πληροφορίας στο TCP ονομάζεται TCP segment. Χρησιμοποιεί επιβεβαιώσεις, αριθμεί τα πακέτα Χρήση buffers σε αποστολέα και παραλήπτη National Technical University of Athens Τεχνολογίες Διαδικτύου
Το πακέτο TCP source port # dest port # application data 32 bits application data (variable length) sequence number acknowledgement number Receive window Urg data pnter checksum F S R P A U head len not used Options (variable length) URG: urgent data (generally not used) counting by bytes of data (not segments!) ACK: ACK # valid PSH: push data now (generally not used) # bytes rcvr willing to accept RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP)
Περισσότερα για το TCP Κάθε TCP segment έχει έναν μοναδικό αριθμό που το αναγνωρίζει σε σχέση με τα άλλα πακέτα Προορισμός στέλνει επιβεβαίωση μόλις λάβει πακέτο Μη επιβεβαιωμένο πακέτο επαναμεταδίδεται Εάν ίδιο πακέτο επαναμεταδοθεί απορρίπτεται από παραλήπτη National Technical University of Athens Τεχνολογίες Διαδικτύου
Τα πεδία Sequence and Acknowledgement number Εξασφαλίζουν αξιόπιστη μεταφορά των δεδομένων Το Sequence number αναφέρονται στον αριθμό των μεταδιδόμενων bytes για μια ροή πακέτων και όχι σειρά των μεταδιδόμενων segments Έστω αρχείο των 500.000bytes MSS είναι 500Bytes και το πρώτο byte στην ροή δεδομένων αριθμείται ως 0 Έχουμε 500 segments, το πρώτο έχει sequence number 0, το δεύτερο 1000, το τρίτο 2000 .... National Technical University of Athens Τεχνολογίες Διαδικτύου
Τα πεδία Sequence and Acknowledgement number TCP είναι full duplex Οπότε ένα τερματικό Α μπορεί να στέλνει στο Β αλλά και να λαμβάνει ταυτόχρονα από αυτό Κάθε segment που φτάνει από το Β έχει ένα sequence number To acknowledgment number που το τερματικό A βάζει στο segment είναι το sequence number του επόμενου byte που περιμένει να λάβει από τον B National Technical University of Athens Τεχνολογίες Διαδικτύου
Τα πεδία Sequence and Acknowledgement number Παράδειγμα 1 Έστω ότι ο A έχει λάβει τα bytes με αριθμούς από 0 έως 535 από τον B και θεωρούμε ότι πρόκειται να στείλει ένα segment στον B Με άλλα λόγια ο A περιμένει το byte 536 και όλα τα επόμενα bytes Επομένως ο A βάζει το 536 στο πεδίο acknowledgment number field του segment που στέλνει στο B Παράδειγμα 2 Ο Α έχε λάβει το τρίτο segment (bytes 900 έως 1,000) πριν λάβει το δεύτερο segment (bytes 536 έως 899) Έτσι το τρίτο segment έφτασε εκτός σειράς Τι κάνει λοιπόν ένα τερματικό όταν λάβει TCP segments εκτός σειράς? National Technical University of Athens Τεχνολογίες Διαδικτύου
Telnet: Μελέτη για τα Sequence and Acknowledgment Numbers Seq. #’s: Αρίθμηση του πρώτου byte σε ένα segment ACKs: seq # του επόμενου byte που αναμένεται από την άλλη πλευρά Q: πως μπορούμε να χειριστούμε εκτός σειράς segments Απόρριψη Αποθήκευση αυτών μέχρι να έρθουν κομμάτια που λείπουν για να συμπληρώσουν τα κενά Host A Host B User types ‘C’ Seq=42, ACK=79, data = ‘C’ host ACKs receipt of ‘C’, echoes back ‘C’ Seq=79, ACK=43, data = ‘C’ host ACKs receipt of echoed ‘C’ Seq=43, ACK=80 time simple telnet scenario National Technical University of Athens Τεχνολογίες Διαδικτύου
User Datagram Protocol (UDP) [RFC768] Eπιτρέπει στις εφαρμογές TCP/IP να ανταλλάζουν μονοσήμαντα ανεξάρτητα μηνύματα πληροφορίας πάνω από ένα δίκτυο σε ένα περιβάλλον πολυεπεξεργασίας Το πρωτόκολλο UDP προσφέρει μια μη αξιόπιστη υπηρεσία μεταφοράς χωρίς σύνδεση, χρησιμοποιώντας το πρωτόκολλο IP για τη μεταφορά των μηνυμάτων μεταξύ μηχανών Δεν χρησιμοποιεί επιβεβαιώσεις, δεν αριθμεί τα μηνύματα και δεν ελέγχει τη ροή τους. Έτσι ένα μήνυμα UDP μπορεί να χαθεί ή να φτάσει σε δύο αντίγραφα, ή ακόμα να φτάσουν μηνύματα UDP σε λανθασμένη σειρά Κάθε μονάδα πληροφορίας του UDP ονομάζεται επίσης datagram Όπως στο TCP έτσι και εδώ ζευγάρια αριθμών 16 bit χρησιμοποιούνται για να ξεχωρίζουν τις διεργασίες που επικοινωνούν National Technical University of Athens Τεχνολογίες Διαδικτύου
Γιατί χρησιμοποιείται το UDP? Δεν υπάρχει εγκατάσταση σύνδεσης που μπορεί να προκαλέσει επιπλέον καθυστέρηση Είναι απλό: δεν διατηρείται κατάσταση σύνδεσης στον αποστολέα, παραλήπτη Μικρή επικεφαλίδα Όχι έλεγχος συμφόρησης: UDP can blast away as fast as desired National Technical University of Athens Τεχνολογίες Διαδικτύου
Το πακέτο UDP Το UPD χρησιμοποιείται από streaming multimedia εφαρμογές Ανεκτικές στις απώλειες πακέτων Ευαίσθητες στον ρυθμό μετάδοσης 32 bits source port # dest port # Μήκος του πακέτου UDP, μαζί με την επικεφαλίδα length checksum Application data (message) UDP segment format National Technical University of Athens Τεχνολογίες Διαδικτύου
Η εξέλιξη της Τεχνολογίας του Διαδικτύου Το ΙΡ σχεδιάστηκε με μεγάλη απλότητα Δεν είναι, όμως, ικανό να αντεπεξέλθει στις νέες απαιτήσεις του Διαδικτύου, το οποίο γνωρίζει μία εκρηκτική πρόοδο, ιδιαίτερα στις μέρες μας Η προφανής λύση είναι να αυξήσουμε τη χωρητικότητα των γραμμών ώστε να εξυπηρετούνται περισσότεροι χρήστες και / ή πιο απαιτητικές (σε χωρητικότητα) εφαρμογές. Το πρόβλημα, όμως, είναι κάτι παραπάνω από πρόβλημα διασφάλισης χωρητικότητας Το ζήτημα είναι πως η κίνηση στο Διαδίκτυο δεν έχει αλλάξει μόνο ως προς τον όγκο της, αλλά και ως προς τη φύση της Εμφανίστηκαν πολλοί νέοι τύποι κίνησης από πολλές νέες εφαρμογές βασισμένες στην τεχνολογία ΙΡ, οι οποίες αναπόφευκτα διαφέρουν σε μεγάλο βαθμό όσον αφορά τις λειτουργικές τους απαιτήσεις ~320 million χρήστες 2000 : ~550 million χρήστες μέχρι το 2005 National Technical University of Athens Τεχνολογίες Διαδικτύου
Το Διαδίκτυο Επόμενης Γενιάς Next Generation IP, IPnG Ο αρχικός λόγος που οδήγησε στο IPnG ήταν η εξάντληση του χώρου διευθύνσεων IPv6 National Technical University of Athens Τεχνολογίες Διαδικτύου
Κριτήρια για το ΙΡ επόμενης γενιάς (IPnG) Επεκτασιμότητα – Ευελιξία Τοπολογίας – Επίδοση – Στιβαρή Υπηρεσία Μετάβαση Ανεξαρτησία Μέσου – Μη-αξιόπιστη Υπηρεσία Datagram – Ρύθμιση Ασφάλεια Διευθύνσεις Πολλαπλών Προορισμών (Multicast) Κινητές Επικοινωνίες Ποιότητα Υπηρεσίας National Technical University of Athens Τεχνολογίες Διαδικτύου
Το πρωτόκολλο IPv6 Μεγαλύτερες διευθύνσεις Ευελιξία στο σχήμα (format) της επικεφαλίδας Εξελιγμένες επιλογές Υποστήριξη ανάθεσης πόρων Πρόληψη επέκτασης του πρωτοκόλλου Δομημένη ιεραρχία για χειρισμό μεγέθους πίνακα δρομολόγησης National Technical University of Athens Τεχνολογίες Διαδικτύου
Σχήμα (format) Επικεφαλίδας IPv6 Συνολικά, έχει μόνο 8 πεδία από τα 13 που υπήρχαν παλιά Επίσης, το μήκος της παύει να είναι μεταβλητό και σταθεροποιείται στις 40 οκτάδες. Επομένως, δεν υπάρχει λόγος ύπαρξης ειδικού πεδίου που να αποθηκεύει το μήκος της επικεφαλίδας Το μόνο πεδίο που παραμένει ίδιο και στις δύο εκδόσεις είναι το πεδίο έκδοσης 4 ψηφίων (bits) National Technical University of Athens Τεχνολογίες Διαδικτύου
Σχήμα (format) Επικεφαλίδας 31 Version Class Flow Label Payload Length Next Header Hop Limit 128 bit Source Address 128 bit Destination Address 4 12 24 16 National Technical University of Athens Τεχνολογίες Διαδικτύου
Τα σκιασμένα πεδία λείπουν από την επικεφαλίδα IPv6 4 8 16 24 31 Ver IHL Service Type Total Length Identifier Flags Fragment Offset Time to Live Protocol Header Checksum 32 bit Source Address 32 bit Destination Address Options and Padding Τα σκιασμένα πεδία λείπουν από την επικεφαλίδα IPv6 National Technical University of Athens Τεχνολογίες Διαδικτύου
Διευθύνσεις Το μήκος τους είναι 128 ψηφία (bits) και γράφονται με δεκαεξαδική μορφή σαν 8 ακέραιους 16 ψηφίων (bits) χωρισμένα με “:” (άνω-κάτω τελεία) Οι διευθύνσεις ανήκουν σε έναν από τους εξής τύπους: Unicast, Multicast, Anycast Oι νέες διευθύνσεις δεν έχουν προκαθορισμένη δομή Δεν υπάρχουν σαφή διαχωριστικά ανάμεσα σε δίκτυο, υποδίκτυο και ταυτότητες διαπροσωπειών National Technical University of Athens Τεχνολογίες Διαδικτύου
IPv6 -Μοντέλο Διευθυνσιοδότησης Οι διευθύνσεις αποδίδονται στα σημεία προσαρμογής Καμία αλλαγή από το το IPv4 Model Το σημείο εφαρμογής αναμένεται να έχει πολλαπλές διευθύνσεις Οι διευθύνσεις έχουν εύρος Link Local Site Local Global Οι διευθύνσεις έχουν διάρκεια ζωής έγκυρη και προτιμόμενη διάρκεια ζωής Link-Local Site-Local Global National Technical University of Athens Τεχνολογίες Διαδικτύου
IPv6 Timeline (A pragmatic projection) Q1 Q2 Q3 Q4 2007 2004 2003 2000 2001 2002 2005 2006 Consumer adoption <= Duration 5+ years Application porting <= Duration 3+ years Early adopter => Enterprise adoption <= Duration 3+ years => adoption <= Duration 3+ years ISP National Technical University of Athens Τεχνολογίες Διαδικτύου
Transition / Co-Existence Techniques Μια μεγάλη σειρά τεχνικών έχουν προσδιοριστεί και πραγματοποιηθεί, που ταξινομούνται σε 3 κατηγορίες: (1) dual-stackτεχνικές, για να επιτρέψουν στο IPv4 και IPv6 να συνυπάρξουν στις ίδιες μηχανές και δίκτυα (2) tunneling τεχνικές, για την αποφυγή εξάρτησης από την σειρά όταν γίνεται upgrade hosts, routers, or regions (3) translation τεχνικές, για να επιτρέψουν σε IPv6-only devices να επικοινωνούν με IPv4-only devices Αναμένεται όλα αυτά να χρησιμοποιηθούν σε συνδυασμό IPv6 Enterprise IPv4 Enterprise IPv4/v6 Enterprise Service Provider IPv4/IPv6 Backbone IPv4 Enterprise IPv6 Router Translating Gateway IPv4/v6 Enterprise National Technical University of Athens Τεχνολογίες Διαδικτύου