1.1       Πρωτόκολλα Δρομολογητών

Για να λειτουργήσουν οι δρομολογητές στο δίκτυο πρέπει να μπορεί να υπάρχει επικοινωνία σε όλα τα επίπεδα του OSI μοντέλου. Αυτό γίνεται χάρη στη δυνατότητα των δρομολογητών να υποστηρίζουν πρωτόκολλα επικοινωνίας, μεταφοράς και δρομολόγησης.

1.1.1       Πρωτόκολλα Επικοινωνίας

Υποστηρίζουν τη μεταφορά δεδομένων από ένα σταθμό ενός δικτύου σε ένα σταθμό άλλου δικτύου. Λειτουργούν στο επίπεδο δικτύου του OSI μοντέλου. Παραδείγματα είναι το IPX [1] και το IP [2] .

1.1.2       Πρωτόκολλα Μεταφοράς

Αντιπροσωπεύει τον τρόπο με τον οποίο μεταφέρονται φυσικά οι πληροφορίες στο δίκτυο.

1.1.3       Πρωτόκολλα Δρομολόγησης

Είναι υπεύθυνο για τη δημιουργία μονοπατιών μεταξύ των δρομολογητών. Υπάρχουν δύο είδη πρωτοκόλλων δρομολόγησης: τα εσωτερικού τομέα (interior domain) και τα εξωτερικού τομέα (exterior domain), όπου ως τομέα (domain) θεωρούμε μια ομάδα δικτύων, πχ ένα πανεπιστήμιο.

Τα πρωτόκολλα εσωτερικού τομέα χρησιμοποιούνται για τον έλεγχο της ροής των πληροφοριών μέσα σε μία σειρά ξεχωριστών δικτύων που έχουν διασυνδεθεί μεταξύ τους. Ονομάζονται και intra-domain. Τα πρωτόκολλα αυτά δημιουργούν τους πίνακες δρομολόγησης για κάθε αυτόνομο σύστημα μέσα στο μέσα στο domain και χρησιμοποιούν τεχνικές όπως η μέτρηση των hops, ή η χρονική καθυστέρηση στη δημιουργία διαδρομών από ένα δίκτυο σε άλλο. Χωρίζονται σε δύο κατηγορίες: στα πρωτόκολλα κατάστασης συνδέσμων (link state protocols) και στα πρωτόκολλα διανυσματικής απόστασης (vector distance protocols). Θα εξετάσουμε στην κατηγορία αυτή το Πρωτόκολλο Πληροφοριών Δρομολόγησης (Routing Information Protocol-RIP) και το Πρωτόκολλο Ανοίγματος Βέλτιστου Μονοπατιού (Open Shortest Path First Protocol-OSPF).

Τα πρωτόκολλα εξωτερικού τομέα χρησιμοποιούνται για τη διασύνδεση πολλών εσωτερικών τομέων. Αυτά καθορίζουν τη μέθοδο με την οποία οι δρομολογητές ανταλλάσσουν πληροφορίες. Θα εξετάσουμε δύο από αυτά, το exterior gateway protocol (EGP) και το Border Gateway Protocol(BGP).

1.1.3.1       Πρωτόκολλα Εξωτερικού Τομέα

1.1.3.1.1      Exterior Gateway Protocol

 Το EGP εκτελεί τέσσερις βασικές λειτουργίες:

a)      Εκτελεί μια ενέργεια απόκτησης, η οποία επιτρέπει σε ένα δρομολογητή του τομέα να αναζητήσει έναν δρομολογητή σε άλλο τομέα για την ανταλλαγή πληροφοριών.

b)      Ελέγχει περιοδικά αν οι γειτονικοί δρομολογητές με EGP ανταποκρίνονται.

c)      Επιτρέπει στις πύλες των δρομολογητών να ανταλλάσσουν πληροφορίες που αφορούν το δίκτυο κάθε τομέα, μεταδίδοντας μηνύματα ανανέωσης της δρομολόγήσης.

