Πανεπιστήμιο Πειραιά
Διάρθρωση Δρομολόγηση (επανάληψη-υπενθύμιση) Ορισμός αλγορίθμου δρομολόγησης Στόχος δρομολόγησης Κατηγοριοποίηση αλγορίθμων δρομολόγησης Δρομολόγηση στο Internet Πρωτόκολλο IP (Internet Protocol)
NL-Δρομολόγηση: ορισμός αλγορίθμου δρομολόγησης Δρομολόγηση (routing) είναι η βασικότερη λειτουργία του επιπέδου δικτύου Αλγόριθμος δρομολόγησης είναι το τμήμα εκείνο του λογισμικού του επιπέδου δικτύου, που είναι υπεύθυνο να αποφασίσει σε ποια γραμμή εξόδου θα πρέπει να μεταδοθεί ένα εισερχόμενο πακέτο Διάκριση αλγορίθμου δρομολόγησης από διαδικασία προώθησης Αλγόριθμος δρομολόγησης: λήψη της απόφασης σχετικά με τα δρομολόγια που θα ακολουθηθούν Διαδικασία προώθησης: η ενέργεια που εκτελείται όταν φτάσει ένα πακέτο.
NL-Δρομολόγηση: ορισμός αλγορίθμου δρομολόγησης Χαρακτηριστικά αλγορίθμου δρομολόγησης πρέπει να είναι η ορθότητα, απλότητα, ανθεκτικότητα, σταθερότητα, δικαιοσύνη, βέλτιστη απόδοση Ανθεκτικότητα: ο αλγόριθμος πρέπει να είναι σε θέση να αντιμετωπίσει τις αλλαγές στην τοπολογία του δικτύου & την κίνηση Σταθερότητα: ο αλγόριθμος να φτάνει γρήγορα σε μία κατάσταση ισορροπίας και να παραμένει εκεί Δικαιοσύνη & βέλτιστη απόδοση: συχνά αντικρουόμενοι στόχοι => χρειάζεται κάποιος συμβιβασμός ανάμεσα στην συνολική απόδοση & τη δίκαιη μεταχείριση των μενονομένων συνδέσεων.
NL-Δρομολόγηση: στόχοι αλγορίθμων δρομολόγησης Στόχος αλγορίθμων δρομολόγησης είναι η βελτιστοποίηση μέσης καθυστέρησης ανά πακέτο και του throughput (διεκπεραιωτική ικανότητα) του δικτύου Οι στόχοι αυτοί είναι αντικρουόμενοι Οταν ένα σύστημα αναμονής λειτουργεί κοντά στα όρια της χωρητικότητάς του, τότε θα είναι μεγάλη η συνιστώσα της καθυστέρησης που οφείλεται στην αναμονή ανά πακέτο Απαιτείται συμβιβασμός μεταξύ των στόχων Οι περισσότεροι αλγόριθμοι ελαχιστοποιούν τον αριθμό των κόμβων, από τους οποίους θα πρέπει να διέλθει ένα πακέτο, στην διαδρομή από πηγή έως προορισμό Θεωρείται ότι η προσέγγιση αυτή τείνει να μειώσει την καθυστέρηση και την ποσότητα του εύρους ζώνης που καταναλώνεται
NL-Δρομολόγηση: Κατηγοριοποίηση αλγορίθμων δρομολόγησης Κατηγοριοποίηση αλγορίθμων δρομολόγησης Στην στατική, ή μη-προσαρμοστική, δρομολόγηση οι δρόμοι μεταξύ κόμβων υπολογίζονται προκαταβολικά και μεταφέρονται στους δρομολογητές κατά την εκκίνηση του δικτύου Στην προσαρμοστική δρομολόγηση, οι δρομολογητές μεταβάλλουν τις αποφάσεις τους ανάλογα τις αλλαγές στην τοπολογία και στην κίνηση στο δίκτυο
NL-Δρομολόγηση στο Ιnternet Το Internet διαιρείται σε Αυτόνομα Συστήματα (Autonomous Systems - AS) Υπάρχει ανάγκη για δρομολόγηση μέσα σε AS (intradomain routing), όσο και για δρομολόγηση μεταξύ των AS (interdomain routing) Με τον όρο Internal Gateway Protocol (IGP) αναφερόμαστε στο πρωτόκολλο και στις μεθόδους δρομολόγησης εντός του AS: ανεξάρτητο για κάθε AS Με τον όρο Border Gateway Protocol (BGP) ή External Gateway Protocol (EGP) (Πρωτόκολλο Συνοριακής Πύλης Δικτύου) αναφερόμαστε στο πρωτόκολλο και στις μεθόδους δρομολόγησης μεταξύ των AS: κοινό για όλα τα AS
NL-Δρομολόγηση στο Ιnternet Το Open Shortest Path First (OSPF) (Ανοιχτό πρωτόκολλο Προτεραιότητας Συντομότερης Διαδρομής) [RFC 2328] είναι η μέθοδος IGP που χρησιμοποιείται σήμερα Το BGP [BGP-4 RFC 4271] βασίζεται σε τεχνικές distance vector routing
NL-Δρομολόγηση: OSPF WAN 1 WAN 2 A B C D E F LAN 1 H I J LAN 2 G WAN 3 Το OSPF δίνει την δυνατότητα μοντελοποίησης διαφόρων στοιχείων, τα οποία μπορεί να περιλαμβάνονται σε ένα AS Ενα AS περιλαμβάνει δρομολογητές και πιθανόν LANs και WANs (τα τερματικά παραλείπονται επειδή γενικά δεν παίζουν ρόλο στον ΟSFP) Κάθε AS αντιστοιχίζεται σε έναν κατευθυντικό γράφο (directed graph) Τα κόστη στις ακμές δεν είναι συμμετρικά Κάθε κόμβος μαθαίνει τοπολογία και κόστη, και εφαρμόζει αλγόριθμο εύρεσης των καλύτερων διαδρομών
NL-Δρομολόγηση: OSPF W1 10 12 A B C 4 D 6 E 8 W2 16 F 2 3 L1 2 G Το OSPF δίνει την δυνατότητα μοντελοποίησης διαφόρων στοιχείων, τα οποία μπορεί να περιλαμβάνονται σε ένα AS Ενα AS περιλαμβάνει δρομολογητές και πιθανόν LANs και WANs Κάθε AS αντιστοιχίζεται σε έναν κατευθυντικό γράφο (directed graph) Τα κόστη στις ακμές δεν είναι συμμετρικά 3 17 Κάθε κόμβος μαθαίνει τοπολογία και κόστη, και εφαρμόζει αλγόριθμο εύρεσης των καλύτερων διαδρομών H W3 13 12 1 I 3 L2 4 2 J
NL-Δρομολόγηση: OSPF WAN 1 WAN 2 A B C D E F LAN 1 H I J LAN 2 G W1 10 12 WAN 3 A B C 4 D 6 E 8 W2 16 F 2 3 L1 2 G 3 17 13 H 1 12 W3 I 3 L2 4 2 J Τα τόξα από τους κόμβους δικτύων προς τους δρομολογητές έχουν βάρος 0 Αναπλ. Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: μοντελοποίηση περιφερειών ενός AS AS 1 Backbone Network Backbone Network Router Edge Router AS Το OSPF δίνει την δυνατότητα μοντελοποίησης των περιφερειών (areas), στις οποίες μπορεί να είναι οργανωμένο ένα AS Area Edge Router Μια περιφέρεια είναι ένα υποσύνολο του AS Area Οι περιφέρειες είναι μηεπικαλυπτόμενες Internal Router AS 2 AS 3 Μπορεί τμήματα του AS να μην ανήκουν σε κάποια περιφέρεια Η δομή μιας περιφέρειας δε γίνεται γνωστή σε κόμβους εκτός BGP Protocol interconnects the AS Ενας εσωτερικός κόμβος υπολογίζει τις καλύτερες διαδρομές προς όλους τους κόμβους της περιφέρειας, συμπεριλαμβανομένων αυτών που παρέχουν διασύνδεση με άλλες περιφέρειες Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: περιφέρεια backbone δικτύου ενός AS AS 1 Area Edge Router Internal Router AS 2 Backbone Network Backbone Network Router Area Edge Router AS AS 3 Οταν υπάρχει οργάνωση σε περιφέρειες, υπάρχει μια περιφέρεια (area-0), η οποία ονομάζεται backbone δικτύου (δίκτυο σπονδυλική στήλη) Ο ρόλος της είναι να διασυνδέει τις υπόλοιπες περιφέρειες, καθώς και να παρέχει τη διασύνδεση με άλλες AS Οι κόμβοι που συνδέουν δυο περιφέρειες ανήκουν στην backbone περιφέρεια BGP Protocol interconnects the AS Ενας κόμβος που συνδέει πολλές περιφέρειες εφαρμόζει τους αλγορίθμους εύρεσης των καλύτερων διαδρομών χωριστά Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: είδη δρομολογήσεων AS 1 Area Edge Router Internal Router AS 2 Backbone Network Backbone Network Router Area Edge Router AS AS 3 BGP Protocol interconnects the AS Τρία είδη δρομολογήσεων Εντός μιας περιφέρειας, κατά την οποία ο δρομολογητής πηγή ξέρει τον τρόπο να φθάσει στον δρομολογητή προορισμό Μεταξύ περιφερειών, κατά την οποία εμπλέκονται οι δυο περιφέρειες καθώς και η περιφέρεια backbone δικτύου (μεταβιβάζει πληροφορίες κόστους όταν υπάρχει περισσότεροι από έναν για μία περιφέρεια-αλλά όχι όλες τις λεπτομέρειες της τοπολογίας μέσα στην περιφέρεια) Μεταξύ AS Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: είδη δρομολογητών AS 1 Area Edge Router Internal Router AS 2 Backbone Network Backbone Network Router Area Edge Router AS AS 3 BGP Protocol interconnects the AS Τέσσερα είδη δρομολογητών Εσωτερικοί δρομολογητές (Ιnternal routers) οι οποίοι βρίσκονται εντός μιας περιφέρειας Συνοριακοί δρομολογητές περιφέρειας (Area edge routers), οι οποίοι συνδέονται σε δύο ή περισσότερες περιφέρειες Δρομολογητές backbone δικτύου (Backbone network routers) Συνοριακοί δρομολογητές AS, οι οποίοι συνδέονται με δρομολογητές άλλων AS (Βorder Router-BR): Το BGP αποτελεί μέρος της λειτουργικότητας του BR Οι παραπάνω κλάσεις μπορεί να επικαλύπτονται Οι συνοριακοί είναι μέρος της περιφέρειας του backbone δικτύου Μπορεί ένας δρομολογητής να είναι εσωτερικός της περιφέρειας backbone δικτύου, δηλαδή να μη διασυνδέει άλλες περιφέρειες Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: OSFP updates-protocol messages Hello «Χαιρετισμός» για την ανακάλυψη γειτονικών δρομολογητών Database Description Πληροφορίες για την τοπολογία της περιοχής Link State Request Αίτημα για επικαιροποιημένη πληροφορία από δρομολογητή για συγκεκριμένες συνδέσεις Link State Acknowledgment Επιβεβαίωση λήψη πληροφορίας => αύξηση αξιοπιστίας Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: Distance vector routing (DVR), πίνακας δρομολόγησης Distance vector routing δρομολόγηση με διανύσματα απόστασης Κάθε δρομολογητής διατηρεί έναν πίνακα (διάνυσμα), οοποίος δίνει τη συντομότερη απόσταση προς κάθε γνωστό προορισμό, καθώς και τη γραμμή που πρέπει να χρησιμοποιηθεί Οι πίνακες ενημερώνονται μέσω ανταλλαγών με τους γείτονες Δομή πίνακα δρομολόγησης Εχει μια γραμμή ανά γνωστό δρομολογητή στο δίκτυο (έχει τόσες γραμμές όσοι οι γνωστοί δρομολογητές στο δίκτυο Για κάθε δρομολογητή (σε κάθε γραμμή) κρατάει Την εκτιμώμενη καθυστέρηση Τη γραμμή εξόδου μέσω της οποίας πάμε στον επόμενο κόμβο, που βρίσκεται στην διαδρομή προς τον προορισμό
NL-Δρομολόγηση: SPR, DVR, ενημέρωση πίνακα δρομολόγησης Κάθε Τ msec κάθε δρομολογητής λαμβάνει τους πίνακες δρομολόγησης των γειτόνων του Εστω ότι κάποιος δρομολογητής Α μαθαίνει, απότογείτονα Χ, ότι η εκτιμώμενη καθυστέρηση, από Χ στον i, είναι X i msec Αν η εκτιμώμενη καθυστέρηση από Α σε Χ είναι t Χ msec, ο Α μπορεί να εκτιμήσει ότι η καθυστέρηση από Α στον i είναι (t Χ + X i ) msec Ο Α μπορεί να εκτελέσει τον παραπάνω υπολογισμό για κάθε γείτονα Ο Α θα κρατήσει ανά προορισμό (γραμμή του πίνακα δρομολόγησης) την καλύτερη καθυστέρηση και την αντίστοιχη γραμμή εξόδου (που δίνει την καθυστέρηση)
NL-Δρομολόγηση: DVR,παράδειγμα Router A B C D To A A I H K 0 24 20 21 New Estimated Delay from J 8 A E F G H B C 12 25 36 18 31 19 28 36 20 A 28 I I J K L D 40 27 8 24 20 H Εστω ότι ο J έχει υπολογίσει τις καθυστερήσεις προς τους γείτονες του D(J,A)=8, D(J,I)=10, D(J,H)=12, D(J,K)=6 Επίσης ο J λαμβάνει πίνακες καθυστέρησης από γείτονες του Ο Α έχει μάθει ότι D(A,Β)=12, D(A,C)=25, D(A,D)=49, κλπ Με βάση τους πίνακες καθυστέρησης των γειτόνων, και τις καθυστερήσεις προς τους γείτονες, ενημερώνεται ο πίνακας δρομολόγησης (τελευταία στήλη) E F G H I J K L 14 23 18 17 21 9 24 29 7 20 31 20 0 11 22 33 30 19 6 0 14 7 22 9 22 40 31 19 22 10 0 9 17 I 30 I 18 H 12 H 10 I 0-6 K 15 K Καθηγ. Π.Δεμέστιχας
NL-Δρομολόγηση: DVR,αλγόριθμοι κατηγορίας Υπάρχουν αρκετοί αλγόριθμοι οι οποίοι εντάσσονται στην κατηγορία «αλγόριθμοι δρομολόγησης με διανύσματα απόστασης» Αλγόριθμος Bellman-Ford Αλγόριθμος Ford-Fulkerson Αλγόριθμος Routing Internet Protocol (RIP) Χρησιμοποιήθηκε στο Internet, για intra-as routing, πριν την εισαγωγή και καθιέρωση του Open Shortest Path First (OSPF)
NL-Δρομολόγηση: SPR, DVR, Border Gateway Protocol (BGP), πολιτικές Διαφορές μεταξύ BGP και IGP Στο BGP πρέπει να ληφθούν υπόψη ζητήματα πολιτικής Ενδέχεται να μην πρέπει να περνάει κίνηση από κάποιο AS Ενδέχεταιναμηνπρέπειναμεταφέρεταικίνησηπουπροέρχεταιαπό,ή κατευθύνεται προς, κάποιο AS Παράδειγμα 1: Να μην μεταφέρεται εμπορική κίνηση μέσω ενός Πανεπιστημιακού δικτύου Παράδειγμα 2: Η κίνηση του κράτους Α να μην περιλαμβάνει δρομολόγια μέσω του κράτους Β που βρίσκονται σε εμπόλεμη κατάσταση Στο IGP δεν είναι τόσο σύνηθες το να υπάρχουν τέτοιες πολιτικές, αντίθετα η προτεραιότητα είναι η αποτελεσματική διακίνηση του φορτίου
NL-Δρομολόγηση: Border Gateway Protocol (BGP), πολιτικές Πολιτικές Κατά κανόνα για κάθε AS είναι επιθυμητήηλήψηαπό, και η αποστολή προς, οποιοδήποτε άλλο AS Πιθανόν όμως να μην είναι επιθυμητή η μεταφορά φορτίου που προέρχεται από ξένο AS και προορίζεται για ξένο AS Λόγοι ασφάλειας Απουσία σχετικής συμφωνίας Από τη άλλη πλευρά, υπάρχουν τηλεπικοινωνιακοί φορείς οι οποίοι κάνουν συμφωνίες και πληρώνονται προκειμένου να μεταφέρουν διερχόμενη κίνησης μεταξύ AS
NL-Δρομολόγηση: Border Gateway Protocol (BGP), δίκτυο BR Δίκτυο BGP, αποτελείται από τους BR δρομολογητές, και μοντελοποιείται μέσω γράφου Κόμβοι του γράφου είναι οι BR (δρομολογητές οι οποίοι συνδέουν τα AS με το υπόλοιπο δίκτυο) Οι ακμές του γράφου συνδέσεις μεταξύ των BR Δυο AS θεωρούνται συνδεδεμένα αν υπάρχει φυσική σύνδεση μεταξύ των BR τους (δρομολογητών που συνδέουν τα AS με το υπόλοιπο δίκτυο) Είδη AS Stub networks, είναι τα AS τα οποία έχουν μόνο μια σύνδεση στο γράφο του BGP Multi-connected networks, είναι τα AS τα οποία ενώ θα μπορούσαν να χρησιμοποιηθούν για να μεταφέρουν φορτίο, αρνούνται να το κάνουν Transit networks, είναι τα AS τα οποία μεταφέρουν φορτίο, πιθανόν με περιορισμούς, συνήθως επί πληρωμή
NL-Δρομολόγηση: Border Gateway Protocol (BGP), αρχές λειτουργίας Μέθοδος BGP λειτουργεί σύμφωνα με τις αρχές distance vector routing Κάθε κόμβος λαμβάνει πληροφορία από τους γείτονες του Πληροφορία από κάθε γειτονικό BR Εκτιμώμενη καθυστέρηση προς κάθε γνωστό προορισμό Δρομολόγιο που χρησιμοποιείται προς κάθε γνωστό προορισμό (η προσέγγιση αυτή λόγω της επιπλέον πληροφορίας ονομάζεται πρωτόκολλο διανύσματος διαδρομής-path vector protocol) Επιπλέον στοιχεία σε σχέση με το κλασσικό distance vector routing Τα στοιχεία αυτά είναι απαραίτητα για την υλοποίηση πολιτικών
NL-Δρομολόγηση: Border Gateway Protocol (BGP), αρχές λειτουργίας Επεξεργασία πληροφορίας Αποκλείονται δρομολόγια τα οποία διέρχονται από «απαγορευμένα» AS (BR) Από τα εναπομείναντα δρομολόγια επιλέγεται το καλύτερο προς κάθε προορισμό
NL-Δρομολόγηση: Border Gateway Protocol (BGP), παράδειγμα E Α Β F I C G D J H Κόμβος F λαμβάνει πληροφορία από τους γείτονες B, E, G, I Επικεντρώνουμε στην αναζήτηση δρομολογίων προς τον κόμβο D Οι γείτονες στέλνουν τις ακόλουθες πληροφορίες Δρομολόγιο από Β: BCD Δρομολόγιο από Ε: EFGCD Δρομολόγιο από G: GCD Δρομολόγιο από I: IFGCD O F απορρίπτει τα δρομολόγια που περνάνε από τον ίδιο (αυτά από I και E) Από τα εναπομείναντα δρομολόγια μπορούν να αποκλειστούν αυτά που παραβιάζουν ζητήματα πολιτικής Από τα εναπομείναντα δρομολόγια επιλέγονται τα καλύτερα Καθηγ. Π.Δεμέστιχας
NL στο Internet Στο ΝL, το Ιnternet μπορεί να θεωρηθεί μία συλλογή δικτύων ή AS, τα οποία διασυνδέονται μεταξύ τους Δεν υπάρχει πραγματική δομή αλλά υπάρχουν πολλά δίκτυα κορμού (backbones). Ta μεγαλύτερα από αυτά, στα οποία συνδέονται όλοι οι άλλοι για να προσπελάσουν το υπόλοιπο Ιnternet, ονομάζονται δίκτυα επιπέδου 1 (tier 1 networks) O συνδετικός ιστός του Ιnternet είναι το πρωτόκολλο δικτύου, το Πρωτόκολλο Ιnternet ήιρ ΗεπικοινωνίαστοΙnternet λειτουργεί με τον εξής τρόπο: Το επίπεδο μεταφοράς δέχεται τις ροές δεδομένων και τις τεμαχίζει ως πακέτα ΙΡ. Οι δρομολογητές ΙΡ προωθούν το κάθε πακέτο μέσω του Ιnternet, από τον δρομολογητή στον επόμενο μέχρι να φτάσει στον τελικό προορισμό. Στον προορισμό, το επίπεδο δικτύου παραδίδει τα δεδομένα στο επίπεδο μεταφοράς, το οποίο τα παραδίδει στην αντίστοιχη εφαρμογή. Καθηγ. Π.Δεμέστιχας
NL: IP, Δομή πακέτου Το πακέτο ΙΡ αποτελείται από ένα τμήμα επικεφαλίδας και ένα τμήμα ωφέλιμου φορτίου. Η επικεφαλίδα έχει ένα σταθερό μέγεθος 20bytes και ένα προαιρετικό τμήμα μεταβλητού μήκους. Τα bit μεταδίδονται από αριστερά προς τα δεξία και από πάνω προς τα κάτω, με 1 ο το bit υψηλής τάξης του πεδίου Version. 32 Bit Version Header Length Type of Service Total Length Identifier D F M F Offset Time To Live (TTL) Protocol Header Checksum Source Address ~ Destination Address Options ~ Αναπλ. Καθηγ. Π.Δεμέστιχας
NL: IP, πεδία πακέτου Version (Έκδοση)είναι η έκδοση του πρωτοκόλλου στην οποία ανήκει το πακέτο (σήμερα κυριαρχεί η έκδοση 4 με 32bit διευθύνσεις) Header length (Μήκος Κεφαλίδας) είναι το μήκος επικεφαλίδας σε λέξεις των 32 bits Η ελάχιστη τιμή είναι 5 καιπροκύπτειότανδενυπάρχειτοπεδίοoptions Η μέγιστη τιμή, δεδομένου ότι το μήκος του πεδίου είναι 4 bits, είναι 15 λέξεις των 32 bits, δηλαδή 60 bytes Αρα το μέγιστο μέγεθος του πεδίου options είναι 10 λέξεις των 32 bits, δηλαδή 40 bytes Αναπλ. Καθηγ. Π.Δεμέστιχας
NL: IP, πεδία πακέτου Type of service (ή Differentiated services Διαφορoποιημένες υπηρεσίες -> νεότερη ονομασία) καθορίζει το χειρισμό που πρέπει να λάβειτοπακέτοαπότοδίκτυο-> συνδυασμός αξιοπιστίας & ταχύτητας Παράδειγμα: για την ψηφιοποιημένη φωνή η γρήγορη παράδοση είναι καλύτερη από την ορθή παράδοση, ενώ για τη μεταφορά αρχέιων η μετάδοση χωρίς σφάλματα είναι πιο σημαντική από την γρήγορη παράδοση Το πεδίο έχει μήκος 6 bits Τα 3 πρώτα bits καθορίζουν τάξεις προτεραιότητας (precedence), οι οποίες μπορεί να είναι μέχρι 8 Τα άλλα 3 bits προσδιορίζουν ποιες παράμετροι από τις delay, throughput, reliability πρέπει να προσεχθεί Αν το bit είναι 1 η παράμετρος έχει σημασία για το πακέτο
NL: IP, πεδία πακέτου Total length είναιτοσυνολικόμήκοςτουπακέτου(επικεφαλίδα και ωφέλιμο) σε bytes Η μέγιστη τιμή είναι 64 Kbytes (για την ακρίβεια 65.535 bytes), αφού το μήκος του πεδίου είναι 16 bits Identification (Αναγνωριστικό) είναι το αναγνωριστικό του datagram (αυτοδύναμο πακέτο) στο οποίο ανήκει ένα fragment (θραύσμα) Ολα τα fragments που ανήκουν στο ίδιο datagram έχουν ίδιο identification
NL: IP, πεδία πακέτου Μετά το Identification υπάρχει ένα μη χρησιμοποιούμενο bit. Προτάθηκε η χρήση αυτού του bit για την ανίχνευση κακόβουλης κίνησης. Στόχος ήταν η απλοποίηση της ασφάλειας καθώς τα πακέτα που θα είχαν ενεργοποιημένο αυτό το bit θα ήταν γνωστό ότι έχουν σταλεί από επιτιθέμενους και θα μπορούσαν απλώς να απορριφθούν. Δυστυχώς, η ασφάλεια δεν είναι τόσο απλή υπόθεση
NL: IP, πεδία πακέτου DF (do not fragment) είναι bit-σημαία που δηλώνει ότι το πακέτο δεν πρέπει να κατακερματιστεί διότι ο δέκτης δεν έχει δυνατότητα συναρμολόγησης MF (more fragments): όλα τα fragments εκτός από το τελευταίο έχουν ενεργοποιημένο αυτό το bit. Αυτό απαιτείται έτσι ώστε να γνωρίζουμε πότε έχουν φτάσει όλα τα fragments ενός αυτοδύναμου πακέτου
NL: IP, πεδία πακέτου To offset (Fragment Offset Σχετική απόσταση θραύσματος) δίνειτηθέσητουfragment στο datagram Εφόσον το μήκος του πεδίου είναι 13 bits μπορούν να υποστηριχθούν μέχρι 8192 fragments ανά datagram Το μήκος του κάθε fragment είναι πολλαπλάσιο των 8 bytes
NL: IP, πεδία πακέτου Time to live (TTL- Χρόνος ζωής) είναι μετρητής που χρησιμοποιείται για τον περιορισμό της ζωής των datagrams Μειώνεται κατά 1 σε κάθε δρομολογητή Οταν μηδενιστεί το πακέτο απορρίπτεται και επιστρέφεται στον αποστολέα ένα πακέτο προειδοποίησης -> αυτό δεν επιτρέπει στα πακέτα να περιπλανιούνται για πάντα, γεγονός που θα μπορούσε να συμβεί αν τύχαινε να αλλοιωθούν οι πίνακες δρομολόγησης
NL: IP, πεδία πακέτου Το πεδίο protocol λέει σε ποια διεργασία του επιπέδου μεταφοράς πρέπει να παραδοθεί το πακέτο (π.χ.udp, TCP) Η αρίθμηση των πρωτοκόλλων είναι κοινή για το Internet. Υπάρχει σε βάση δεδομένων: www.iana.org
NL: IP, πεδία πακέτου Header checksum είναι το άθροισμα ελέγχου της επικεφαλίδας-> χρήσιμο για την ανίχνευση σφαλάτων καθώς τα πακέτα «ταξιδεύουν» στο internet Source Address:η IP διεύθυνση προέλευσης Destination Address: η IP διεύθυνση προορισμού
NL: IP, πεδία πακέτου Options (Επιλογές) Σχεδιάστηκε ώστε να επιτρέπει σε επόμενες εκδόσεις του πρωτοκόλλου να συμπεριλάβουν πληροφορίες που δεν υπήρχαν στην αρχική σχεδίαση. Σήμερα χρησιμοποιούνται σπάνια Έχουν μεταβλητό μήκος. Κάθε επιλογή αρχίζει με έναν κωδικό 1byte που προδιορίζει την επιλογή, ακολουθεί προαιρετικά πεδίο μήκους 1byte και στη συνέχεια ακολουθούν 1 ή περισσότερα bytes δεδομένων. Αρχικά είχαν οριστεί 5 επιλογές Security: δηλώνει πόσο μυστικές είναι οι πληροφορίες Strict source routing (αυστηρή δρομολόγηση προέλευσης): προσδιορίζει την πλήρη διαδρομή από την προέλευση ως τον προορισμό, με τη μορφή μιας ακολουθίας διευθύνσεων ΙΡ. Χρήσιμη για τους διαχειριστές συστημάτων που θέλουν να στείλουν πακέτα έκτακτης ανάγκης όταν έχουν αλλοιωθεί οι πίνακες δρομολόγησης (σε ορισμένες περιπτώσεις τα 40bytes για την καταγραφή του δρομολογίου είναι υπερβολικά λίγα οπότε η επιλογή αυτή είναι σχεδόν «άχρηστη»).
NL: IP, πεδία πακέτου Options (Επιλογές) Αρχικά είχαν οριστεί 5 επιλογές Loose source routing (χαλαρή δρομολόγηση προέλευσης): παρέχει μία λίστα από δρομολογητές από τους οποίους πρέπει να περάσει το πακέτο (ανκαιμπορείναπεράσει& από άλλους δρομολογητές στην πορεία) Record route (καταγραφή δρομολογίου): ζητά από κάθε δρομολογητή να επισυνάψει τη διεύθυνση IP του -> αυτό επιτρέπει στους διαχειριστές να εντοπίζουν σφάλματα στους αλγόριθμους δρομολόγησης Timestamp (χρονοσφραγίδα): ζητά από κάθε δρομολογητή να επισυνάψει τη διεύθυνση IP του & τη χρονοσφραγίδα του -> χρησιμεύει κυρίως για μετρήσεις στο δίκτυο
NL: IPv6 Το ΙPv4 κοντεύει να ξεμείνει από διευθύνσεις:λύση ΙPv6 (RFC 2460-2366) 128bit διευθύνσεις => υποστήριξη δισεκατομμυρίων χρηστών Δεν είναι συμβατό με ΙPv4, αλλά είναι συμβατό με τα άλλα βοηθητικά πρωτόκολλα του Internet (TCP, UDP, OSFP, BGP, DNS κ.ά) Απλοποιημένη επικεφαλίδας => ταχύτερη επεξεργασία στους δρομολογητές => μείωση καθυστέρησης Βελτίωση ασφάλειας Σημασίαστηνποιότηταυπηρεσιών
NL: IP, IPv6 32 Bit Version Traffic Class Flow Label Payload Length Next Label Hop Limit Source Address (16 byte) Destination Address (16 byte) Version έχει την τιμή 6 στο IPv6 Traffic class (Κλάση κίνησης) εκφράζει τις απαιτήσεις σε QoS του πακέτου: τα 2 τελευταία bit χρησιμοποιούνται για ειδοποίηση συμφόρησης
NL: IP, IPv6 32 Bit Version Traffic Class Flow Label Payload Length Next Label Hop Limit Source Address (16 byte) Destination Address (16 byte) Flow label (Ετικέτα ροής) επιτρέπει σε μία προέλευση και έναν προορισμό να σηματοδοτούν ομάδες πακέτων που έχουν τις ίδιες απαιτήσεις και θα πρέπει να αντιμετωπίζονται με τον ίδιο τρόπο από το 20 δίκτυο, σχηματίζοντας μία ψευδοσύνδεση=>επιτρέπει μέχρι 2 ροές ανάμεσα σε συγκεκριμένη προέλευση & προορισμό Payload length (Μήκος ωφέλιμου φορτίου) είναι το μήκος του πακέτου (δεν περιλαμβάνει τα 40 bytes της επικεφαλίδας)
NL: IP, IPv6 32 Bit Version Traffic Class Flow Label Payload Length Next Label Hop Limit Source Address (16 byte) Destination Address (16 byte) Νext label (Επόμενη κεφαλίδα) κάνει εφικτή την ύπαρξη πρόσθετωνπροαιρετικών επικεφαλίδων, Ηop-limit (Όριο αλμάτων) απαγορεύει στο πακέτο να ζει για πάντα Source Address και Destination Address είναι οι διευθύνσεις αποστολέα και προορισμού, αντίστοιχα
NL: IPv4 vs IPv6
NL: IP, διευθύνσεις Κωδικοποιεί το δίκτυο και τον υπολογιστή (το στοιχείο δικτύου) Ετσι κάθε υπολογιστής (στοιχείο δικτύου) έχει μοναδική διεύθυνση Υπολογιστές με n δικτυακές συνδέσεις (network interfaces) έχουν nip διευθύνσεις Το μήκος μιας IP διεύθυνσης είναι 32 bits (=4bytes) Οι ΙΡ διευθύνσεις γράφονται σε δεκαδικό συμβολισμό με τελείες. Κάθε ένα από τα 4bytes γράφεται σε δεκαδική μορφή με τιμές 0 έως 255. Π.χ. ηιρδιεύθυνση193.32.216.9 είναι η 11000001 00100000 11011000 00001001 Η πληροφορία που περιέχει μια IP διεύθυνση είναι της μορφής <Κωδικός δικτύου><κωδικός υπολογιστή>
NL: IP, κλάσεις διευθύνσεων Class A B C D 1 3 0 Network Host 2 2 10 Network Host 3 1 110 Network Host 1110 Broadcast Address (*) για κάθε υποδίκτυο δεσμεύονται 2 διευθύνσεις (χρησιμοποιούνται για την δρομολόγηση) Class A 128 δίκτυα (7 bits για κωδικό δικτύου) 16 = 2 24-2 (*) εκατομμύρια υπολογιστές ανά δίκτυο (3 bytes=24bits για κωδικό υπολογιστή) Εύρος διευθύνσεων: 10.0.0.0-10.255.255.255 & 127.0.0.0-127.255.255.255 Στην πραγματικότητα είναι από 10.0.0.0 έως 126.0.0.0, αφού το υποδίκτυο 127.0.0.0 είναι δεσμευμένο (για έλεγχο loopback). Αντίστοιχα, δεσμευμένα είναι & τα υποδίκτυα 128.0.0.0, 191.255.0.0, 192.0.0.0 & 223.255.255.0 Class B 16.384 δίκτυα (2 14 ), δηλαδή 14 bits για κωδικό δικτύου 65.536 = 2 16-2 υπολογιστές ανά δίκτυο (2 bytes =16bits για κωδικό υπολογιστή) Εύρος διευθύνσεων: 172.16.0.0 έως 172.31.255.255 Καθηγ. Π.Δεμέστιχας
NL: IP, κλάσεις διευθύνσεων Class A B C D 1 3 0 Network Host 2 2 10 Network Host 3 1 110 Network Host 1110 Broadcast Address Class C 2Μδίκτυα(2 21 ), δηλαδή 21 bits για κωδικό δικτύου 255 = 2 8-2 υπολογιστές ανά δίκτυο (1 byte =8bits για κωδικό υπολογιστή) Εύρος διευθύνσεων: 192.168.0.0 192.168.255.255 Class D Multicast (πολυδιανομή) addresses 224.0.0.0 έως 239.255.255.255 Class Ε Δεσμευμένες διευθύνσεις για μελλοντική χρήση (αρχίζουν με 1111) Σημ:Πολύ χρήσιμες, με δεδομένη την εξάντληση του χώρου διευθύνσεων του ΙΡv4. Δυστυχώς πολλοί υπολογιστές δεν αποδέχονται αυτές τις διευθύνσεις ως έγκυρες επειδή βρίσκονταν εκτός ορίων για πολύ καιρό. Καθηγ. Π.Δεμέστιχας
NL: IP, ειδικές διευθύνσεις 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Τρέχων υπολογιστής 0 0... 0 0 H o s t Υπολογιστής του ίδιου δικτύου (επιτρέπουν στα μηχανήματα να αναφέρονται στο δίκτυό τους χωρίς να ξέρουν τον αριθμό του) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Δηλώνει όλους τα τερματικά στο δίκτυο->επιτρέπει εκπομπή στο τοπικό δίκτυο (συνήθως LAN) (255.255.255.255) Καθηγ. Π.Δεμέστιχας
NL: IP, ειδικές διευθύνσεις N e t w o r k 1 1 1 1... 1 1 1 1 Εκπομπή σε απομακρυσμένο δίκτυο/lan (οπουδήποτε στο Internet) Πολλοί διαχειριστές απενεργοποιούν αυτή τη λειτουργία,επειδή θέτει σε κίνδυνο την ασφάλεια 127 ( Anything ) Για έλεγχο ανατροφοδότησης (loopback) Καθηγ. Π.Δεμέστιχας
NL: IP, υποδίκτυα Ενα δίκτυο μπορεί να χωρισθεί σε τμήματα τα οποία ονομάζονται υποδίκτυα (subnetworks) Η πληροφορία που περιέχει μια IP διεύθυνση είναι της μορφής <Κωδικός δικτύου><κωδικός υποδικτύου><κωδικός υπολογιστή> Αφαιρούνται ορισμένα bits από τον κωδικό υπολογιστή και δημιουργείται ο κωδικός υποδικτύου Για την υλοποίηση των υποδικτύων οι δρομολογητές (του backbone δικτύου) χρειάζονται μια μάσκα υποδικτύου (subnet mask) Η μάσκα υποδικτύου περιγράφει τον χωρισμό των bits μεταξύ κωδικού δικτύου+υποδικτύου και κωδικού υπολογιστή Μπαίνει «1» στις θέσεις που ανατίθενται στους κωδικούς δικτύου+υποδικτύου και «0» στις θέσεις που ανατίθενται στους κωδικούς υπολογιστή
NL: Μετατροπή 32bit (IP) δυαδικού αριθμού σε δεκαδικό Παράδειγμα:010110010001110111001100000011000 Το χωρίζουμε σε οκτάδες: 01011001.00011101.11001100.00011000 Μετατρέπουμε κάθε οκτάδα σε δεκαδικό αριθμό: 01011001->1+8+16+64=89 00011101->1+4+8+16=29 11001100->4+8+64+128=204 00011000>8+16=24 01011001.00011101.11001100.00011000 ->89.29.204.24
NL: Μετατροπή δεκαδικού αριθμού σε δυαδικό αριθμ ο σε δεκαδικό Παράδειγμα:207 207>128 => 1 γιατηθέσητου128 ->207-128=79 79>64 => 1 για τη θέση του 64 -> 79-64=15 15<32 => 0 για τη θέση του 16 15<16 => 0 για τη θέση του 32 15>8 => 1 γιατηθέσητου32 ->15-8=7 7>4 => 1 γιατηθέσητου4 -> 7-4=3 3>2 => 1 γιατηθέσητου2 -> 3-2=1 Η τιμή του υπόλοιπου ταυτίζεται με το τελευταίο νούμερο Άρα 207 ->1100111
NL: IP, υποδίκτυα Οι μάσκες υποδικτύου γράφονται στη μορφή των IP διευθύνσεων Π.χ. για class A: 255.0.0.0, class B: 255.255.0.0, class C:255.255.0.0, επίσης όμως μπορεί να γίνεται προσθήκη μιας καθέτου και ενός αριθμού, π.χ. /n, όπου n είναι ο αριθμός bits του κωδικού δικτύου+υποδικτύου Όταν γνωρίζουμε την μάσκα υποδικτύου μπορούμε να εξάγουμε μόνο το τμήμα δικτύου αν εφαρμόσουμε την πράξη ΑΝD μεταξύ του της μάσκας και της διεύθυνσης ΙP. Παράδειγμα: Έστω ότι έχω την διεύθυνση ΙΡ 172.16.0.14 με μάσκα υποδικτύου 255.255.0.0. Σε δυαδική μορφή: IP διεύθυνση : 10110000.00010000.00000000.00001110 Μάσκα υποδικτύου: 11111111.11111111.00000000.00000000 Κάνοντας την πράξη ΑΝD 10110000.00010000.00000000.00001110 AND 11111111. 11111111. 00000000. 00000000 = 10110000.00010000.00000000.00000000 Η διεύθυνση δικτύου στο δεκαδικό σύστημα είναι η 172.16.0.0
NL: IP, οργάνωση υποδικτύων (1) Στον κωδικό υποδικτύου μπορεί να αποδοθούν 8, 7, 6, 5,... bits Αν θέλουμε έως 256 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 8 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 256 διευθύνσεις (εξαιρώντας τις δεσμευμένες, οι υπόλοιπες ανατίθενται σε υπολογιστές του υποδικτύου) Η μάσκα θα έχει τιμή 255.255.255.0 Είμαστε στην περίπτωση /24 Αν θέλουμε έως 128 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 7 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 512 διευθύνσεις Η μάσκα θα έχει τιμή 255.255.254.0 Είμαστε στην περίπτωση /23
NL: IP, οργάνωση υποδικτύων (2) Αν θέλουμε έως 64 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 6 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 1024 διευθύνσεις (εξαιρώντας τις δεσμευμένες, οι υπόλοιπες ανατίθενται σε υπολογιστές του υποδικτύου) Η μάσκα θα έχει τιμή 255.255.252.0 Είμαστε στην περίπτωση /22
NL: IP, οργάνωση υποδικτύων (2) Αν θέλουμε έως 32 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 5 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 2048 διευθύνσεις Η μάσκα θα έχει τιμή 255.255.248.0 Είμαστε στην περίπτωση /21
NL: IP, οργάνωση υποδικτύων (2) Αν θέλουμε έως 16 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 4 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 4096 διευθύνσεις Η μάσκα θα έχει τιμή 255.255.240.0 Είμαστε στην περίπτωση /20 Αν θέλουμε έως 8 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 3 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 8192 διευθύνσεις (εξαιρώντας τις δεσμευμένες, οι υπόλοιπες ανατίθενται σε υπολογιστές του υποδικτύου) Η μάσκα θα έχει τιμή 255.255.224.0 Είμαστε στην περίπτωση /19
NL: IP, οργάνωση υποδικτύων (3) Αν θέλουμε έως 4 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 2 bits Κάθε υποδίκτυο θα μπορεί να έχει έως 16.384 διευθύνσεις Η μάσκα θα έχει τιμή 255.255.192.0 Είμαστε στην περίπτωση /18 Αν θέλουμε έως 2 υποδίκτυα Ο κωδικός υποδικτύου θα πρέπει να έχει 1 bit Κάθε υποδίκτυο θα μπορεί να έχει έως 16.384 διευθύνσεις Η μάσκα θα έχει τιμή 255.255.128.0 Είμαστε στην περίπτωση /17 Αν δεν υπάρχουν υποδίκτυα η μάσκα θα έχει τιμή 255.255.0.0
NL: IP, επεξηγήσεις τιμών των subnet masks 1111 1111 255 1111 1110 254 1111 1101 253 1111 1100 252 1111 1011 251 1111 1010 250 1111 1001 249 1111 1000 248 1111 0111 247 1111 0110 246 1111 0101 245 1111 0100 244 1111 0011 243 1111 0010 242 1111 0001 241 1111 0000 240 Καθηγ. Π.Δεμέστιχας
NL: IP, αρίθμηση υποδικτύων Επικεντρώνουμε στην περίπτωση που 5 bits έχουν αποδοθεί στον κωδικό υποδικτύου Η αρίθμηση των υποδικτύων (8 πρώτων από τα 32) θα αρχίζει όπως παρουσιάζεται παρακάτω Χ.Ψ.00001000.00000001 Χ.Ψ.8. 1 Χ.Ψ.00010000.00000001 Χ.Ψ.16. 1 Χ.Ψ.00011000.00000001 Χ.Ψ.24. 1 Χ.Ψ.00100000.00000001 Χ.Ψ.32. 1 Χ.Ψ.00101000.00000001 Χ.Ψ.40. 1 Χ.Ψ.00110000.00000001 Χ.Ψ.48. 1 Χ.Ψ.00111000.00000001 Χ.Ψ.56. 1 Χ.Ψ.01000000.00000001 Χ.Ψ.64. 1 Αντίστοιχα παράδειγμα μπορούν να δημιουργηθούν στις περιπτώσεις με περισσότερα ή λιγότερα bits στον κωδικό υποδικτύου
NL: Καθορισμός υποδικτύων Όταν καθορίζουμε τα υποδίκτυα μας κατά το σχεδιασμό του δικτύου μπορούμε να χρησιμοποιήσουμε τη σχέση 2 x 2 όπου x ο αριθμός των bits που χρειάζονται για τον καθορισμό του υποδικτύου από τα διαθέσιμα bits για τους χρήστες
NL: IP, Ιδιωτικές διευθύνσεις Οι Ιδιωτικές διευθύνσεις (private IPs) δεν συνδέονται στο Internet => δεν χρειάζεται να είναι μοναδικές (RFC 1918) Range of IPs Class of Number of networks Networks 10.0.0.0-10.255.255.255 A 1 172.16.0.0-172.31.255.255 B 16 192.168.0.0-192.168.255.255 C 256