Skip to content
Λογότυπο GrCode Club σε μαύρο Λογότυπο GrCode Club σε λευκό GrCode Club

GrCode Club

Λογότυπο GrCode Club σε μαύρο Λογότυπο GrCode Club σε λευκό GrCode Club

GrCode Club

  • Αρχική
  • Προγραμματισμός
    • Developer
    • Web Development
    • Γλώσσες Προγραμματισμού
    • Docker
  • Δίκτυα
    • Βασικές Πληροφορίες
    • Πρωτόκολλα Δικτύων
    • Υπηρεσίες & Θύρες
    • Cloud Computing
  • Λειτουργικά Συστήματα
    • Βασικές Πληροφορίες
    • Linux: Οδηγός
    • Microsoft Windows
  • Κυβερνοασφάλεια
    • Βασικές Πληροφορίες
    • Κυβερνοεπιθέσεις
    • Εργαλεία Κυβερνοασφάλειας
  • Hardware
    • Βασικές Πληροφορίες
    • Εξαρτήματα Υπολογιστή
    • Οθόνες & Τηλεοράσεις
    • Υποστήριξη Υπολογιστή
    • Πιστοποίηση IP
  • Κινητά
    • Βασικές Πληροφορίες
    • Android
    • iPhone
  • Κοινότητα
    • Σύνδεση / Λογαριασμός
    • Μέλη
    • Γίνε Content Creator
    • Projects Μελών
    • Ξεκινήστε να Μαθαίνετε
  • Αρχική
  • Προγραμματισμός
    • Developer
    • Web Development
    • Γλώσσες Προγραμματισμού
    • Docker
  • Δίκτυα
    • Βασικές Πληροφορίες
    • Πρωτόκολλα Δικτύων
    • Υπηρεσίες & Θύρες
    • Cloud Computing
  • Λειτουργικά Συστήματα
    • Βασικές Πληροφορίες
    • Linux: Οδηγός
    • Microsoft Windows
  • Κυβερνοασφάλεια
    • Βασικές Πληροφορίες
    • Κυβερνοεπιθέσεις
    • Εργαλεία Κυβερνοασφάλειας
  • Hardware
    • Βασικές Πληροφορίες
    • Εξαρτήματα Υπολογιστή
    • Οθόνες & Τηλεοράσεις
    • Υποστήριξη Υπολογιστή
    • Πιστοποίηση IP
  • Κινητά
    • Βασικές Πληροφορίες
    • Android
    • iPhone
  • Κοινότητα
    • Σύνδεση / Λογαριασμός
    • Μέλη
    • Γίνε Content Creator
    • Projects Μελών
    • Ξεκινήστε να Μαθαίνετε

OSPF Protocol: Πώς λειτουργεί το Open Shortest Path First

Το OSPF (Open Shortest Path First) είναι ένα δυναμικό πρωτόκολλο δρομολόγησης (dynamic routing protocol), το οποίο χρησιμοποιείται για την ανταλλαγή πληροφοριών δρομολόγησης μεταξύ routers μέσα σε ένα αυτόνομο σύστημα (Autonomous System – AS).

Ανήκει στην κατηγορία των IGP (Interior Gateway Protocols) και χρησιμοποιεί τον αλγόριθμο SPF (Shortest Path First), γνωστό και ως αλγόριθμο Dijkstra, για να υπολογίζει τις καλύτερες διαδρομές προς τα δίκτυα προορισμού.

Πώς λειτουργεί το OSPF;

