Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 10: OSPF (Open Shortest Path First) και IS-IS (Intermediate System to Intermediate System) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Αυτή η ενότητα πραγματεύεται ζητήματα σχετικά με τα πρωτόκολλα OSPF και IS-IS. 4
Περιεχόμενα ενότητας (1/2) Εισαγωγή. OSPF και IS-IS. Πρωτόκολλο OSPF. Ενθυλάκωση μηνυμάτων του OSPF. Τύποι πακέτων OSPF. Πακέτο hello. 5
Περιεχόμενα ενότητας (2/2) Καθιέρωση γειτνίασης. OSPF Hello και νεκρά χρονικά διαστήματα. Ενημερώσεις κατάστασης ζεύξης του OSPF. Αλγόριθμος OSPF. Πιστοποίηση. Βιβλιογραφία. 6
OSPF και IS-IS
Εισαγωγή Υπάρχουν δύο πρωτόκολλα δρομολόγησης κατάστασης ζεύξης που χρησιμοποιούνται σήμερα για την δρομολόγηση IP: Το Open Shortest Path First (OSPF). Το Intermediate System-to-Intermediate System (IS-IS). 8
OSPF και IS-IS (1/4) Το OSPF έχει σχεδιαστεί από την IETF OSPF Ομάδα εργασίας, η οποία υπάρχει ακόμα και σήμερα. Η ανάπτυξη του OSPF ξεκίνησε το 1987 και υπάρχουν δύο τρέχουσες εκδόσεις που χρησιμοποιούνται: Το OSPFv2: OSPF για δίκτυα IPv4 (RFC 1247 και RFC 2328). Το OSPFv3: OSPF για δίκτυα IPv6 (RFC 2740). 9
OSPF και IS-IS (2/4) Το IS-IS έχει σχεδιαστεί από τον ISO (Διεθνής Οργανισμός Τυποποίησης) και περιγράφεται στο πρότυπο ISO 10589. Η πρώτη ενσάρκωση αυτού του πρωτοκόλλου δρομολόγησης αναπτύχθηκε στο DEC (Digital Equipment Corporation) και είναι γνωστή ως DECnet Phase V. Και ο Radia Perlman ήταν ο επικεφαλής σχεδιαστής του πρωτοκόλλου δρομολόγησης IS-IS. 10
OSPF και IS-IS (3/4) Το IS-IS είχε αρχικά σχεδιαστεί για την σουίτα πρωτοκόλλου OSI και όχι για την σουίτα πρωτοκόλλου TCP/IP. Αργότερα, το ολοκληρωμένο IS-IS, ή Dual IS-IS, περιλαμβάνει υποστήριξη για δίκτυα IP. Αν και το IS-IS έχει γίνει γνωστό ως το πρωτόκολλο δρομολόγησης που χρησιμοποιείται κυρίως από τους παρόχους υπηρεσιών Διαδικτύου (ISPs) και τους φορείς, πια περισσότερα εταιρικά δίκτυα αρχίζουν να χρησιμοποιούν το IS-IS. 11
OSPF και IS-IS (4/4) Το OSPF και το IS-IS έχουν πολλές ομοιότητες και έχουν και πολλές διαφορές. Υπάρχουν πολλές pro-ospf και pro-is-is φατρίες που συζητούν για τα πλεονεκτήματα του ενός πρωτοκόλλου δρομολόγησης συγκριτικά από του άλλου. Και τα δύο πρωτόκολλα δρομολόγησης παρέχουν την απαραίτητη λειτουργικότητα δρομολόγησης που απαιτείται. 12
Πρωτόκολλο OSPF (1/3) Η αρχική ανάπτυξη του OSPF ξεκίνησε το 1987 από την Ομάδα Εργασίας για την μηχανική διαδικτύου (IETF). Εκείνη την εποχή το Διαδίκτυο ήταν σε μεγάλο βαθμό ένα ακαδημαϊκό και ερευνητικό δίκτυο που χρηματοδοτούνταν από την κυβέρνηση των ΗΠΑ. Το 1989, η προδιαγραφή για το OSPFv1 δημοσιεύτηκε στο RFC 1131. 13
Πρωτόκολλο OSPF (2/3) Υπήρχαν γραμμένες δύο υλοποιήσεις: η μια για να τρέχει σε δρομολογητές και η άλλη για να τρέχει σε UNIX σταθμούς εργασίας. Η τελευταία εφαρμογή αργότερα έγινε μια εκτεταμένη διαδικασία UNIX γνωστή ως GATED. Η OSPFv1 ήταν ένα πειραματικό πρωτόκολλο δρομολόγησης και δεν αναπτύχτηκε ποτέ. Το 1991, η OSPFv2 εισήχθη στο RFC 1247 από τον John Moy. Η OSPFv2 προσέφερε σημαντικές τεχνικές βελτιώσεις συγκριτικά με την OSPFv1. 14
Πρωτόκολλο OSPF (3/3) Την ίδια στιγμή, το ISO δούλευε σε πρωτόκολλο δρομολόγησης κατάστασης ζεύξης των δικών τους, Intermediate System-to-Intermediate System (IS-IS). Δεν αποτελεί έκπληξη ότι η IETF επέλεξε το OSPF ως το IGP (Πρωτόκολλο εσωτερικής πύλης) της. Το 1998, η προδιαγραφή OSPFv2 ενημερώθηκε στο RFC 2328 και είναι η τρέχουσα RFC για το OSPF. Σημείωση: Το 1999 η OSPFv3 για το IPv6 δημοσιεύτηκε στο RFC 2740. Το RFC 2740 συντάχτηκε από τον John Moy, τον Rob Coltun, και τον Dennis Ferguson. 15
Ενθυλάκωση μηνυμάτων του OSPF (1/2) Το τμήμα δεδομένων ενός μηνύματος του OSPF. ενθυλακώνεται σε ένα πακέτο. Αυτό το πεδίο δεδομένων μπορεί να περιλαμβάνει έναν από τους πέντε τύπους πακέτων OSPF. Η επικεφαλίδα του πακέτου του OSPF περιλαμβάνεται σε κάθε πακέτο OSPF, ανεξάρτητα από τον τύπο του πακέτου. Η επικεφαλίδα του πακέτου OSPF και τα δεδομένα συγκεκριμενοποίησης του τύπου του πακέτου στην συνέχεια ενθυλακώνονται σε ένα πακέτο IP. 16
Ενθυλάκωση μηνυμάτων του OSPF (2/2) Στην επικεφαλίδα του πακέτου IP, το πεδίο πρωτοκόλλου ορίζεται στα 89 για να δείχνει OSPF, και η διεύθυνση προορισμού ορίζεται σε μία από τις δύο διευθύνσεις multicast, την 224.0.0.5 ή την 224.0.0.6. Αν το πακέτο OSPF ενθυλακώνεται σε ένα πλαίσιο Ethernet, η διεύθυνση προορισμού MAC είναι επίσης μια multicast διεύθυνση: 01-00-5E-00-00- 05 ή 01-00-5E-00-00-06. 17
Τύποι πακέτων OSPF (1/3) Κάθε τύπος πακέτου εξυπηρετεί ένα συγκεκριμένο σκοπό στη διαδικασία δρομολόγησης OSPF: 1. Hello. Τα πακέτα Hello χρησιμοποιούνται για να καθιερώσουν και να διατηρήσουν γειτονίαση με άλλους δρομολογητές OSPF. 2. DBD. Το πακέτο Database Destination(DBD) περιέχει μια συντομευμένη λίστα της βάσης δεδομένων κατάστασης ζεύξης του δρομολογητή αποστολής και αυτή η λίστα χρησιμοποιείται τους δρομολογητές λήψης για να ελέγξουν τα στοιχεία συγκριτικά με την τοπική βάση δεδομένων κατάστασης ζεύξης. 18
Τύποι πακέτων OSPF (2/3) 3. LSR. Στην συνέχεια οι δρομολογητές λήψης μπορούν να ζητήσουν περισσότερες πληροφορίες σχετικά με οποιαδήποτε καταχώρηση στο DBD στέλνοντας μια αίτηση κατάστασης ζεύξης (LSR). 4. LSU. Τα πακέτα ενημέρωσης κατάστασης ζεύξης (LSU) χρησιμοποιούνται ως απάντηση στα πακέτα LSRs (αιτήσεων κατάστασης ζεύξης) καθώς και για την ανακοίνωση νέων πληροφοριών. Τα πακέτα LSUs (ενημέρωσης κατάστασης ζεύξης) περιλαμβάνουν επτά διαφορετικούς τύπους LSAs (link state advertisements). 19
Τύποι πακέτων OSPF (3/3) 5. LSAck. Όταν λαμβάνεται ένα πακέτο LSU (ενημέρωσης κατάστασης ζεύξης) ο δρομολογητής στέλνει ια LSAck (αποδοχή κατάστασης ζεύξης ) για να επιβεβαιώσει την παραλαβή του LSU. 20
Πακέτο hello (1/3) Τα πακέτα Hello χρησιμοποιούνται για: Την ανακάλυψη γειτόνων OSPF και την δημιουργία γειτονικών adjacencies. Την αναγγελία παραμέτρων στους οποίους θα πρέπει δύο δρομολογητές να συμφωνήσουν για να γίνουν γείτονες. Επιλογή του DR (Designated Router) και του BDR (Backup Designated Router) στα προσβάσιμα δίκτυα όπως το είναι το Ethernet και το Frame Relay. 21
Πακέτο hello (2/3) Σημαντικά πεδία είναι: Τύπος: Τύποι πακέτου OSPF: Hello(1), DBD(2), LSR(3), LSU(4), LSACK (5). ID δρομολογητή: Η ID του δρομολογητή αποστολής. ID περιοχής: Η περιοχή από την οποία προέρχεται το πακέτο. Μάσκα υποδικτύου: Συνδέεται με την διεπαφή αποστολής. 22
Πακέτο hello (3/3) Το χρονικό διάστημα Hello: Το σύνολο των δευτερολέπτων μεταξύ της αποστολής των Hellos των δρομολογητών. Η προτεραιότητα δρομολογητή: Χρησιμοποιείται στην επιλογή των DR / BDR. Ο DR (Designated Router): H ID του DR δρομολογητή(αν υπάρχει κάποιος). Ο BDR (Backup Designated Router): H ID του BDR δρομολογητή(αν υπάρχουν). Η λίστα των γειτόνων: Απαριθμεί τις ID των δρομολογητών OSPF των γειτονικών δρομολογητών. 23
Καθιέρωση γειτνίασης (1/2) Πριν ένας δρομολογητής OSPF να μπορεί να μοιράσει-διαδώσει τις καταστάσεις ζεύξης σε άλλους δρομολογητές, θα πρέπει πρώτα να προσδιορίσει αν υπάρχουν άλλοι γειτονικοί δρομολογητές OSPF σε κάποια από τις συνδέσεις του. Έτσι οι δρομολογητές OSPF στέλνουν πακέτα Hello σε όλες τις ενεργοποιημένες OSPF διεπαφές για να καθορίσουν αν υπάρχουν σε αυτές τις συνδέσεις γείτονες. 24
Καθιέρωση γειτνίασης (2/2) Το πακέτο Hello του OSPF περιλαμβάνει την παρακάτω πληροφορία : την ID δρομολογητή OSPF του δρομολογητή που στέλνει το πακέτο Hello. Ένας δρομολογητής επιβεβαιώνεται για την ύπαρξη κάποιου άλλου δρομολογητή OSPF σε μια σύνδεση του με την λήψη ενός πακέτου Hello OSPF σε κάποια διεπαφή του. Στην συνέχεια ο OSPF δρομολογητής καθιερώνει γειτνίαση με αυτόν τον γειτονικό δρομολογητή. 25
OSPF Hello και νεκρά χρονικά διαστήματα (1/5) Πριν δύο δρομολογητές να μπορέσουν να σχηματίσουν μια OSPF γειτονίαση θα πρέπει να συμφωνήσουν σε τρεις αξίες: στα χρονικά διάστημα Hello, στα νεκρά χρονικά διάστημα, και στο είδος του δικτύου. Το χρονικό διάστημα OSPF Hello δείχνει το πόσο συχνά ένας δρομολογητή OSPF μεταδίδει τα Hello πακέτα του. Από προεπιλογή, τα πακέτα Hello OSPF αποστέλλονται κάθε 10 δευτερόλεπτα σε multi-access και σημείουπρος-σημείο τμήματα και κάθε 30 δευτερόλεπτα σε NBMA (non-broadcast multi-access) τμήματα (Frame Relay, X.25, ATM). 26
OSPF Hello και νεκρά χρονικά διαστήματα (2/5) Στις περισσότερες περιπτώσεις, τα πακέτα Hello OSPF αποστέλλονται ως multicast σε μια διεύθυνση που προορίζεται για ALLSPF δρομολογητές στο 224.0.0.5. Χρησιμοποιώντας μια διεύθυνση multicast επιτρέπει σε μια συσκευή να αγνοήσει το πακέτο αν η διεπαφή του δεν είναι ενεργοποιημένη στο να δέχεται OSPF πακέτα. Αυτό εξοικονομεί χρόνο επεξεργασίας CPU για μη OSPF συσκευές. 27
OSPF Hello και νεκρά χρονικά διαστήματα (3/5) Το νεκρό χρονικό διάστημα εκφράζεται σε δευτερόλεπτα, είναι το χρονικό διάστημα που ο δρομολογητής θα περιμένει για να λάβει ένα πακέτο Hello πριν να θεωρήσει τον γείτονα ανενεργό. Η Cisco χρησιμοποιεί μια προεπιλεγμένη των τεσσάρων φορών το χρονικό διάστημα Hello. Για multi-access και σημείου-προς-σημείο τμήματα αυτή η περίοδος είναι 40 δευτερόλεπτα. Για τα δίκτυα NBMA το νεκρό χρονικό διάστημα είναι 120 δευτερόλεπτα. 28
OSPF Hello και νεκρά χρονικά διαστήματα (4/5) Αν το νεκρό χρονικό διάστημα λήξει πριν οι δρομολογητές να λάβουν ένα πακέτο Hello, το OSPF θα καταργήσει αυτόν τον γείτονα από την βάση δεδομένων κατάστασης ζεύξης του. Ο δρομολογητής θα μοιράσει-εκπέμψει την πληροφορία κατάστασης ζεύξης σχετικά με τον ανενεργό γείτονα σε όλες τις ενεργοποιημένες OSPF διεπαφές. 29
OSPF Hello και νεκρά χρονικά διαστήματα (5/5) Η επιλογή ενός DR (Designated Router) και BDR(Backup Designated Router). Για να μειώσει την κυκλοφορία του OSPF για multiaccess δίκτυα, ο OSPF επιλέγει DR και BDR. Ο DR είναι υπεύθυνος για την ενημέρωση όλων των άλλων δρομολογητών OSPF (που ονομάζεται DROthers), όταν προκύπτει κάποια αλλαγή στο multiaccess δίκτυο. O BDR παρακολουθεί τον DR και γίνεται ως DR, αν ο τρέχων DR αποτύχει. 30
Ενημερώσεις κατάστασης ζεύξης του OSPF Οι ενημερώσεις κατάστασης ζεύξης (LSUs) είναι τα πακέτα που χρησιμοποιούνται για τις ενημερώσεις δρομολόγησης OSPF. Ένα πακέτο LSU μπορεί να περιέχει 11 διαφορετικούς τύπους LSAs (Link State Advertisements). Η διαφορά μεταξύ των όρων ενημέρωση κατάστασης ζεύξης (LSU) και Link-State Advertisement (LSA) μπορεί μερικές φορές να προκαλέσει σύγχυση. Κατά καιρούς, αυτοί οι όροι χρησιμοποιούνται εναλλακτικά. Μία LSU περιέχει μία ή περισσότερες LSAs και τον όρο αυτό μπορούμε να τον χρησιμοποιήσουμε για να αναφερθούμε στις πληροφορίες κατάστασης ζεύξης που διαδίδονται από δρομολογητές OSPF. 31
Αλγόριθμος OSPF Κάθε δρομολογητής OSPF διατηρεί μια βάση δεδομένων κατάστασης ζεύξης που περιέχει τις LSAs που έλαβε από όλους τους άλλους δρομολογητές. Όταν ένας δρομολογητής λάβει όλες τις LSAs και τις προσθέσει στην τοπική βάση δεδομένων κατάστασης ζεύξης του τότε το OSPF χρησιμοποιεί τον αλγόριθμο SPF (συντομότερη διαδρομή πρώτα) του Dijkstra για να δημιουργήσει ένα δέντρο SPF. Το δέντρο SPF στη συνέχεια χρησιμοποιείται για την συμπλήρωση του πίνακα δρομολόγησης ΙΡ με τις καλύτερες διαδρομές για κάθε δίκτυο. 32
Πιστοποίηση Όπως και άλλα πρωτόκολλα δρομολόγησης, το OSPF μπορεί να ρυθμιστεί για έλεγχο ταυτότητας. Είναι καλή πρακτική να ελέγχεται η ταυτότητα της μεταδιδόμενης πληροφορίας δρομολόγησης. Τα πρωτόκολλα RIPv2, EIGRP, OSPF, IS-IS και BGP μπορούν να ρυθμιστούν στο να κρυπτογραφούν και να ελέγχουν την ταυτότητα των πληροφοριών δρομολόγησης τους. Αυτή η πρακτική εξασφαλίζει ότι οι δρομολογητές θα δέχονται μόνο πληροφορίες δρομολόγησης από άλλους δρομολογητές που έχουν ρυθμιστεί με τον ίδιο κωδικό ή με πληροφοριών πιστοποίησης. Σημείωση: Η πιστοποίηση δεν κρυπτογραφεί τον πίνακα δρομολόγησης του δρομολογητή. 33
Βιβλιογραφία 1. Doherty, J., Anderson, N., & Maggiora, D. P. (2010). Ο οδηγός της Cisco για τη δικτύωση. Εκδόσεις Κλειδάριθμος, Αθήνα. 2. Comer, E. D. (2007).Δίκτυα και διαδίκτυα υπολογιστών. Εκδόσεις Κλειδάριθμος, Αθήνα. 3. Peterson, L. L. & Davie, S. B. (2009). Δίκτυα υπολογιστών: Μία προσέγγιση απο τη σκοπιά των συστημάτων. Εκδόσεις Κλειδάριθμος, Αθήνα. 4. Comer, E. D. (2001). Διαδίκτυα με TCP/IP: Αρχές, πρωτόκολλα και αρχιτεκτονικές. Εκδόσεις Κλειδάριθμος, Αθήνα. 5. Ράπτης, Β. (2004). Δίκτυα δεδομένων - Θεωρία και εφαρμογές. Εκδότης Ράπτης Βασίλειος. 34
Τέλος Ενότητας
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Νικολάου Σπύρος. «Ειδικά Θέματα Δικτύων ΙΙ». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: 36
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 37
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 38
Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες. Βιβλιογραφικές Πηγές. 39