d)      Διακόπτει τη σύνδεση μεταξύ δύο γειτονικών πυλών που βρίσκονται σε διαφορετικούς τομείς.

Για την εκτέλεση αυτών των ενεργειών, το πρωτόκολλο ορίζει εννέα μηνύματα:

a)      Εύρεση γειτονικών δρομολογητών:

4)      Αίτηση απόκτησης

5)      Επιβεβαίωση απόκτησης ή

6)      Άρνηση απόκτησης

b)      Δυνατότητα πρόσβασης στο γειτονικό κόμβο

4)      Hello

5)      I heard you

c)      Ανανέωση δρομολόγησης

8)      Poll Request

9)      Routing Update

e)      Διακοπή επικοινωνίας με γειτονικούς κόμβους

8)      Παύση αίτησης

9)      Επιβεβαίωση παύσης

Στο EGP μόλις βρεθεί γειτονικός κόμβος, το μήνυμα Hello πρέπει να στέλνεται κάθε 30 sec ενώ οι ανανεώσεις δρομολόγησης τουλάχιστον σε διαστήματα των δύο λεπτών. Όταν ο αριθμός των δικτύων σε κάθε δικτύων σε κάθε τομέα είναι μεγάλος ή όταν οι περιοχές σύνδεσης κυκλωμάτων αποτελούνται από χαμηλής ταχύτητας  γραμμές, τότε καταναλώνεται μεγάλη ποσότητα εύρους ζώνης από τους τομές σύνδεσης. Για τη λύση του παραπάνω προβλήματος, δημιουργήθηκε το BGP.

1.1.3.1.2      Border Gateway Protocol

Σε αντίθεση με το EGP, όπου όλες οι πληροφορίες του δικτύου ανταλλάσσονται σε διαστήματα δύο λεπτών ή μικρότερο, στο BGP έχουμε την εκπομπή ενημερωμένων πληροφοριών δρομολόγησης καθώς γίνονται οι αλλαγές. Αυτό μειώνει την ποσότητα των δεδομένων που ανταλλάσσονται μεταξύ των πυλών των δρομολογητών και απελευθερώνει ένα μεγάλο μέρος εύρους ζώνης του κυκλώματος για τη μετάδοση δεδομένων.

Και τα δύο παραπάνω πρωτόκολλα τρέχουν πάνω σε TCP/IP.

1.1.3.2       Πρωτόκολλα Εσωτερικού Τομέα

Τα πρωτόκολλα αυτά όπως είπαμε χωρίζονται σε πρωτόκολλα διανυσματικής απόστασης (vector distance) και σε πρωτόκολλα κατάστασης συνδέσμων (link state). Στην κατηγορία αυτή ανήκει το Πρωτόκολλο Πληροφοριών Δρομολόγησης (Routing Information Protocol) και το Πρωτόκολλο Ανοίγματος Βέλτιστης Διαδρομής (Open Shortest Path First Protocol)

1.1.3.2.1      Πρωτόκολλα Διανυσματικής Απόστασης (Vector Distance Protocols)

Αυτά τα πρωτόκολλα κατασκευάζουν έναν πίνακα δρομολόγησης σε κάθε δρομολογητή και τον εκπέμπουν περιοδικά στο δίκτυο. Όταν ο πίνακας αυτός λαμβάνεται από άλλον δρομολογητή, εξετάζονται οι σταθμοί προορισμού καθώς και η απόσταση για κάθε άλλο δρομολογητή. Ο δρομολογητής που λαμβάνει τον πίνακα εξετάζει αν υπάρχει πιο κοντινή διαδρομή για ένα σταθμό ή βρίσκει μέσα στον πίνακα κάποιο σταθμό που δεν έχει αποθηκευμένο στον δικό του πίνακα.  Σε κάθε μία από τις περιπτώσεις ο δρομολογητής που παραλαμβάνει τον πίνακα αλλάζει τους πίνακές του.

Ο όρος διανυσματική απόσταση (vector distance) προέκυψε επειδή το μήνυμα που εκπέμπει ο κάθε δρομολογητής περιέχει δύο πληροφορίες: τον σταθμό προορισμού (vector) και την απόσταση σε βήματα (distance in hops).

