10.2.1         Πρωτόκολλο BGP

Το πρωτόκολλο Border Gateway Protocol, BGP, έκδοση 4, που καθορίζεται στο RFC 1771 (βλ. επίσης [RFC 1772, RFC 1773]) είναι το ντε φάκτο πρότυπο πρωτόκολλο διατομεακής δρομολόγησης στο Διαδίκτυο σήμερα. Συνήθως αναφέρεται ως BGP4 ή απλώς ως BGP. Ως ένα πρωτόκολλο δρομολόγησης διαυτόνομου συστήματος, παρέ­χει την δυνατότητα δρομολόγησης ανάμεσα σε αυτόνομα συστήματα (ΑΣ).Η Εικόνα 10.6 δείχνει τα πρωτόκολλα ενδο-ΑΣ και δια-ΑΣ που χρησιμοποιούνται μέσα στο AS2 ­το BGP χρησιμοποιείται για να καθορίσει οδούς προς προορισμούς που βρίσκονται έξω από το AS2, ενώ το OSPF χρησιμοποιείται για να καθορίσει οδούς προς προορι­σμούς μέσα στο AS2.

 

           

Εικόνα 10.6: Χρήση του BGP για διατομεακή δρομολόγηση

 

Ενώ το BGP έχει την ίδια γενική υφή με το πρωτόκολλο διανύσματος , χαρακτηρίζεται πιο κατάλληλα ως πρωτόκολλο διανύσματος διαδρομής. Αυτό συμβαίνει επειδή οι γειτονικοί δρομολογητές BGP, γνω­στοί σαν ομότιμοι BGP, ανταλλάσσουν αναλυτικές πληροφορίες διαδρομών (όπως τη λίστα των ΑΣ επάνω στη διαδρομή προς ένα δεδομένο προορισμό), αντί πληροφο­ριών κόστους. Όπως συμβαίνει στο πρωτογενές πρωτόκολλο διανύσματος απόστα­σης, το BGP είναι ένα κατανεμημένο πρωτόκολλο κατά το ότι οι δρομολογητές BGP επικοινωνούν μόνο με εκείνούς τους δρομολογητές BGP με τους οποίους είναι απευ­θείας συνδεδεμένοι. Καθολικές πληροφορίες για οδούς προς απομακρυσμένους προο­ρισμούς διαδίδονται με έναν τρόπο ΑΙ προς ΑΣ, μέσω της ανταλλαγής πληροφοριών δρομολόγησης BGP, ανάμεσα σε ζεύξη απευθείας συνδεδεμένων ομότιμων BGP. Επί­σης παρατηρούμε ότι το BGP δρομολογεί προς δίκτυα προορισμού (με την έννοια της διευθυνσιοδότησης) και όχι προς συγκεκριμένους υπολογιστές υπηρεσίας ή δρομολο­γητές. Όταν ένα δεδομενόγραμμα φτάσει στο δίκτυο προορισμού, τότε η δρομολόγη­ση ενδο-ΑΙ συστήματος αυτού του δικτύου θα χρησιμοποιηθεί για δρομολόγηση του δεδομενογράμματος προς τον τελικό του προορισμό. Στο BGP, ένα αυτόνομο σύστη­μα προσδιορίζεται από τον καθολικά μοναδικό του αριθμό αυτόνομου συστήματος (autonomous system number, ASN) [RFC 1930].

Στον πυρήνα του BGP υπάρχουν οι δημοσιοποιήσεις οδών. Μια δημοσιοποίηση οδού στέλνεται από ένα ομότιμο BGP σε ένα άλλο, επάνω σε μια σύνδεση από ση­μείου προς σημείο. Μια δημοσιοποίηση αποτελείται από μια διεύθυνση δικτύου προο­ρισμού τύπου CΙDR (για παράδειγμα 128.119.40/24) και ένα σύνολο ιδιοτήτων που σχετίζονται με τη διαδρομή προς αυτό το δίκτυο προορισμού. Δύο από τις σημαντικό­τερες ιδιότητες είναι η ιδιότητα διαδρομής (μια ρητή λίστα με όλα τα ΑΣ. επάνω στην διαδρομή προς το καθορισμένο δίκτυο προορισμού) και η ταυτότητα του δρομολογητή επόμενου άλματος επάνω σε αυτή τη διαδρομή προς το δίκτυο προορισμού. Για μια πλήρη συζήτηση περί των ιδιοτήτων οδού, δείτε [Griffin 2002, Stewart 1999, Halabi 2000].

Η λειτουργία του BGP περιστρέφεται γύρω από τρεις δραστηριότητες, όπου όλες περιλαμβάνουν δημοσιοποιήσεις οδών:

Ø       Λήψη και φιλτράρισμα δημοσιοποιήσεων οδών από απευθείας συνδεδεμένους γειτονικούς δρομολογητές. Ένας δρομολογητής BGP θα δέχεται δημοσιοποιήσεις οδών από ένα ομότιμο BGP. Μπορούμε να φανταστούμε μια λαμβανόμενη δημοσιοποίη­ση οδού BGP σαν μια "υπόσχεση". Ένας ομότιμος BGP που δημοσιοποιεί μια οδό σε ένα ΑΣ. προορισμού υπόσχεται ότι αν ένα γειτονικό ΑΣ. προωθήσει ένα δεδομε­νόγραμμα που προορίζεται για αυτό το ΑΣ., τότε θα μπορέσει να προωθήσει το δεδομενόγραμμα περαιτέρω επάνω σε μια διαδρομή προς αυτό τον προορισμό. Ένας δρομολογητής BGP μπορεί επίσης να φιλτράρει (να απορρίψει) λαμβανόμε­νες δημοσιοποιήσεις οδών. Για παράδειγμα, ένας δρομολογητής BGP θα αγνοήσει δημοσιοποιήσεις που περιέχουν τον δικό του αριθμό ΑΣ. στην διαδρομή ΑΣ., εφό­σον αυτή η διαδρομή θα έχει σαν αποτέλεσμα ένα βρόχο δρομολόγησης, αν χρησι­μοποιηθεί. Επειδή καθορίζεται η πλήρης διαδρομή ΑΣ, ένας διαχειριστής δικτύου μπορεί να ασκήσει σημαντικό έλεγχο ως προς το πού δρομολογούνται τα δεδομε­νογράμματά του.

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

 

Πώς όμως επιλέγει ένας δρομολογητής BGP ανάμεσα σε πολλαπλές διαδρο­μές; Το BGP κάνει μια σαφή διάκριση ανάμεσα στον μηχανισμό δρομολόγησης και στην πολιτική δρομολόγησης. Συγκεκριμένα, το BGP δεν καθορίζει πώς ένα ΑΣ. πρέπει να επιλέξει μια διαδρομή ανάμεσα σε αυτές που έχουν δημοσιοποιηθεί. Αυτή είναι μια απόφαση πολιτικής που επαφίεται στον διαχειριστή του δικτύου ΑΣ. Ένας διαχειριστής δικτύου μπορεί να καθορίσει τις καλούμενες τοπικές προτι­μήσεις, για παράδειγμα, να δηλώσει ότι δρομολόγηση μέσω του γειτονικού ΑΣ Α είναι πάντα προτιμότερη σε σχέση με τη δρομολόγηση μέσω του γειτονικού ΑΣ Β, όταν υπάρχει επιλογή. Αν δεν υπάρχουν τοπικές προτιμήσεις, τότε η οδός που επιλέγεται είναι αυτή με τη βραχύτερη διαδρομή ΑΣ (δηλαδή, αυτή που περνά από τον μικρότερο αριθμό ΑΣ. επάνω στη διαδρομή προς τον προορισμό).

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

 

Οι ομότιμοι BGP επικοινωνούν χρησιμοποιώντας το πρωτόκολλο TCP και τον αριθμό θύρας 179. Το TCP λοιπόν παρέχει τη δυνατότητα αξιόπιστης και ελεγμέ­νης για συμφόρηση ανταλλαγής μηνυμάτων, ανάμεσα σε δύο ομότιμους BGP. Το πρωτόκολλο BGP ορίζει τους τέσσερις τύπους μηνυμάτων ΟΡΕΝ, UPDATE, KEEPALIVE και NOTIFICATION.

Ø       ΟΡΕΝ. Όταν ένας δρομολογητής BGP θέλει να έλθει σε επαφή για πρώτη φορά με ένα ομότιμο BGP (για παράδειγμα, μόλις έχει εκκινήσει ο ίδιος ο δρομολογητής ή μια ζεύξη σύνδεσης), ένα μήνυμα ΟΡΕΝ στέλνεται στον ομότιμο. Το μήνυμα ΟΡΕΝ επιτρέπει σε ένα δρομολογητή BGP να ταυτοποιήσει και να πιστοποιήσει τον εαυτό του και να δώσει πληροφορίες χρονομετρητή. Αν το ΟΡΕΝ γίνει δεκτό από τον ομότιμο, αυτός θα στείλει πίσω ένα μήνυμα KEEPALΙVE.

Ø       UΡDΑΤΕ. Ένας δρομολογητής BGP χρησιμοποιεί το μήνυμα UΡDΑΤΕ για να δημο­σιοποιήσει μια διαδρομή προς ένα δεδομένο προορισμό στον ομότιμο BGP. Το μήνυμα UΡDΑΤΕ μπορεί επίσης να χρησιμοποιηθεί για να αποσύρει μια διαδρομή που έχει δημοσιοποιηθεί προηγουμένως (δηλαδή, να πει σε ένα ομότιμο ότι μια διαδρομή που έχει δημοσιοποιηθεί προηγουμένως δεν είναι πλέον έγκυρη). Μια διαδρομή BGP θεωρείται έγκυρη μέχρι να αποσυρθεί ρητά.

Ø       KEEPALΙVE. Αυτό το μήνυμα BGP χρησιμοποιείται για να δηλώνει σε ένα ομότιμο ότι ο αποστολέας είναι ενεργός, αλλά δεν έχει άλλες πληροφορίες να στείλει. Επίσης λειτουργεί σαν γνωστοποίηση σε ένα λαμβανόμενο μήνυμα ΟΡΕΝ.

Ø       NOTIFICATION. Αυτό το μήνυμα BGP χρησιμοποιείται για να πληροφορήσει ένα ομό­τιμο ότι έχει ανιχνευθεί ένα σφάλμα (για παράδειγμα σε ένα προηγουμένως μεταδο­θέν μήνυμα BGP) ή ότι ο αποστολέας είναι έτοιμος να κλείσει τη σύνοδο BGP.