Σε αντίθεση με πρωτόκολλα distance-vector, το OSPF είναι link-state protocol. Κάθε router συλλέγει πληροφορίες για την τοπολογία του δικτύου και δημιουργεί μια βάση δεδομένων κατάστασης συνδέσεων (Link-State Database – LSDB).

  1. Ανακάλυψη γειτόνων: Οι routers στέλνουν Hello packets για να εντοπίσουν άλλους OSPF routers στα συνδεδεμένα δίκτυα.
  2. Δημιουργία γειτνίασης: Όταν πληρούνται οι απαραίτητες προϋποθέσεις, οι routers δημιουργούν adjacency και ανταλλάσσουν πληροφορίες.
  3. Ανταλλαγή LSAs: Οι routers διαδίδουν Link-State Advertisements (LSAs), τα οποία περιγράφουν την τοπολογία και τις συνδέσεις τους.
  4. Δημιουργία LSDB: Οι routers της ίδιας περιοχής (area) διατηρούν συγχρονισμένη βάση δεδομένων τοπολογίας.
  5. Υπολογισμός SPF: Κάθε router εκτελεί τον αλγόριθμο Dijkstra και υπολογίζει το συντομότερο μονοπάτι προς κάθε προορισμό.
  6. Ενημέρωση routing table: Οι καλύτερες διαδρομές εγκαθίστανται στον πίνακα δρομολόγησης, εφόσον είναι οι προτιμώμενες και επιλέξιμες.

Βασικά χαρακτηριστικά του OSPF

  • Link-State Protocol: Οι routers ανταλλάσσουν πληροφορίες κατάστασης συνδέσεων και όχι απλώς αποστάσεις προς προορισμούς.
  • Άμεση σύγκλιση: Αν αλλάξει η τοπολογία, το OSPF διαδίδει τις σχετικές αλλαγές και επανυπολογίζει τις διαδρομές.
  • Cost Metric: Χρησιμοποιεί το κόστος μιας διαδρομής, το οποίο συνήθως βασίζεται στο bandwidth των interfaces.
  • Ιεραρχικός σχεδιασμός: Υποστηρίζει διαχωρισμό του δικτύου σε περιοχές (areas), μειώνοντας την πολυπλοκότητα σε μεγάλα δίκτυα.
  • Classless Routing: Υποστηρίζει VLSM και CIDR.
  • Equal-Cost Multipath (ECMP): Μπορεί να χρησιμοποιήσει πολλαπλές διαδρομές με ίσο συνολικό κόστος, ανάλογα με την υλοποίηση και τη ρύθμιση.

OSPF Areas

Το OSPF επιτρέπει τη διαίρεση ενός μεγάλου δικτύου σε μικρότερες λογικές περιοχές που ονομάζονται Areas. Κάθε area έχει τη δική της LSDB και οι αλλαγές τοπολογίας περιορίζονται, σε μεγάλο βαθμό, μέσα στην περιοχή τους.

  • Area 0 (Backbone Area): Η κεντρική περιοχή του OSPF. Οι υπόλοιπες περιοχές συνδέονται λογικά με αυτήν για τη διαπεριφερειακή δρομολόγηση.
  • Standard Area: Μια κανονική περιοχή που μπορεί να λαμβάνει εσωτερικές και εξωτερικές πληροφορίες δρομολόγησης, ανάλογα με τη διαμόρφωση.
  • Stub Area: Περιοχή που περιορίζει συγκεκριμένες εξωτερικές πληροφορίες δρομολόγησης και συνήθως χρησιμοποιεί default route προς το υπόλοιπο δίκτυο.
  • Totally Stubby Area: Όρος που χρησιμοποιείται σε ορισμένες υλοποιήσεις, όπως της Cisco, για περιοχή με ακόμη πιο περιορισμένες πληροφορίες δρομολόγησης.
  • NSSA (Not-So-Stubby Area): Επιτρέπει την εισαγωγή εξωτερικών διαδρομών από ASBR, με ειδικό τύπο LSA.

Σημείωση: Οι ακριβείς επιλογές και ορισμένες ονομασίες περιοχών μπορεί να διαφέρουν ανάλογα με την υλοποίηση του κατασκευαστή.

Τύποι OSPF Routers

  • Internal Router: Όλα τα OSPF interfaces του ανήκουν στην ίδια area.
  • Backbone Router: Διαθέτει τουλάχιστον ένα interface στην Area 0.
  • ABR (Area Border Router): Συνδέει μία ή περισσότερες περιοχές με την Area 0 και διατηρεί ξεχωριστή LSDB για κάθε area.
  • ASBR (Autonomous System Boundary Router): Εισάγει στο OSPF διαδρομές που προέρχονται από άλλα routing protocols ή από εξωτερικές πηγές.
  • DR (Designated Router): Σε broadcast και ορισμένα multi-access δίκτυα, συντονίζει την ανταλλαγή πληροφοριών μεταξύ των routers.
  • BDR (Backup Designated Router): Εφεδρικός router του DR, έτοιμος να αναλάβει σε περίπτωση αποτυχίας του.