Όλοι οι δρομολογητές που υπάρχουν στο δίκτυο εκπέμπουν τους πίνακές δρομολόγησης περιοδικά. Οι πίνακες αυτοί λαμβάνονται από άλλους δρομολογητές για την ανανέωση του αρχικού πίνακα.

Τα πρωτόκολλα αυτού του είδους λειτουργούν σε μικρά δίκτυα, αλλά σε μεγάλα δίκτυα μπορούν να μειώσουν το εύρος ζώνης που είναι διαθέσιμο για τη μεταφορά δεδομένων, επειδή η μετάδοση μεγάλων πινάκων δρομολόγησης απαιτεί χρόνο, κατά τον οποίο δεν είναι δυνατή η μετάδοση δεδομένων.

1.1.3.2.2      Πρωτόκολλα Κατάστασης Συνδέσμων (Link State Protocols)

Η λύση στο πρόβλημα που αναφέρθηκε παραπάνω δόθηκε με τα πρωτόκολλα κατάστασης συνδέσμων. Στα πρωτόκολλα αυτά οι πληροφορίες δρομολόγησης αποστέλλονται μόνο όταν υπάρχουν αλλαγές σε έναν από τους συνδέσμους.

Επίσης, όταν υπάρχουν πολλές διαφορετικές διαδρομές για έναν κόμβο, δεν χρησιμοποιείται η διαδρομή με τους λιγότερους ενδιάμεσους κόμβους. Το πρωτόκολλο μπορεί να ρυθμίσει την κυκλοφορία χρησιμοποιώντας πολλά μονοπάτια (traffic balancing). Κατά τη ρύθμιση αυτή λαμβάνονται υπόψη: η καθυστέρηση στη σύνδεση (link delay), η χωρητικότητα και η αξιοπιστία της σύνδεσης.

1.1.3.2.3      Πρωτόκολλο Πληροφοριών Δρομολόγησης (Routing Information Protocol-RIP)

Το πρωτόκολλο αυτό είναι ένα πρωτόκολλο διανυσματικής απόστασης και χρησιμοποιεί ως μονάδα μέτρησης τα βήματα από έναν κόμβο σε έναν άλλο. Τα μηνύματα ανανέωσης αποστέλλονται σε τακτά διαστήματα καθώς και όταν αλλάξει η τοπολογία δικτύου. Όταν ένας δρομολογητής λάβει μήνυμα για αλλαγές στη δρομολόγηση, το οποίο περιλάμβανε αλλαγές σε μία εγγραφή, ανανεώνει τους πίνακές του για να συμπεριλάβει τη νέα διαδρομή.

Οι δρομολογητές που χρησιμοποιούν RIP διατηρούν μόνο τη βέλτιστη διαδρομή προς έναν προορισμό. Μετά την ανανέωση των πινάκων, ο κάθε δρομολογητής ενημερώνει τους υπόλοιπους δρομολογητές του δικτύου για τις αλλαγές.

Το RIP ορίζει πολλά χαρακτηριστικά για την εξασφάλιση της σταθερής λειτουργίας του όταν συμβαίνουν γρήγορες αλλαγές στην τοπολογία του δικτύου. Μερικά από αυτά είναι: ο περιορισμός της μέτρησης των βημάτων (hop-count limit), οι κατοχές των πληροφοριών (hold-downs), ο χωρισμός των οριζόντων (split horizons) και οι αντίστροφες «poison» ενημερώσεις (poison reverse updates).

1.1.3.2.3.1     Περιορισμός της μέτρησης των βημάτων (hop-count limits)

Στο παρακάτω σχήμα φαίνεται η σύνδεση δύο δρομολογητών 1 και 2.