OSPF Neighbor States

Κατά τη δημιουργία γειτνίασης, οι routers περνούν από συγκεκριμένες καταστάσεις:

StateΠεριγραφή
DownΔεν έχουν ληφθεί πρόσφατα Hello packets από τον γείτονα.
AttemptΚατάσταση που εμφανίζεται σε NBMA δίκτυα όταν έχει ρυθμιστεί χειροκίνητα γείτονας.
InitΈχει ληφθεί Hello packet, αλλά ο router δεν έχει επιβεβαιωθεί ακόμη στη λίστα γειτόνων του άλλου router.
2-WayΟι routers έχουν αναγνωρίσει αμοιβαία ο ένας τον άλλον.
ExStartΞεκινά η διαδικασία διαπραγμάτευσης για την ανταλλαγή βάσεων δεδομένων.
ExchangeΑνταλλάσσονται Database Description (DBD) packets.
LoadingΖητούνται και λαμβάνονται οι απαραίτητες πληροφορίες μέσω Link-State Request και Update packets.
FullΟι βάσεις δεδομένων των γειτόνων έχουν συγχρονιστεί.

Σε broadcast δίκτυα, δύο routers που δεν είναι DR ή BDR μπορεί να παραμένουν σε κατάσταση 2-Way μεταξύ τους, χωρίς αυτό να αποτελεί απαραίτητα πρόβλημα.

OSPF Packet Types

Το OSPF χρησιμοποιεί πέντε βασικούς τύπους πακέτων:

  1. Hello: Ανακαλύπτει και διατηρεί γείτονες.
  2. Database Description (DBD): Περιγράφει το περιεχόμενο της LSDB κατά τη διαδικασία συγχρονισμού.
  3. Link-State Request (LSR): Ζητά συγκεκριμένες πληροφορίες LSA.
  4. Link-State Update (LSU): Μεταφέρει ένα ή περισσότερα LSAs.
  5. Link-State Acknowledgment (LSAck): Επιβεβαιώνει τη λήψη LSAs.

OSPF Metric – Cost

Το OSPF επιλέγει διαδρομές με βάση το συνολικό κόστος (cost). Το κόστος μιας διαδρομής προκύπτει από το άθροισμα των costs των εξερχόμενων interfaces κατά μήκος της διαδρομής.

Σε πολλές υλοποιήσεις, όπως στην προεπιλεγμένη συμπεριφορά του Cisco IOS, το reference bandwidth διαιρείται με το bandwidth του interface. Η ακριβής τιμή και ο τρόπος υπολογισμού εξαρτώνται από τη ρύθμιση και την υλοποίηση.

Interface Cost = Reference Bandwidth / Interface Bandwidth

Παράδειγμα: Με reference bandwidth 100 Mbps, ένα interface 10 Mbps έχει cost 10, ενώ ένα interface 100 Mbps έχει cost 1. Σε σύγχρονα δίκτυα είναι σημαντικό να ρυθμίζεται κατάλληλα το reference bandwidth, ώστε να διακρίνονται σωστά τα interfaces υψηλών ταχυτήτων.

OSPF Versions

  • OSPFv2: Χρησιμοποιείται κυρίως για δρομολόγηση IPv4 και ορίζεται στο RFC 2328.
  • OSPFv3: Σχεδιάστηκε αρχικά για IPv6 και ορίζεται στο RFC 5340. Με νεότερες επεκτάσεις μπορεί να υποστηρίξει και άλλες address families, συμπεριλαμβανομένου του IPv4.

OSPF Port και Protocol Number

Το OSPF δεν χρησιμοποιεί TCP ή UDP port. Μεταφέρεται απευθείας πάνω από το IP και χρησιμοποιεί τον αριθμό πρωτοκόλλου 89 στο πεδίο Protocol της IPv4 επικεφαλίδας.

  • IP Protocol Number: 89
  • TCP Port: Δεν χρησιμοποιείται.
  • UDP Port: Δεν χρησιμοποιείται.
  • Multicast IPv4: 224.0.0.5 (AllSPFRouters) και 224.0.0.6 (AllDRouters).

Βασική ρύθμιση OSPF – Cisco IOS

Το παρακάτω είναι ένα απλό παράδειγμα ενεργοποίησης OSPF process 1 και δήλωσης ενός δικτύου στην Area 0:

Router> enable
Router# configure terminal
Router(config)# router ospf 1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# end
Router# write memory

Το 1 είναι το τοπικό process ID και δεν χρειάζεται να είναι ίδιο σε όλους τους routers. Η wildcard mask 0.0.0.255 αντιστοιχεί στο δίκτυο 192.168.1.0/24.

Εναλλακτικά, μπορεί να ενεργοποιηθεί το OSPF απευθείας σε interface:

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip ospf 1 area 0

Χρήσιμες εντολές επαλήθευσης και troubleshooting

show ip ospf
show ip ospf neighbor
show ip ospf interface
show ip ospf database
show ip route ospf
show ip protocols
  • show ip ospf: Εμφανίζει γενικές πληροφορίες για τη διεργασία OSPF.
  • show ip ospf neighbor: Εμφανίζει τους OSPF γείτονες και τις καταστάσεις τους.
  • show ip ospf interface: Εμφανίζει τις ρυθμίσεις OSPF ανά interface.
  • show ip ospf database: Εμφανίζει τη Link-State Database.
  • show ip route ospf: Εμφανίζει τις διαδρομές που έχουν εγκατασταθεί μέσω OSPF.
  • show ip protocols: Εμφανίζει τα ενεργά routing protocols και τις σχετικές ρυθμίσεις.

Συνηθισμένα προβλήματα OSPF

  • Area mismatch: Οι δύο γείτονες έχουν διαφορετικό Area ID στο κοινό link.
  • Hello/Dead interval mismatch: Οι timers δεν συμφωνούν μεταξύ των γειτόνων.
  • Authentication mismatch: Διαφορετικές ή λανθασμένες ρυθμίσεις authentication.
  • Subnet mismatch: Οι διευθύνσεις IP ή οι μάσκες δεν είναι συμβατές στο ίδιο link.
  • MTU mismatch: Διαφορά MTU μπορεί να εμποδίσει την ολοκλήρωση του database exchange.
  • Passive interface: Το interface δεν στέλνει Hello packets προς γείτονες.
  • Network type mismatch: Ασυμβατότητα στον τύπο δικτύου OSPF.
  • ACL ή firewall: Μπορεί να φιλτράρει τα OSPF πακέτα (IP protocol 89).

OSPF και ασφάλεια

Η σωστή διαμόρφωση του OSPF είναι σημαντική για την προστασία της υποδομής δρομολόγησης. Συνιστάται:

  • Χρήση authentication όπου υποστηρίζεται, κατά προτίμηση ισχυρών μηχανισμών όπως HMAC-SHA, ανάλογα με την υλοποίηση.
  • Ενεργοποίηση passive interfaces σε δίκτυα όπου δεν αναμένονται OSPF γείτονες.
  • Περιορισμός της πρόσβασης στα interfaces διαχείρισης και ελέγχου.
  • Φιλτράρισμα ανεπιθύμητης OSPF κίνησης στα κατάλληλα σημεία του δικτύου.
  • Παρακολούθηση αλλαγών γειτνίασης και routing table.

OSPF vs RIP vs BGP

ΧαρακτηριστικόOSPFRIPBGP
ΚατηγορίαLink-State IGPDistance-Vector IGPPath-Vector EGP
Κριτήριο επιλογήςCostHop CountΠολιτικές και Path Attributes
Μέγιστο hopsΔεν έχει όριο hop count όπως το RIP15Δεν βασίζεται σε όριο hop count
ΧρήσηΕσωτερικά δίκτυα οργανισμώνΜικρά και απλά δίκτυαΔρομολόγηση μεταξύ Autonomous Systems