Έστω ότι η σύνδεση του δρομολογητή 1(R1) με το δίκτυο Α αποτυγχάνει. Τότε αυτός ελέγχει τον πίνακά του και βλέπει ότι ο δρομολογητής 2 (R2) μπορεί να πάει στο δίκτυο Α σε ένα βήμα. Επειδή ο R1 είναι άμεσα συνδεδεμένος με τον R2, βλέπει ότι η σύνδεση με το δίκτυο Α μπορεί να γίνει σε δύο βήματα και αποστέλλει τα δεδομένα στο Α μέσω του R2. Όταν ο R2 δει ότι ο R1 έχει πρόσβαση στο Α σε δύο βήματα, αλλάζει τον πίνακά του ώστε να φαίνεται ότι έχει πρόσβαση σε τρία βήματα. Αυτό δημιουργεί ένα βρόχο. Ο βρόχος θα συνεχίσει ώσπου να διακοπεί από κάποια εξωτερική συνθήκη. Η συνθήκη αυτή είναι ότι τα βήματα για την πρόσβαση από ένα σταθμό σε έναν άλλο σε ένα δρομολογητή RIP δεν μπορούν να είναι πάνω από 15. όταν ο αριθμός των βημάτων υπερβεί τα 15, η διαδρομή καταχωρείται ως απρόσιτη. Με την πάροδο του χρόνου αφαιρείται από τον πίνακα.

1.1.3.2.3.2     Κατοχές Πληροφοριών (Hold Downs)

Χρησιμοποιούνται για να αποτρέψουν τα συνήθη μηνύματα ενημέρωσης να επαναφέρουν μια διαδρομή μεταξύ δύο κόμβων η οποία έχει αποτύχει.

Όταν  μια διαδρομή βγει εκτός λειτουργίας, οι γειτονικοί δρομολογητές το αντιλαμβάνονται και υπολογίζουν νέες διαδρομές. Μετά στέλνουν μηνύματα για να ενημερώσουν του υπόλοιπους δρομολογητές της διαδρομής για την αλλαγή.

Οι ενημερώσεις αυτές όμως δεν φτάνουν σε κάθε συσκευή του δικτύου αμέσως. Έτσι, υπάρχει η περίπτωση μία συσκευή που δεν έχει ενημερωθεί για τις αλλαγές να στείλει ένα σύνηθες μήνυμα ενημέρωσης (το οποίο να δείχνει ότι η χαλασμένη διαδρομή λειτουργεί ακόμη), σε μία συσκευή η οποία έχει ενημερωθεί για τη βλάβη. Στην περίπτωση αυτή, η τελευταία περιέχει λαθεμένες πληροφορίες δρομολόγησης.

Οι κατοχές των πληροφοριών (hold-downs) λένε στους δρομολογητές να κρατήσουν για ορισμένο χρονικό διάστημα, τις αλλαγές που μπορεί να επηρεάσουν τις διαδρομές που έχουν βγει εκτός λειτουργίας. Το διάστημα αυτή είναι ελάχιστα μεγαλύτερο από το χρόνο που απαιτείται για την ενημέρωση του δικτύου για τις αλλαγές στη δρομολόγηση.

1.1.3.2.3.3     Χωρισμός Οριζόντων (Split Horizons)

Στο παρακάτω σχήμα βλέπουμε τη σύνδεση δύο δρομολογητών με τη μέθοδο αυτή:

Η μέθοδος αυτή στηρίζεται στο γεγονός ότι δεν είναι ποτέ χρήσιμο να αποστέλλονται πληροφορίες προς την κατεύθυνση από την οποία ήρθαν.

Εδώ ο R1 ανακοινώνει ότι έχει μια διαδρομή για το δίκτυο Α. R2 δεν χρειάζεται να συμπεριλάβει τη διαδρομή αυτή στην αποστολή νέων δεδομένων προς τον R1, διότι ο R1 βρίσκεται πιο κοντά στο Α. Ο κανόνας split horizon, λέει ότι ο R2 πρέπει να αποβάλλει τη διαδρομή αυτή από όλα τα μηνύματα ενημέρωσης που αποστέλλει στον R1.

Η μέθοδος αυτή βοηθάει να αποτραπεί η δημιουργία βρόχου μεταξύ δύο κόμβων. Έτσι, αν η σύνδεση του R1 με το δίκτυο Α αποτύχει και δεν υπάρχει ο κανόνας αυτός, ο R2 συνεχίζει να ενημερώνει τον R1 ότι μπορεί να πάει στο Α μέσω αυτού. Ο R1 μπορεί να διαλέξει τον R2 ως εναλλακτική διαδρομή προς το Α, δημιουργώντας έτσι βρόχο. Παρόλο που αυτό μπορεί να αποδεχθεί με την προηγούμενη μέθοδο, ο κανόνας αυτός προσφέρει μία επιπλέον ασφάλεια.

1.1.3.2.3.4     Poison Reverse Updates

Χρησιμοποιούνται για την αποφυγή δημιουργίας βρόχων μεταξύ δρομολογητών που βρίσκονται μακριά ο ένας από τον άλλο. Βασίζονται στο ότι οι αυξήσεις στα βήματα συνήθως δείχνουν την ύπαρξη βρόχων. Οι ενημερώσεις αυτού του τύπου αποστέλλονται για να βγάλουν τη διαδρομή από τη χρήση.

1.1.3.2.4      Ανοικτό Πρωτόκολλο Βέλτιστης Διαδρομής (Open Shortest Path First Protocol- OSPF)

Το OSPF ανήκει στα πρωτόκολλα κατάστασης συνδέσμων.

Ένας δρομολογητής που λειτουργεί με OSPF διατηρεί μία βάση δεδομένων με μία αντιπροσώπευση κάθε κόμβου και δρομολογητή στο δίκτυο καθώς και με την κατάστασή τους.

Οι βασικές υπηρεσίες του OSPF λειτουργούν πάρα πολύ καλά σε μικρά δίκτυα. Σε μεγάλα όμως δίκτυα, ο τεράστιο αριθμός των ανανεώσεων που είναι απαραίτητος για την ομαλή ροή των δεδομένων δημιουργεί πολλά προβλήματα. Για το λόγο αυτό, σε μεγάλα OSPF δίκτυα, χρησιμοποιείται η αρχή της OSPF περιοχής.

Μία OSPF περιοχή είναι μία λογική υποδιαίρεση ενός OSPF δικτύου. Οι δρομολογητές μιας περιοχής δεν ανταλλάσσουν στοιχεία με δρομολογητές μίας άλλης περιοχής. Αυτό μειώνει τον αριθμό των ανανεώσεων που γίνονται στο δίκτυο και το μέγεθος των βάσεων δεδομένων που έχει ο κάθε δρομολογητής.

Οι περιοχές OSPF συνδέονται μεταξύ τους μέσω ενός άξονα (backbone). Ένας δρομολογητής που συνδέεται με τον άξονα πρέπει να περιλαμβάνει πληροφορίες και για τις δύο περιοχές και ονομάζεται συνοριακός δρομολογητής (border router). Οι συνοριακοί δρομολογητές επικοινωνούν μεταξύ τους με ειδικά μηνύματα κατάστασης συνδέσμων, τα οποία περιέχουν μια περίληψη της τοπολογίας στην κάθε περιοχή.



[1] Internetworking Packet Exchange, πρωτόκολλο που χρησιμοποιείται από το λειτουργικό Novell Netware. Χρησιμοποιείται για connectionless επικοινωνίες.

[2] Internet Protocol. Επιτρέπει τη διευθυνσιοδότηση ενός πακέτου και την αποστολή του χωρίς να υπάρχει άμεσος σύνδεσμος μεταξύ αποστολέα και παραλήπτη. Συνδυάζεται συνήθως με το TCP(Transmission Control Protocol), το οποίο δίνει τη δυνατότητα σε δύο hosts να επικοινωνούν και να ανταλλάσσουν και να ανταλλάξουν δεδομένα. Τα πακέτα μεταδίδονται με τη σειρά που στάλθηκαν και φτάνουν πάντα στον προορισμό τους.