Συμπέρασμα

Το OSPF είναι ένα από τα σημαντικότερα πρωτόκολλα δυναμικής δρομολόγησης για εσωτερικά δίκτυα. Η αρχιτεκτονική link-state, οι περιοχές (areas), ο αλγόριθμος SPF και η γρήγορη προσαρμογή σε αλλαγές τοπολογίας το καθιστούν κατάλληλο για μεσαία και μεγάλα εταιρικά δίκτυα. Η κατανόηση των neighbor states, των LSAs, του cost και των εργαλείων troubleshooting αποτελεί βασική γνώση για Network Engineers και IT Professionals.

Επίσημες πηγές και περαιτέρω μελέτη

  • RFC 2328 – OSPF Version 2
  • RFC 5340 – OSPF for IPv6
  • RFC 5838 – Support of Address Families in OSPFv3

Social Media

  • Facebook
  • X
  • Instagram
  • TikTok
  • YouTube
  • Linkedin
  • Discord
Email Επικοινωνίας

info@grcodeclub.gr

Για Τεχνικά Θέματα

support@grcodeclub.gr

Πολιτική Cookies (ΕΕ)

Πολιτική απορρήτου

Όροι και Προϋποθέσεις

GrCode Club by @dimitridedou
Διαχείριση Συγκατάθεσης
Για να παρέχουμε την καλύτερη εμπειρία, χρησιμοποιούμε τεχνολογίες όπως cookies για την αποθήκευση ή/και την πρόσβαση σε πληροφορίες συσκευών. Η συγκατάθεση για τις εν λόγω τεχνολογίες θα μας επιτρέψει να επεξεργαστούμε δεδομένα προσωπικού χαρακτήρα, όπως συμπεριφορά περιήγησης ή μοναδικά αναγνωριστικά σε αυτόν τον ιστότοπο. Η μη συγκατάθεση ή η ανάκληση της συγκατάθεσης, μπορεί να επηρεάσει αρνητικά ορισμένες λειτουργίες και δυνατότητες.
Λειτουργικά Πάντα ενεργό
Η τεχνική αποθήκευση ή πρόσβαση είναι απολύτως απαραίτητη για τον νόμιμο σκοπό της δυνατότητας χρήσης συγκεκριμένης υπηρεσίας που ζητείται ρητά από τον συνδρομητή ή τον χρήστη ή με αποκλειστικό σκοπό τη μετάδοση επικοινωνίας μέσω δικτύου ηλεκτρονικών επικοινωνιών.
Προτιμήσεις
Η τεχνική αποθήκευση ή πρόσβαση είναι απαραίτητη για τον νόμιμο σκοπό της αποθήκευσης προτιμήσεων που δεν ζητούνται από τον συνδρομητή ή τον χρήστη.
Στατιστικά
Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για στατιστικούς σκοπούς. Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για ανώνυμους στατιστικούς σκοπούς. Χωρίς κλήτευση, η εθελοντική συμμόρφωση εκ μέρους του Παρόχου Υπηρεσιών Διαδικτύου ή πρόσθετες καταγραφές από τρίτο μέρος, οι πληροφορίες που αποθηκεύονται ή ανακτώνται για το σκοπό αυτό από μόνες τους δεν μπορούν συνήθως να χρησιμοποιηθούν για την αναγνώρισή σας.
Εμπορικής Προώθησης
Η τεχνική αποθήκευση ή πρόσβαση απαιτείται για τη δημιουργία προφίλ χρηστών, για την αποστολή διαφημίσεων ή για την καταγραφή του χρήστη σε έναν ιστότοπο ή σε διάφορους ιστότοπους για παρόμοιους σκοπούς εμπορικής προώθησης.
  • Διαχείριση επιλογών
  • Διαχείριση υπηρεσιών
  • Manage {vendor_count} vendors
  • Διαβάστε περισσότερα για αυτούς τους σκοπούς
Προβολή προτιμήσεων
  • {title}
  • {title}
  • {title}