Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π Ε Ι Ρ Α Ι Ω Σ Τ Μ Η Μ Α Ψ Η Φ Ι Α Κ Ω Ν Σ Υ Σ Τ Η Μ Α Τ Ω Ν Π. Μ. Σ. Ψ Η Φ Ι Α Κ Ε Σ Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Ε Σ & Δ Ι Κ Τ Υ Α

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π Ε Ι Ρ Α Ι Ω Σ Τ Μ Η Μ Α Ψ Η Φ Ι Α Κ Ω Ν Σ Υ Σ Τ Η Μ Α Τ Ω Ν Π. Μ. Σ. Ψ Η Φ Ι Α Κ Ε Σ Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Ε Σ & Δ Ι Κ Τ Υ Α"

Transcript

1 Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π Ε Ι Ρ Α Ι Ω Σ Τ Μ Η Μ Α Ψ Η Φ Ι Α Κ Ω Ν Σ Υ Σ Τ Η Μ Α Τ Ω Ν Π. Μ. Σ. Ψ Η Φ Ι Α Κ Ε Σ Ε Π Ι Κ Ο Ι Ν Ω Ν Ι Ε Σ & Δ Ι Κ Τ Υ Α Π Ρ Ο Β Λ Η Μ Α Τ Α Π Ρ Ω Τ Ο Κ Ο Λ Λ Ω Ν Ε Ξ Ω Τ Ε Ρ Ι Κ Η Σ Δ Ρ Ο Μ Ο Λ Ο Γ Η Σ Η Σ Κ Α Ι Η Α Ν Τ Ι Μ Ε Τ Ω Π Ι Σ Η Τ Ο Υ Σ, Η Π Ε Ρ Ι Π Τ Ω Σ Η Τ Ο Υ B G P Πτυχιακή Εργασία του Πεντερίδη Χρήστου ΜΕ 1560 Επιβλέπων: Μηλιώνης Απόστολος ΠΕΙΡΑΙΑΣ ΙΟΥΛΙΟΣ 2017

2

3 Πίνακας περιεχομένων Πίνακας περιεχομένων... i Λίστα Εικόνων... iv Λίστα Πινάκων... vi Περίληψη... vii Κεφάλαιο 1 Εισαγωγή... 1 Αυτόνομα Συστήματα... 2 Διαφορές IBGP και EBGP... 3 Σύγκριση πρωτοκόλλων δρομολόγησης... 4 Πότε πρέπει να χρησιμοποιείται το BGP... 5 Πότε δεν πρέπει να χρησιμοποιείται το BGP... 6 Κεφάλαιο 2 Τα χαρακτηριστικά του BGP... 8 Η επικεφαλίδα των μηνυμάτων του BGP... 8 Οι τύποι των μηνυμάτων του BGP... 9 OPEN... 9 UPDATE KEEPALIVE NOTIFICATION Τα στάδια μιας γειτονίας Εγκατάσταση γειτονίας μεταξύ δυο router Ta Path Attributes του BGP Well-Known Mandatory Well-Known Discretionary Optional Transitive Optional Non-Transitive [i]

4 Η διαδικασία της επιλογής μιας διαδρομής Οι Πίνακες του BGP Προβλήματα BGP γειτονιών Η επιλογή της κατάλληλης Source IP διεύθυνσης Εγκατάσταση γειτονίας μεταξύ Αυτόνομων Συστημάτων Το Next-hop attribute Επανεκκίνηση BGP συνόδων Κεφάλαιο 3 Διαφήμιση διαδρομών στο BGP Προβλήματα διαφήμισης BGP διαδρομών Ομαδοποίηση διαδρομών Η συνύπαρξη δύο routing πρωτοκόλλων και η μέθοδος του redistribution Διάδοση διαδρομών σε ένα Αυτόνομο Σύστημα Confederations Route Reflectors Διαφήμιση διαδρομών σε ένα Transit δίκτυο Κεφάλαιο 4 Προβλήματα που βασίζονται στα Path Attributes Το Weight attribute To Local Preference attribute Το MED attribute Origin Attribute AS_Path Attribute Κεφάλαιο 5 Communities Well-known communities Private communities Κεφάλαιο 6 Πολιτικές Filtering Peer Groups [ii]

5 Πολιτικές prefix filtering και Route Maps Η χρήση των Route Maps Regular Expressions AS_Path Filtering Κεφάλαιο 7 Multiprotocol BGP MP-BGP unicast IPv Συντομογραφίες Συμπεράσματα Αναφορές [iii]

6 Λίστα Εικόνων Εικόνα 1 -Αυτόνομα Συστήματα και η σύνδεση τους με το BGP... 3 Εικόνα 2 - Η επικεφαλίδα των BGP μηνυμάτων... 8 Εικόνα 3 - BGP Open μήνυμα... 9 Εικόνα 4 - BGP Update μήνυμα Εικόνα 5 - BGP Notification μήνυμα Εικόνα 6- Τα στάδια εγκατάστασης μιας BGP γειτονίας Εικόνα 7 - BGP τοπολογία εγκατάστασης γειτονίας Εικόνα 8 - BGP μηνύματα Εικόνα 9 - Μήνυμα Update Εικόνα 10 - Τοπολογία BGP γειτονίας Εικόνα 11 - Τοπολογία εργαστηρίου BGP γειτονιών Εικόνα 12 - TCP μηνύματα στο Wireshark Εικόνα 13 - Το πεδίο Time to live στο Wireshark Εικόνα 14 - Τοπολογία διαφήμισης διαδρομών Εικόνα 15 - Βήματα αλλαγής AS_PATH εντός μιας confederation Εικόνα 16 - Τοπολογία με Confederations σε ένα Αυτόνομο Σύστημα Εικόνα 17 - Full Mesh τοπολογία Εικόνα 18 - Route reflector - Star τοπολογία Εικόνα 19 - Τοπολογία Route Reflectors Εικόνα 20 - Διαφήμιση διαδρομών σε ένα Transit δίκτυο Εικόνα 21 - Τοπολογία Weight attribute Εικόνα 22 - Τοπολογία Local Preference attribute Εικόνα 23 - Τοπολογία MED attribute [iv]

7 Εικόνα 24 - Τοπολογία Origin attribute Εικόνα 25 - Τοπολογία AS_Path attribute Εικόνα 26 - Τοπολογία Well-known communities Εικόνα 27 - Χρήση Private Communities για διαφοροποίηση του Local Preference Εικόνα 28 - BGP Filtering Εικόνα 29 - Τοπολογία Peer Group Εικόνα 30 - Router policy processing (η εικόνα είναι από το βιβλίο CCNP Route σελ. 577) Εικόνα 31 - Τοπολογία AS_Path access list Εικόνα 32 - Τοπολογία MP-BGP IPv6 και IPv Εικόνα 33 - Στιγμιότυπο από το Wireshark, IPv4 over IPv4, για το Update που στέλνει ο R Εικόνα 34 - Στιγμιότυπο από το Wireshark, IPv6 over IPv6, για το Update που στέλνει ο R Εικόνα 35 - Στιγμιότυπο από το Wireshark, IPv4 over IPv4, για το Update που στέλνει ο R Εικόνα 36 - Στιγμιότυπο από το Wireshark, IPv4 over IPv4, για το Update που στέλνει ο R1 με IPv4 address Εικόνα 37 - Στιγμιότυπο από το Wireshark, IPv4 over IPv6, για το Update που στέλνει ο R1 με IPv6 address Εικόνα 38 - Στιγμιότυπο από το Wireshark, IPv6 over IPv6, για το Update που στέλνει ο R [v]

8 Λίστα Πινάκων Πίνακας 1 - Σύγκριση Πρωτοκόλλων Δρομολόγησης... 5 Πίνακας 2 - Καταστάσεις Γειτονιών Πίνακας 3 - Διευκρινίσεις για τις κατηγοριοποιήσεις των path attributes Πίνακας 4 - Συνοπτική λίστα των Path Attributes Πίνακας 5 - BGP policy processing order Πίνακας 6 - Regular Expressions [vi]

9 Περίληψη Η παρούσα εργασία έχει ως στόχο να αναλύσει τον τρόπο με τον οποίο γίνεται η δρομολόγηση μεταξύ των Αυτόνομων Συστημάτων που σχηματίζουν το Internet. Στα δύο πρώτα κεφάλαια, παρουσιάζεται το πρωτόκολλο BGP το οποίο χρησιμοποιείται γι αυτό το σκοπό. Στα επόμενα κεφάλαια παρουσιάζονται διάφορα χαρακτηριστικά του πρωτοκόλλου ενώ γίνονται και αναφορές σε προβλήματα που μπορεί να προκύψουν. Για κάθε χαρακτηριστικό που αναφέρεται, ακολουθεί το εργαστηριακό μέρος, με δικτυακές τοπολογίες, που παρουσιάζει στην πράξη τη χρήση του. [vii]

10 Κεφάλαιο 1 Εισαγωγή Το Internet, αναντίρρητα, αποτελεί την μεγαλύτερη εφεύρεση του ανθρώπου τον περασμένο αιώνα η επίδραση του στη σύγχρονη καθημερινότητα είναι πλέον τεράστια και ολοένα αυξανόμενη ενώ το ποσοστό των ανθρώπων που το χρησιμοποιεί αυξάνει αντίστοιχα όπως και η εξάρτηση του από αυτό. Οι υπηρεσίες που προσφέρει χρησιμοποιούνται από όλους πολίτες, εταιρίες, οργανισμοί προσφέροντας τους διασύνδεση με τον έξω κόσμο και απομακρυσμένα γεωγραφικά σημεία. Μπορούμε να χρησιμοποιήσουμε το παράδειγμα ενός μεγάλου οργανισμού που χρησιμοποιεί το VPN (Virtual Private Network) για να ενώσει τα διάφορα απομακρυσμένα, γεωγραφικά, παραρτήματα του χρησιμοποιώντας την τεχνική του tunneling σε όλο το Internet. Υπηρεσίες cloud storage και cloud computing προσφέρουν τη δυνατότητα διαχείρισης και ασφάλισης των αρχείων σε όλο το Internet ενώ υπηρεσίες όπως το video streaming και η VoIP επικοινωνία βρίσκονται σε άνθηση. Με τόση εξάρτηση από το Internet όλα σχεδόν τα δίκτυα που δημιουργούνται περιλαμβάνουν στο σχεδιασμό τους τη σύνδεση τους με αυτό. Οι τρόποι για να γίνει αυτό ποικίλουν ανάλογα το χρηματικό ποσό που μπορεί να διατεθεί και τις ανάγκες που υπάρχουν σε bandwidth και αξιοπιστία. Ένας μεμονωμένος χρήστης ή μια εταιρία μπορεί να ζητήσει από τον τοπικό πάροχο (ISP) να συνδεθεί στο δίκτυο του ώστε να επικοινωνεί με τον έξω κόσμο μέσω του Internet. Oι ISPs με τη σειρά τους συνδέονται μεταξύ τους είτε με μεγαλύτερους ISPs δημιουργώντας ένα παγκόσμιο δίκτυο. Πολλές φορές όμως μια μεγαλύτερη εταιρία ή ένας οργανισμός όμως θα χρειαστεί να δημιουργήσει το δικό της δίκτυο το οποίο θα επικοινωνεί επίσης με ISPs όμως θα είναι και αυτό μέλος του συνόλου των οργανισμών και ISPs που αποτελούν τον κορμό του Internet. Για να διασυνδεθούν μεταξύ τους όλοι αυτοί οι οργανισμοί μπορούν να χρησιμοποιήσουν static routes, κάτι που σε μεγάλη κλίμακα είναι αδύνατο να υλοποιηθεί ή κάποιο πρωτόκολλο δρομολόγησης. Το πιο διαδεδομένο πρωτόκολλο δρομολόγησης που έχει επικρατήσει καθολικά γι αυτό το σκοπό είναι το BGP (Border Gateway Protocol). Σε αυτή την εργασία θα εξετάσουμε την τέταρτη έκδοση του BGP πρωτοκόλλου που ορίζεται από το RFC 4271 και δημοσιεύτηκε το Αργότερα ακολούθησαν αρκετές προσθήκες για το πρωτόκολλο με κυριότερη την RFC 4760 που ορίζει την υποστήριξη περισσοτέρων πρωτοκόλλων που μπορούν να λειτουργήσουν ταυτόχρονα συμπεριλαμβανομένου του IPv6. Το BGP χαρακτηρίζεται ως ένα path vector πρωτόκολλο εξωτερικής δρομολόγησης και λειτουργεί παράλληλα με πρωτόκολλα εσωτερικής δρομολόγησης τα οποία αναλαμβάνουν τη δρομολόγηση του εσωτερικού δικτύου ενός οργανισμού ή [1]

11 Αυτόνομου Συστήματος, ενώ αυτό χρησιμοποιείται για τη δρομολόγηση μεταξύ μεγαλύτερων διαφορετικών δικτύων, λαμβάνοντας έτσι τον χαρακτηρισμό ως το πρωτόκολλο του Internet. Ο όρος path vector προέκυψε από το γεγονός ότι μια διαδρομή δρομολόγησης κρατά ένα αρχείο από τα Αυτόνομα Συστήματα που έχει διανύσει και χρησιμοποιείται για την αποφυγή loops (βρόχων). Επομένως μπορούμε να πούμε ότι κύριος στόχος του BGP είναι η παροχή ενός συστήματος ασφαλούς δρομολόγησης σε μια loop-free τοπολογία μεταξύ των Αυτόνομων Συστημάτων. Αυτόνομα Συστήματα Με τον όρο Αυτόνομα Συστήματα (AS) εννοούμε ένα σύνολο από δικτυακές συσκευές, τη διαχείριση των οποίων έχει αναλάβει ένας οργανισμός. Η εσωτερική δρομολόγηση γίνεται συνήθως με κάποιο IGP (Interior Gateway Protocol) πρωτόκολλο ενώ η εξωτερική με κάποιο EGP (Exterior Gateway Protocol). Σε κάθε AS αποδίδεται από την IANA 1 ένας αριθμός (ASN) ώστε να μπορεί να συμμετέχει μέσω του BGP σε μεγαλύτερα δίκτυα. Τα AS με τη σειρά τους διαχωρίζονται σε public, private και reserved ως εξής: 0: reserved : public ASNs : reserved to use in documentation : private ASNs 65535: reserved Επομένως, αν θελήσει κάποιος οργανισμός να συμμετέχει στο Internet και να συνδεθεί μέσω BGP με άλλα Αυτόνομα Συστήματα θα πρέπει να ζητήσει από την IANA έναν ASN ώστε να μπορεί να το διαχειρίζεται και να συμμετέχει στη διαδικασία σύνδεσης με τα άλλα Αυτόνομα Συστήματα μέσω ενός EGP και πιο συγκεκριμένα του BGP. 1 Ο οργανισμός IANA (Internet Assigned Numbers Authority) είναι υπεύθυνος για την απόδοση σε έναν οργανισμό ενός αριθμού Αυτόνομου Συστήματος (ASN), τη διάθεση IPv4 διευθύνσεων ανάλογα τη γεωγραφική περιοχή αλλά και άλλες υπηρεσίες που αφορούν το Internet. [2]

12 Εικόνα 1 -Αυτόνομα Συστήματα και η σύνδεση τους με το BGP Διαφορές IBGP και EBGP Όταν το BGP χρησιμοποιείται μεταξύ των routers που συνδέουν τα Αυτόνομα Συστήματα μεταξύ τους ονομάζεται EBGP (External BGP) αντίθετα όταν και αν χρησιμοποιηθεί εντός των Αυτόνομων Συστημάτων ονομάζεται IBGP (Internal BGP). Ο διαχωρισμός αυτός δεν γίνεται για εκπαιδευτικούς λόγους αλλά επειδή η συμπεριφορά του πρωτοκόλλου, όπως θα δούμε σε επόμενα κεφάλαια, διαφέρει ανάλογα αν ένας router χαρακτηρίζεται ως EBGP router ή IBGP router. Τις διαφορές μεταξύ του IBGP και του EBGP θα τις δούμε στην πορεία μελετώντας το πρωτόκολλο, ο παρακάτω πίνακας όμως αναφέρει κάποιες από αυτές. IBGP Μεταξύ των Peers εντός ενός Αυτόνομου Συστήματος απαιτείται η ύπαρξη full-mesh καθώς ένας IBGP speaker δεν επιτρέπεται να διαφημίσει προθέματα δικτύων σε άλλον IBGP speaker. Δεν απαιτείται δυο IBGP peers να είναι άμεσα συνδεδεμένοι για να δημιουργήσουν γειτονία. EBGP Δεν χρειάζεται full-mesh. Απαιτείται άμεση σύνδεση για τη δημιουργία γειτονίας. [3]

13 Δεν αλλάζει το attribute Next-hop και το AS_Path ενώ διαφημίζει το attribute Local Preference Αλλάζει το attribute AS_Path όπως και το Nexthop. Πίνακας 1 - Βασικές διαφορές μεταξύ IBGP και EBGP Σύγκριση πρωτοκόλλων δρομολόγησης Ένας τρόπος για να κατηγοριοποιήσουμε τα πρωτόκολλα δρομολόγησης είναι να τα διαχωρίσουμε σε πρωτόκολλα εσωτερικής (IGP) και εξωτερικής (EGP) δρομολόγησης. Τα κυριότερα πρωτόκολλα εσωτερικής δρομολόγησης είναι το RIP, το EIGRP, το OSPF και το IS-IS ενώ το πρωτόκολλο που επικράτησε για την εξωτερική δρομολόγηση είναι το BGP το οποίο λόγω κάποιων χαρακτηριστικών του όπως η σταθερότητα και ο αλγόριθμος εύρεσης του βέλτιστου μονοπατιού επικράτησε απόλυτα για αυτή τη λειτουργία. Οι κυριότερες διάφορες των πρωτοκόλλων εσωτερικής εξωτερικής δρομολόγησης έχουν να κάνουν με τον τρόπο που σχηματίζονται οι γειτονίες αλλά και με τον τρόπο που θέλουν να μεταδώσουν τα προθέματα των δικτύων που πρέπει να μεταδώσουν. Ένα IGP πρωτόκολλο ψάχνει και σχηματίζει αυτόματα γειτονίες ενώ ένα EGP απαιτεί η γειτονία να δημιουργηθεί χειροκίνητα. Αυτό το γεγονός έχει να κάνει με το ότι τα IGP πρωτόκολλα από το σχεδιασμό τους επειδή λειτουργούν εσωτερικά ενός Αυτόνομου Συστήματος εμπιστεύονται τις υπόλοιπες δικτυακές συσκευές, αντίθετα ένα EGP πρωτόκολλο επειδή σχηματίζει γειτονίες εντός διαφορετικών Αυτόνομων Συστημάτων που η διαχείριση τους ανήκει σε άλλο οργανισμό για λόγους, κυρίως, ασφαλείας απαιτεί χειροκίνητη δημιουργία γειτονίας με τη συμμετοχή και τον δύο πλευρών. Τα IGP πρωτόκολλα δημιουργήθηκαν για να παρέχουν έναν ευέλικτο τρόπο να ενοποιείται ένα δίκτυο που ανήκει σε κάποιο Αυτόνομο Σύστημα δίνοντας πληροφορίες για το πως θα φτάσει κάποιο πακέτο στον προορισμό του. Αντίθετα, τα EGP πρωτόκολλα παρέχουν την πληροφορία για το τι υπάρχει σε μια δικτυακή τοποθεσία αλλά όχι και πως θα φτάσει κανείς εκεί. Μια ακόμη διαφορά είναι ότι τα IGP πρωτόκολλα αλλάζουν το Next-hop για ένα πρόθεμα δικτύου ενώ τα EGP και συγκεκριμένα το IBGP δεν το κάνουν. Φυσικά, με τις κατάλληλες ρυθμίσεις σχεδόν όλα τα πρωτόκολλα μπορούν να χρησιμοποιηθούν σαν IGP και EGP αλλά αυτό δεν είναι πάντα αποδοτικό. Για παράδειγμα το BGP είναι έχει πολύ αργή σύγκλιση σε σχέση με το EIGRP και το OSPF αλλά μπορεί να λειτουργήσει σαν IGP ενώ και τα IGP πρωτόκολλα μπορούν να δρομολογήσουν μεταξύ Αυτόνομων Συστημάτων όμως σε μεγάλες τοπολογίες και λόγω των διαρκών [4]

14 updates θα απαιτούσαν είτε εξαιρετικά ισχυρούς router είτε θα κατέρρεαν από το πλήθος των δικτύων που θα έπρεπε να διαχειριστούν. Στον πίνακα που ακολουθεί μπορούμε να δούμε τις βασικές διαφορές των τριών κύριων πρωτοκόλλων εσωτερικής και εξωτερικής δρομολόγησης. Πρωτόκολλα EIGRP OSPF BGP Κατηγοριοποίηση Εσωτερική δρομολόγηση Εσωτερική δρομολόγηση Εξωτερική δρομολόγηση Τύπος Advanced distance Link State Path Vector Vector Metric Bandwidth Delay Cost Attributes Administrative 90 internal, 170 external EBGP, 200 IBGP Distances Σύγκλιση Πολύ γρήγορη Γρήγορη Αργή Timers Update (hello Dead Μόνο όταν γίνουν αλλαγές (LAN 5 και 15 Μόνο όταν γίνουν αλλαγές Μόνο όταν γίνουν αλλαγές (60 και 180sec) interval) sec, WAN 60 και 180sec) Ενημερώσεις Μόνο τις αλλαγές Μόνο τις αλλαγές Μόνο τις αλλαγές Αλγόριθμος DUAL Dijkstra Best Path Algorithm Διεύθυνση Multicast Multicast και Unicast ενημερώσεων Πρωτόκολλα - Πόρτες Πρωτόκολλο IP, πόρτα 88 Πρωτόκολλο IP, πόρτα 89 Πρωτόκολλο TCP, πόρτα 179 Λειτουργία IP EIGRP Neighbor Table IP EIGRP Topology Table IP EIGRP Routing Table Neighbor Table Topology Table Routing Table Neighbor Database BGP Database Routing Table Πίνακας 2 - Σύγκριση Πρωτοκόλλων Δρομολόγησης Πότε πρέπει να χρησιμοποιείται το BGP Το BGP όπως θα δούμε και παρακάτω είναι ένα αρκετά πολύπλοκο πρωτόκολλο. Οι ρυθμίσεις του είναι χρονοβόρες ενώ δεν γίνεται εύκολα κατανοητός ο τρόπος λειτουργίας του και τα αποτελέσματα της χρήσης του μπορεί να είναι αντίθετα από τα επιδιωκόμενα. Η χρήση του προτείνεται όταν: [5]

15 Όταν ένας οργανισμός είναι συνδεδεμένος με δύο ή περισσότερες συνδέσεις σε διαφορετικά Αυτόνομα Συστήματα ή διαφορετικούς ISPs και θέλει να μπορεί να κατευθύνει την δικτυακή κίνηση από και προς το δίκτυο του όπως αυτός επιθυμεί. Ο οργανισμός που θέλει να το χρησιμοποιήσει είναι ένας ISP που διαθέτει δικό του Αυτόνομο Συστήμα και μπορεί να αποτελέσει ένα transit δίκτυο για πακέτα που απευθύνονται σε άλλα Αυτόνομα Συστήματα. Όταν οι πολιτικές ασφαλείας ενός οργανισμού απαιτούν φιλτράρισμα των δεδομένων που εισέρχονται και εξέρχονται από το Αυτόνομο Συστήμα ή απαιτείται να γίνει διαχωρισμός των διαδρομών που γνωρίζουν κάποια απομακρυσμένα δίκτυα. Για παράδειγμα routers που πίσω από αυτούς βρίσκονται κάποια ευαίσθητα δεδομένα ενός οργανισμού δεν χρειάζεται να έχουν πλήρη επίγνωση του δικτύου αλλά είναι αρκετό να λάβουν μόνο τα απαραίτητα routes για να έχουν σύνδεση με το υπόλοιπο δίκτυο. Σε εξαιρετικά μεγάλες υλοποιήσεις δικτύων και οργανισμούς που διαθέτουν φυσικά δίκτυα σε διαφορετικές γεωγραφικές περιοχές που τα δεδομένα του δικτύου θα περάσουν και από δημόσια δίκτυα. Ακόμα και αν σε κάποιες περιπτώσεις θα μπορούσε να επιτελέσει την ίδια λειτουργία το ίδιο καλά και ένα IGP πρωτόκολλο όπως το OSPF το BGP πλεονεκτεί γιατί έχει ένα πιο πολύπλοκο σύστημα για την εύρεση του κατάλληλου μονοπατιού, διαθέτει φίλτρα και μπορεί να απομονώσει εύκολα κάποια υποδίκτυα, τα updates του γίνονται μόνο όταν μαθευτεί ή χαθεί κάποια διαδρομή οπότε δεν υπάρχει μεγάλη κατανάλωση σε bandwidth. Μπορεί επίσης να χρησιμοποιηθεί αυθεντικοποίηση και τέλος οι γειτονίες ρυθμίζονται χειροκίνητα, επομένως η ασφάλεια είναι μεγαλύτερη. Πότε δεν πρέπει να χρησιμοποιείται το BGP Παρόλα τα πλεονεκτήματα που προσφέρει το BGP υπάρχουν περιπτώσεις που δεν είναι απαραίτητο να χρησιμοποιηθεί γιατί αυξάνει την πολυπλοκότητα χωρίς να παρέχει κάποιο όφελος. Περιπτώσεις όπως: Ένας οργανισμός που συνδέεται σε έναν ISP αντί για το BGP μπορεί να χρησιμοποιηθεί μια απλή Static default route ενώ το ίδιο θα κάνει και ο ISP χρησιμοποιώντας μια Static route. Όταν ο οργανισμός δεν διαθέτει το κατάλληλο hardware για να υποστηρίξει τις διαδρομές που θα λάβει από το πρωτόκολλο. Για παράδειγμα ένας router ενός ISP μπορεί να διαθέτει εκατοντάδες χιλιάδες διαδρομές προς όλα τα Αυτόνομα Συστήματα και δημόσια υποδίκτυα, [6]

16 όταν δέχεται updates θα πρέπει να καταναλώνει πολύ μεγάλη επεξεργαστική ισχύ και να διαθέτει μεγάλο μέρος της μνήμης του ώστε να μπορέσει να επεξεργαστεί τον όγκο της πληροφορίας που λαμβάνει. [7]

17 Κεφάλαιο 2 Τα χαρακτηριστικά του BGP Για τη δημιουργία γειτονιών μεταξύ των αυτόνομων συστημάτων ή των router που συμμετέχουν στο BGP χρησιμοποιείται το TCP πρωτόκολλο και συγκεκριμένα η πόρτα 179. Με αυτή τη μέθοδο εξασφαλίζεται η αξιοπιστία της μετάδοσης λόγω των retransmissions αφού το BGP δεν διαθέτει κάποιον δικό του ενσωματωμένο μηχανισμό για την εξασφάλιση αξιόπιστης μετάδοσης των μηνυμάτων του. Η επικεφαλίδα των μηνυμάτων του BGP Το ελάχιστο συνολικό ενός μηνύματος BGP φτάνει τα 19 bytes ενώ το μέγιστο μέγεθος του μηνύματος μπορεί να φτάσει τα 4096 bytes. Η επικεφαλίδα έχει ελάχιστο μέγεθος 19 bytes με τα 16 από αυτά να χρησιμοποιούνται στο πεδίο Marker, 2 στο Length και 1 στο Type. Ανάλογα με τον τύπο του μηνύματος μπορεί να ακολουθήσουν επιπλέον δεδομένα ή και όχι. Η μορφή της επικεφαλίδας φαίνεται παρακάτω: Εικόνα 2 - Η επικεφαλίδα των BGP μηνυμάτων Το πεδίο Marker χρησιμεύει στην αυθεντικοποίηση των εισερχόμενων BGP μηνυμάτων αλλά και για τον εντοπισμό ασυγχρόνιστων Peers. Το πεδίο αυτό μπορεί να έχει δυο μορφές ανάλογα με το αν έχει ή όχι αυθεντικοποίηση. Αν δεν έχει ονομάζεται open και όλα τα πεδία είναι 1. Διαφορετικά, οι τιμές του παίρνουν τη μορφή που ορίζει η αυθεντικοποίηση που χρησιμοποιείται. Το πεδίο Length χρησιμοποιείται για να ορίσει το μέγεθος του BGP μηνύματος συμπεριλαμβανομένης της επικεφαλίδας. Η τιμή που μπορεί να πάρει, όπως είδαμε νωρίτερα, μπορεί να κυμανθεί από 19 έως 4096 bytes. [8]

18 Τέλος στο πεδίο Type συναντώνται οι τύποι μηνυμάτων που χρησιμοποιούνται στο BGP, το 1 αντιστοιχεί στο OPEN, το 2 στο UPDATE, το 3 στο NOTIFICATION και το 4 στο KEEPALIVE. Οι τύποι των μηνυμάτων του BGP Εφόσον έχει εγκατασταθεί μια γειτονία μεταξύ δυο BGP speakers 2, οι οποίοι πλέον θα ονομάζονται peers 3. Οι BGP peers ανταλλάσσουν μεταξύ τους μηνύματα ώστε να διαπραγματευτούν τις παραμέτρους της σύνδεσης και να ανταλλάξουν πληροφορίες. Το BGP διαθέτει τέσσερα διαφορετικά είδη μηνυμάτων, τα Open, τα Notification, τα Keepalive και τα Update καθένα από τα οποία χρησιμοποιείται για μια διαφορετική λειτουργία. OPEN Τα Open μηνύματα χρησιμοποιούνται ώστε να γίνει η εγκαθίδρυση μιας γειτονίας μεταξύ δύο peers. Σε αυτά τα μηνύματα ανταλλάσσονται οι παράμετροι που διέπουν τη σύνοδο. Παρακάτω βλέπουμε την επικεφαλίδα που προσθέτει το open μήνυμα: Εικόνα 3 - BGP Open μήνυμα Version (8-bit): H έκδοση του BGP. Με την 4 να είναι αυτή που θα χρησιμοποιήσουμε στην παρούσα εργασία. 2 Ως BGP speaker ορίζεται μια δικτυακή συσκευή, συνήθως router, που συμμετέχει στη διαδικασία του BGP. 3 Ως BGP peers ορίζονται δικτυακές συσκευές που έχουν εγκαθιδρύσει γειτονία μεταξύ τους και ανταλλάσσουν BGP μηνύματα. [9]

19 My Autonomous System (16-bit): Πρόκειται για το Αυτόνομο Σύστημα στο οποίο ανήκει ο αποστολέας. Ο Παραλήπτης πρέπει να επιβεβαιώσει αν είναι σωστό, διαφορετικά κλείνει τη σύνοδο. Hold Time (16-bit): Ορίζει το μέγιστο όριο των δευτερολέπτων που μπορεί να μεσολαβήσει χωρίς ο router να λάβει keepalive ή update μήνυμα. BGP Identifier 4 (32-bit): Αποτελεί το αναγνωριστικό του BGP αποστολέα. Η τιμή του μπορεί να καθοριστεί στατικά προσπερνώντας οποιαδήποτε αυτόματη επιλογή. Διαφορετικά παίρνει την υψηλότερη τιμή IP διεύθυνσης ενός Loopback interface, αν δεν υπάρχει τότε παίρνει την υψηλότερη τιμή IP διεύθυνσης που έχει αποδοθεί σε κάποιο φυσικό interface. Optional Parameters Length (8-bit): Δηλώνει το μέγεθος των Optional parameters που θα ακολουθήσουν. Αν είναι μηδέν τότε δεν ακολουθούν άλλοι παράμετροι. Optional Parameters: Εδώ μπορεί να συναντήσουμε τις τιμές που μπορεί να πάρει το TLV, την μέθοδο αυθεντικοποίησης της συνόδου, την υποστήριξη άλλων πρωτοκόλλων κλπ. UPDATE Τα Update μηνύματα ανταλλάσσονται εφόσον έχει εγκαθιδρυθεί η γειτονία και αφορούν την ανταλλαγή πληροφοριών σχετικά με τη δρομολόγηση. Τα updates αυτά διαθέτουν έναν αύξοντα αριθμό και αποστέλλονται κάθε φορά που έχουμε αλλαγές στις πληροφορίες για τα δίκτυα που διαχειρίζεται ο κάθε peer. Οι αλλαγές αυτές, όπως φαίνεται και στην εικόνα, μπορεί να είναι η διαφήμιση μιας διαδρομής, η απόσυρση της ή η διαφήμιση συγκεκριμένων Path Attributes. Εικόνα 4 - BGP Update μήνυμα 4 Στην βιβλιογραφία συναντάται συνήθως ως Router ID ή RiD [10]

20 Με τις ενημερώσεις εξασφαλίζεται ότι το πρωτόκολλο δεν θα είναι τόσο απαιτητικό σε επεξεργαστική ισχύ και bandwidth αφού κάθε φορά που υπάρχει μια αλλαγή αποστέλλεται μόνο αυτή και όχι όλες οι πληροφορίες διαδρομών που έχει στη διάθεση του ο κάθε peer. KEEPALIVE Τα μηνύματα Keepalive αποστέλλονται περιοδικά, κάθε 60 δευτερόλεπτα, ώστε να διασφαλίσουν ότι η σύνοδος παραμένει ενεργή και έχουν πάντα το ελάχιστο μέγεθος των 19 bytes. Όταν το Open μήνυμα γίνει αποδεκτό τότε ένα keepalive μήνυμα αποστέλλεται πίσω στον δημιουργό του Open μηνύματος ως μήνυμα αποδοχής της συνόδου. NOTIFICATION Ανάλογα τον τύπο ενός Notification μηνύματος υποδηλώνεται το σφάλμα που βρέθηκε στην εφαρμογή του πρωτοκόλλου. Μπορεί να αναφέρονται σε έξι κύριες κατηγορίες σφαλμάτων τα σφάλματα που συμβαίνουν στην επικεφαλίδα, στα Open μηνύματα, στα Update μηνύματα, στη λήξη του Hold Timer, σε τυχαία σφάλματα και τέλος σε Cease σφάλματα που υποδηλώνουν τον ήπιο τερματισμό μιας BGP συνόδου. Στην εικόνα που ακολουθεί φαίνεται η επικεφαλίδα των Notification μηνυμάτων: Εικόνα 5 - BGP Notification μήνυμα Τα στάδια μιας γειτονίας Όπως είδαμε μετά την τριπλή χειραψία του TCP πρωτοκόλλου το BGP προσπαθεί να εγκαταστήσει τη σύνοδο με έναν peer ώστε να γίνουν γείτονες. Τα στάδια που μπορεί να περάσει ένας router που συμμετέχει στο BGP είναι Idle, Connect, Active, Open Sent, Open Confirm και Established. Πιο συγκεκριμένα: Idle: Ο router ψάχνει το Routing Table για να βρει αν υπάρχει διαδρομή (είτε στατικά ρυθμισμένη είτε μέσω IGP πρωτοκόλλου) για να φτάσει στον γείτονα. Αν δεν βρεθεί κάποια διαδρομή τότε η [11]

21 κατάσταση του router μπορεί να παραμείνει σε κατάσταση Idle. Η γειτονία σε αυτή τη φάση βρίσκεται στην προσπάθεια της εγκαθίδρυσης. Connect: Ο router γνωρίζει πως να φτάσει στον γείτονα και περιμένει να ολοκληρωθεί η τριπλή TCP χειραψία. Active: Η TCP χειραψία έχει ολοκληρωθεί και οι router είναι έτοιμοι να συνάψουν μια BGP γειτονία. Σε αυτήν την κατάσταση μπορεί επίσης να βρεθεί ένας router αν δεν υπάρχει απάντηση στο Open μήνυμα. Αυτό μπορεί να οφείλεται είτε σε κακή ρύθμιση του απέναντι router είτε σε περίπτωση που δεν υπάρχει τρόπος να επιστρέψει η απάντηση πίσω στον router που έστειλε το Open μήνυμα. OpenSent: Αποστέλλεται ένα Open μήνυμα με τις παραμέτρους της BGP συνόδου. Αν έρθει θετική απάντηση τότε ο router συνεχίζει με ένα Open Confirm μήνυμα, διαφορετικά θα μεταβεί σε κατάσταση Active. Open Confirm: Η διαπραγμάτευση των παραμέτρων έχει ολοκληρωθεί. Αν αρχίσει η ανταλλαγή των keepalives μηνυμάτων η κατάσταση της γειτονίας μπορεί να περάσει σε Established, διαφορετικά μεταβαίνει σε Idle. Established: H γειτονία έχει εγκαθιδρυθεί και μπορεί να ξεκινήσει η διαδικασία του routing και η ανταλλαγή μηνυμάτων όπως τα Update, keepalive και notification. Στον παρακάτω πίνακα μπορούμε να δούμε καλύτερα τα στάδια των γειτονιών και πότε μια γειτονία περνά σε άλλο στάδιο μέχρι να εγκαθιδρυθεί: Κατάσταση Λήφθηκε TCP μήνυμα; Έγινε η TCP χειραψία; Υπάρχει TCP session; Στάλθηκε Open Sent? Λήφθηκε Open; Υπάρχει Γείτονας; Idle ΟΧΙ Connect ΝΑΙ Active ΝΑΙ ΝΑΙ Open Sent ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ Open Confirm ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ Established ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ Πίνακας 3 - Καταστάσεις Γειτονιών [12]

22 Εικόνα 6- Τα στάδια εγκατάστασης μιας BGP γειτονίας Εγκατάσταση γειτονίας μεταξύ δυο router Σε αυτό το εργαστήριο θα δούμε, μέσω Wireshark και του debug των λειτουργικών συστημάτων (IOS) των router, πως γίνεται η εγκατάσταση μιας γειτονίας, τα στάδια που την διέπουν αλλά και τα μηνύματα που ανταλλάσσονται μεταξύ των routers. [13]

23 Εικόνα 7 - BGP τοπολογία εγκατάστασης γειτονίας Έχουμε 2 routers των R1 με IP address και τον R2 με IP address οι οποίοι βρίσκονται σε κοινό υποδίκτυο, επομένως, δεν θα χρειαστεί κάποιο είδος δρομολόγησης για να μπορέσουν να επικοινωνήσουν μεταξύ τους. Κάθε router διαθέτει ένα loopback interface και θα διαφημίσει στο BGP το υποδίκτυο στο οποίο ανήκει το κάθε interface. Με το που δόθηκαν οι εντολές στον R1 για να κάνει γειτονία με τον R2 στάλθηκε ένα SYN, TCP, μήνυμα στον R2 στην πόρτα 179. Η κατάσταση γειτονίας για τον R1 είναι Idle, αφού δεν λαμβάνει απάντηση από τον R2 που δεν έχει ακόμα τις ρυθμίσεις του πρωτοκόλλου. R1# show ip bgp summary BGP router identifier , local AS number BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd never Idle Με το που δοθούν οι κατάλληλες ρυθμίσεις και στον R2 έχουμε άμεση τριπλή χειραψία στο πρωτόκολλο TCP και στη συνέχεια την ανταλλαγή OPEN, UPDATE και KEEPALIVE μηνυμάτων μεταξύ των Router ώστε να εγκατασταθεί η γειτονία. [14]

24 Εικόνα 8 - BGP μηνύματα Στη συνέχεια έχουμε τις διαρκείς μεταβάσεις της γειτονίας από idle σε opensent, openconfirm και τέλος Established. Το οποίο διαπιστώνουμε και στους router δίνοντας την εντολή show ip bgp summary R1#show ip bgp summary BGP router identifier , local AS number BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd :03:41 0 Τέλος, προσθέτουμε τα 2 υποδίκτυα που ανήκουν τα loopback interfaces στο BGP και βλέπουμε στο Wireshark ένα update μήνυμα που διαδίδει ο R1 προς τον R2 δηλώνοντας το νέο υποδίκτυο. Το ίδιο μήνυμα θα είχαμε για οποιαδήποτε αλλαγή στις καταστάσεις των υποδικτύων, όπως είδαμε και παραπάνω. Εικόνα 9 - Μήνυμα Update Οι εντολές που χρησιμοποιήθηκαν: R1: R1(config)#router bgp R1(config-router)#neighbor remote-as R1(config-router)#network mask R2: R2(config)#router bgp [15]

25 R2(config-router)#neighbor remote-as R2(config-router)#network mask Ta Path Attributes του BGP Η διαδικασία επιλογής μιας διαδρομής από το BGP σε σχέση με τα άλλα πρωτόκολλα δρομολόγησης είναι αρκετά πολύπλοκη και βασίζεται σε κάποια γνωρίσματα, τα Path Attributes. Τα Path Attributes χωρίζονται σε 2 βασικές κατηγορίες, τα Well-known και τα Optional. Ως well-known χαρακτηρίζονται τα Path Attributes τα οποία υποστηρίζονται υποχρεωτικά σε όλες τις υλοποιήσεις του BGP ενώ τα Optional είναι αυτά που μπορούν να εξαιρεθούν. Τα Well-known Path Attributes χωρίζονται και αυτά με τη σειρά τους σε δύο κατηγορίες τα Mandatory και τα Discretionary. Τα Mandatory πρέπει να συμπεριλαμβάνονται υποχρεωτικά σε κάθε Update μήνυμα του BGP και όλες οι υλοποιήσεις του BGP πρέπει να μπορούν να κατανοούν αυτά τα γνωρίσματα. Τα Discretionary Path Attributes μεταφέρονται και αυτά σε κάθε Update και ενώ, η υλοποίηση του BGP θα πρέπει να τα κατανοεί, ο router μπορεί να τα αγνοήσει στη διαδικασία επιλογής της βέλτιστης διαδρομής. Ανάλογη κατηγοριοποίηση όμως συναντάται και στα Optional Path Attributes. Ανάλογα με τη συμπεριφορά του router που υλοποιεί το BGP και το αν μπορεί να κατανοήσει το Path Attribute έχουμε τα Transitive και τα Non-Transitive Path Attributes. Ως Transitive ορίζονται αυτά που ο router αν και δεν κατανοεί το περιεχόμενο τους τα προωθεί στους άλλους router που συμμετέχουν στην υλοποίηση του BGP ενώ ως Non-Transitive ορίζονται τα Path Attributes που ο router αφαιρεί από το Update και δεν τα προωθεί στους άλλους router. Όρος Υποστηρίζονται από Αποστέλλονται με Προωθούνται όλες τις υλοποιήσεις κάθε update μήνυμα σιωπηλά εφόσον δεν του BGP του BGP υποστηρίζονται Well-Known Mandatory ΝΑΙ ΝΑΙ - Well-Known ΝΑΙ ΟΧΙ - Discretionary Optional Transitive ΟΧΙ - ΝΑΙ Optional Non-Transitive ΟΧΙ - ΟΧΙ Πίνακας 4 - Διευκρινίσεις για τις κατηγοριοποιήσεις των path attributes [16]

26 Στον πίνακα που ακολουθεί παρουσιάζονται συνοπτικά τα Path Attributes: Attributes Ονομασία Περιγραφή Well-Known Mandatory Well-Known Discretionary Optional Transitive Optional Non- Transitive Origin AS_Path Next-hop Local Preference Atomic Aggregate Aggregator Community MED - Multiple Exit Discriminator Originator ID Cluster List Cluster ID Weight Προσδιορίζει την πηγή από όπου δημιουργήθηκε η πληροφορία για μια διαδρομή. Πρόκειται για μια λίστα με τα αυτόνομα συστήματα από τα οποία πέρασε η διαφήμιση μιας διαδρομής προς ένα δίκτυο. Δείχνει την Next-hop IP address που θα χρησιμοποιηθεί για να φτάσει ένα μήνυμα στον προορισμό του. Είναι τοπικό σε ένα Αυτόνομο Σύστημα και υποδηλώνει στους routers που ανήκουν σε αυτό ποια είναι η επιθυμητή έξοδος. Βάζει ένα tag σε ένα ομαδοποιημένο πρόθεμα δικτύου δηλώνοντας το ως ομαδοποιημένο. Είναι μια λίστα με τα Router IDs (RIDs) και τα ASN του router που έφτιαξε ένα ομαδοποιημένο πρόθεμα δικτύου. Χρησιμοποιούνται για το φιλτράρισμα εξερχομένων ή εισερχομένων διαδρομών. Υποδεικνύει στους εξωτερικούς γείτονες την επιθυμητή είσοδο στο Αυτόνομο Συστήμα. Χρησιμοποιείται από τους route reflector για να αποτρέψουν τη δημιουργία loops. Χρησιμοποιείται για αποφυγή loop σε ένα Αυτόνομο Σύστημα στο οποίο έχει γίνει χρήση route reflectors. Ένα attribute μεγέθους 4 byte που ορίζει ποιοι route reflectors ανήκουν στο ίδιο cluster. Χρησιμοποιείται τοπικά και οι διαδρομές με το μεγαλύτερο weight προτιμώνται όταν υπάρχουν πολλαπλές διαδρομές για τον ίδιο προορισμό. Πίνακας 5 - Συνοπτική λίστα των Path Attributes [17]

27 Στις ενότητες που ακολουθούν θα δούμε πιο αναλυτικά τα βασικότερα attributes. Well-Known Mandatory Origin: Το origin attribute προσδιορίζει την πηγή από όπου δημιουργήθηκε η πληροφορία για μια διαδρομή και μπορεί να πάρει τρεις τιμές. - IGP: Η διαδρομή είναι εσωτερική για το Αυτόνομο Συστήμα. Συμβολίζεται με i στο BGP table και έχει παραχθεί με την εντολή network στις ρυθμίσεις του BGP. - EGP: Η διαδρομή έχει γίνει γνωστή μέσω EGP και συμβολίζεται με e στο BGP table. - Incomplete: Η διαδρομή είτε είναι άγνωστη είτε έχει μαθευτεί μέσω redistribution και συμβολίζεται με? στο BGP table. Από τις τρεις αυτές τιμές προτιμάται πρώτα η IGP μετά η EGP και τέλος η incomplete (i > e >?). AS_Path: Το AS_Path attribute είναι μια λίστα με όλα τα Αυτόνομα Συστήματα που έχει διανύσει μια διαδρομή μέχρι να φτάσει στον προορισμό της. Κάθε φορά που μια ενημέρωση για μια διαδρομή περνά σε διαφορετικό Αυτόνομο Συστήμα τότε ο αριθμός του προηγούμενου Αυτόνομου Συστήματος τοποθετείται στο AS-Path attribute μετατοπίζοντας τα υπόλοιπα μια θέση δεξιά. Αυτό γίνεται από τον router που βρίσκεται στα σύνορα του Αυτόνομου Συστήματος και ο next-hop router είναι ένας EBGP γείτονας (οι IBGP γείτονες δεν αλλάζουν το AS-Path attribute). Το AS_Path είναι και ένας τρόπος αποφυγής loop που μοιάζει πολύ με τον Split Horizon του RIP πρωτοκόλλου. Σύμφωνα λοιπόν με αυτόν τον κανόνα όταν ένας BGP router λάβει μια διαδρομή στην οποία βρίσκεται στο AS_Path attribute το δικό του Αυτόνομο Σύστημα τότε δεν δέχεται αυτή τη διαδρομή και έτσι εξασφαλίζεται μια loop-free τοπολογία. Υπάρχουν τέσσερα τμήματα στο AS_Path attribute το AS_Set, το AS_Sequence, το AS_Confed_Set και το AS_Confed_Sequence. Η διαφορά μεταξύ του AS_Set και του AS_Sequence είναι ότι με το Set η λίστα με τα Αυτόνομα Συστήματα δεν έχει σειρά ενώ με το Sequence, αυτά, είναι τοποθετημένα στη σειρά. Τη χρήση των AS_Confed_Set και AS_Confed_Sequence θα τη δούμε στην ενότητα των confederations. Next-hop attribute: Το Next-hop attribute δείχνει την Next-hop IP address που θα χρησιμοποιηθεί για να φτάσει στον προορισμό. Τα hop αντίθετα με τα distance vector πρωτόκολλα μετρούνται από Αυτόνομο Συστήμα σε Αυτόνομο Συστήμα και όχι από router σε router ενώ η Next-hop address δείχνει το σημείο εισόδου του επόμενου Αυτόνομου Συστήματος. Για το EBGP, Next-hop address, είναι η διεύθυνση του [18]

28 γείτονα που έστειλε το update ενώ για το IBGP η Next-hop address είναι αυτή που διαφημίστηκε από το EBGP και μεταφέρεται και στο IBGP. Αυτό μπορεί να δημιουργήσει προβλήματα εφόσον κάποιος router που συμμετέχει στο IBGP δεν γνωρίζει πως να φτάσει στην EBGP Next-hop IP address είτε γιατί δεν την έχει μάθει από ένα πρωτόκολλο IGP είτε από μια static route. Well-Known Discretionary Local Preference: Το local preference attribute υποδηλώνει στους routers ενός Αυτόνομου Συστήματος ποια διαδρομή είναι η επιθυμητή έξοδος από αυτό. Η λέξη local υποδηλώνει ότι είναι τοπικό μέσα στο Αυτόνομο Σύστημα και γι αυτό το λόγο το attribute ανταλλάσσεται μόνο τοπικά στους IBGP γείτονες και όχι στους EBGP peers. Το μεγαλύτερο local preference προτιμάται. Optional Transitive Community: Οι BGP communities χρησιμοποιούνται για το φιλτράρισμα εξερχομένων ή εισερχομένων διαδρομών. Ένας router μπορεί να βάλει μια ετικέτα (community) σε διαδρομές ή να πάρει αποφάσεις δρομολόγησης με βάση τη συγκεκριμένη ετικέτα. Το community είναι ένα attribute optional transitive, αυτό σημαίνει ότι αν ένας router δεν μπορεί να το κατανοήσει το μεταφέρει στους υπόλοιπους χωρίς να του δώσει σημασία, αν όμως μπορεί να κατανοήσει το community θα πρέπει ρυθμιστεί με τρόπο ώστε να μπορεί να το διαδώσει στους υπόλοιπους router διαφορετικά θα το αφαιρέσει από το update μήνυμα. Optional Non-Transitive MED - Multiple Exit Discriminator: Το MED αφορά την προσπάθεια που κάνει ένα Αυτόνομο Σύστημα να επηρεάσει κάποιο γειτονικό Αυτόνομο Σύστημα από ποιο σημείο θα δέχεται συγκεκριμένα υποδίκτυα εφόσον στο υπάρχον Αυτόνομο Σύστημα υπάρχουν πολλά σημεία εισόδου. Το MED αντίθετα με το local preference δεν έχει τοπικό χαρακτήρα και ανταλλάσσεται μεταξύ των γειτονικών Αυτόνομων Συστημάτων. Οι EBGP peers που λαμβάνουν το MED attribute το διαδίδουν στο Αυτόνομο Σύστημα στο οποίο ανήκουν αλλά όταν το Update μήνυμα που περιέχει τη διαδρομή φύγει προς ένα τρίτο Αυτόνομο Σύστημα η τιμή του τίθεται στο 0. Originator_ID: Χρησιμοποιείται ως μια μέθοδος αποφυγής των loops εντός ενός Αυτόνομου Συστήματος όταν γίνεται η χρήση route reflectors. Δημιουργείται από τον πρώτο route reflector και δεν μεταβάλλεται από τους επόμενους. Το Originator_ID είναι το Router_ID είτε του BGP speaker που εισάγει μια διαδρομή στο Αυτόνομο Σύστημα είτε του EBGP router αν η διαδρομή προέρχεται από άλλο Αυτόνομο Σύστημα. [19]

29 Το μέγεθος του είναι 32bits και λαμβάνεται μόνο από IBGP peers. Όταν γίνεται η χρήση των route reflectors παίρνει τη θέση του router ID. Όταν ένας IBGP router λάβει το Originator_ID το οποίο είναι αυτό που ο ίδιος δημιούργησε τότε απορρίπτει τη διαδρομή και με αυτόν τον τρόπο αποτρέπει τη δημιουργία κάποιου loop. Cluster_List: Χρησιμοποιείται για αποφυγή loop σε ένα Αυτόνομο Σύστημα στο οποίο έχει γίνει χρήση route reflectors. Δημιουργεί μια λίστα με τα cluster_ids τα οποία έχει διασχίσει μια διαδρομή σε ένα περιβάλλον με route reflectors. Με αυτή τη μέθοδο ένας route reflector μπορεί να καταλάβει αν μια πληροφορία για μια διαδρομή έχει μπει σε loop επιστρέφοντας πίσω σε κάποιο cluster το οποίο έχει ήδη διασχίσει. Cluster_ID: Πρόκειται για ένα attribute με μέγεθος τέσσερα byte σε μορφή IP address και χαρακτηρίζει τους route reflectors βρίσκονται στο ίδιο cluster. Αν οι router έχουν το ίδιο cluster_id τότε αυτό σημαίνει ότι ανήκουν στο ίδιο cluster. Αν ένας router λάβει μια ενημέρωση με το ίδιο cluster_id τότε την απορρίπτει. Weight: Χρησιμοποιείται σε συγκεκριμένες υλοποιήσεις αφού δεν υποστηρίζεται από όλους τους κατασκευαστές. Το weight ρυθμίζεται τοπικά μόνο και δεν διαδίδεται σε κανέναν από τους γείτονες, οι διαδρομές όμως με το μεγαλύτερο weight προτιμώνται όταν υπάρχουν πολλαπλές διαδρομές για τον ίδιο προορισμό. Η διαδρομή με το μεγαλύτερο weight είναι αυτή που θα προτιμηθεί. Η διαδικασία της επιλογής μιας διαδρομής Όπως είδαμε και νωρίτερα το BGP λογίζεται ως ένα πρωτόκολλο καλύτερης διαδρομής και όχι απαραιτήτως της ταχύτερης. Η επιλογή της κατάλληλης διαδρομής βασίζεται στα Path Attributes και συμβαίνει όταν υπάρχουν πολλαπλές διαδρομές για τον ίδιο προορισμό. Για να θεωρηθεί ως ορθή μια διαδρομή θα πρέπει να πληροί κάποιες προϋποθέσεις: να είναι συγχρονισμένη, να μην υπάρχουν loops στα Αυτόνομα Συστήματα και να είναι ενεργή η επόμενη διεύθυνση προορισμού. Εφόσον καλύπτονται οι παραπάνω προϋποθέσεις τότε ακολουθείται, ιεραρχικά, η διαδικασία επιλογής 5 της καλύτερης διαδρομής η οποία έχει ως εξής: 5 Η διαδικασία επιλογής που περιγράφεται εδώ δεν καλύπτει όλες τις περιπτώσεις αλλά ένας σωστός σχεδιασμός του πρωτοκόλλου δεν θα άφηνε ποτέ στην τύχη την επιλογή της διαδρομής και θα την καθόριζε από τα πρώτα βήματα της διαδικασίας. [20]

30 1. Είναι προσβάσιμο το next-hop: Όπως αναφέρεται και στο RFC 1771 αν ένας router δεν διαθέτει κάποιο next-hop για μια διαδρομή τότε αυτή δεν μπορεί να θεωρηθεί ως βέλτιστη. 2. Υψηλότερο weight: Σε ορισμένους μόνο κατασκευαστές, όπως η Cisco, προτεραιότητα στην επιλογή μιας διαδρομής έχει το υψηλότερο Weight. 3. Υψηλότερο local preference: Αν δεν υποστηρίζεται ή δεν έχει ρυθμιστεί το weight, προκρίνεται η διαδρομή με το υψηλότερο local preference, το οποίο χρησιμοποιείται εντός του Αυτόνομου Συστήματος. 4. Τοπικά παραγόμενες διαδρομές: Αν υπάρχει ισοπαλία στο local preference τότε προτιμάται η διαδρομή η οποία έχει παραχθεί από τον τοπικό router (με την εντολή network, redistribution ή route summarization). 5. Μικρότερο AS_Path: Αν όλες οι διαδρομές έχουν παραχθεί από τον ίδιο τοπικό router τότε προτιμάται η διαδρομή με τα λιγότερα Αυτόνομα Συστήματα. 6. Origin Path Attribute: Αν και εδώ υπάρχει ισοπαλία τότε προτιμάται η διαδρομή ανάλογα τον τύπο του origin path attribute. Κατά σειρά προηγείται το IGP, ακολουθεί το EGP και τέλος η μη διεκπεραιωμένη διαδρομή. 7. Μικρότερο MED: Στη συνέχεια, προτιμάται η διαδρομή με το μικρότερο MED το οποίο ανταλλάσσεται μεταξύ των Αυτόνομων Συστημάτων. 8. Τύπος γειτονίας: Αν υπάρξει ισοπαλία τότε προτιμάται η διαδρομή που προέρχεται από το EBGP και όχι από το IBGP. 9. IGP Metrics: Αν ο συγχρονισμός είναι απενεργοποιημένος και υπάρχουν μόνο εσωτερικές διαδρομές τότε επιλέγεται αυτή που έχει τον κοντινότερο IGP γείτονα. Επιλέγεται δηλαδή το συντομότερο εσωτερικό μονοπάτι προς το BGP next-hop. 10. Παλαιότερη διαδρομή: Σε περίπτωση που έχουν απομείνει μόνο EBGP διαδρομές τότε επιλέγεται η παλιότερη. 11. Μικρότερο RID: Επιλέγεται η διαδρομή με τη μικρότερη αξία του router-id του γειτονικού router. 12. Μικρότερη IP διεύθυνση: Τέλος, αν υπάρξει και εδώ ισοπαλία επιλέγεται η διαδρομή με το γείτονα που έχει τη μικρότερη IP διεύθυνση. [21]

31 Ένας router αποθηκεύει στο BGP topology table όλες τις γνωστές διαδρομές αλλά προκρίνει ως υποψήφια για το routing table μόνο την καλύτερη η οποία είναι και αυτή που θα διαδώσει στους γείτονες του. Ο στόχος δεν είναι να μπουν στο routing table πολλές διαδρομές αλλά να βρεθεί μια μόνο διαδρομή, για να προκριθούν περισσότερες διαδρομές πρέπει να παρέμβει ο διαχειριστής του δικτύου δηλώνοντας τον μέγιστο αριθμό διαδρομών (maximum paths) που θέλει να προκριθούν στο routing table. Εδώ πρέπει να σημειωθεί ότι ακόμα και αν το πρωτόκολλο ρυθμιστεί να χρησιμοποιεί πάνω από μία διαδρομές στο routing table όταν θα αποστείλει update μήνυμα στους γείτονες του θα χρησιμοποιήσει μόνο την καλύτερη. Οι Πίνακες του BGP Ένας router που χρησιμοποιεί το BGP κρατάει τον δικό του πίνακα όπου αποθηκεύει πληροφορίες, από και προς άλλους router, σχετικά με το πρωτόκολλο. Αυτός ο πίνακας ονομάζεται BGP table 6 και είναι διαφορετικός από τον IP routing table που χρησιμοποιεί εν τέλει ο router για να πάρει αποφάσεις για τη δρομολόγηση. Στον BGP table εμφανίζονται οι διαδρομές που γνωρίζει ο router μέσω BGP και οι καλύτερες από αυτές προτείνονται στον IP routing table ο οποίος με τη σειρά του θα αποφασίσει αν είναι κατάλληλες (μικρότερα administrative distance) για να τις χρησιμοποιήσει. Ένας ακόμα πίνακας που κρατά το BGP είναι ο neighbor table και περιέχει μια λίστα με όλους τους γείτονες του και αναλυτικές πληροφορίες για τον καθένα. Συνοψίζοντας, όταν δυο router γίνουν γείτονες με τη χρήση του TCP πρωτοκόλλου ανταλλάσσουν keepalive μηνύματα κάθε 60 δευτερόλεπτα για να διατηρήσουν τη γειτονία τους. Επίσης, διαφημίζουν ο ένας στον άλλο τις διαδρομές που έχουν ρυθμιστεί να διαφημίσουν. Όλες οι διαδρομές που μαθαίνονται από έναν γείτονα τοποθετούνται στον BGP table, στη συνέχεια η καλύτερη διαδρομή για κάθε δίκτυο επιλέγεται με τη διαδικασία της εύρεσης της βέλτιστης διαδρομής και προωθείται στον IP routing table και στη συνέχεια ανάλογα τα δικά του κριτήρια ο routing table τις χρησιμοποιεί ή όχι για τη διαδικασία του routing. 6 Στην βιβλιογραφία συναντάται και ως BGP topology table ή BGP topology database [22]

32 Οι EBGP διαδρομές έχουν administrative distance ίσο με 20 ενώ οι IBGP διαδρομές έχουν administrative distance 200 και δεν θεωρούνται τόσο αξιόπιστες. Παρόλο που μια διαδρομή μπορεί να μην επιλεγεί ως η βέλτιστη θα συνεχίσει να διαδίδεται σε άλλους BGP routers οι οποίοι με τη σειρά τους θα αποφασίσουν με τα ίδια κριτήρια αν θα χρησιμοποιηθεί ή αν θα μείνει αποθηκευμένη στο BGP table. Στην παρακάτω τοπολογία θα φτιάξουμε μια γειτονία μέσω τον loopbacks interfaces και θα εξετάσουμε τους πίνακες του BGP. Εικόνα 10 - Τοπολογία BGP γειτονίας Εφόσον έχουμε φτιάξει τη γειτονία για να δούμε το BGP table δίνουμε την εντολή show ip bgp και βλέπουμε τον BGP table, εδώ μπορούμε να δούμε ποιες διαδρομές έχουν επιλεγεί να προωθηθούν στο routing table, ποιο είναι το next-hop για κάθε δίκτυο που διαφημίζεται στο BGP όπως και διάφορα attributes. R1#show ip bgp BGP table version is 4, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [23]

33 Network Next Hop Metric LocPrf Weight Path r> / i *> / i Πιο συγκεκριμένα: Στην πρώτη στήλη με το σύμβολο του μεγαλύτερου > εμφανίζονται τα δίκτυα που προωθούνται στο routing table. Με το αστέρι * υποδηλώνεται ότι αυτή η διαδρομή υπάρχει και διαφημίζεται στο BGP. Με r συμβολίζεται η διαδρομή η οποία προωθείται στο routing table αλλά υπάρχει στο routing table με μικρότερο administrative distance. Στη δεύτερη στήλη κάτω από το πεδίο Network βλέπουμε ποιο είναι το δίκτυο που διαφημίζεται και με ποιο πρόθεμα. Στην επόμενη κάτω από το πεδίο Next Hop βλέπουμε ποιο είναι το next-hop για κάθε δίκτυο. Όταν το next-hop είναι σημαίνει ότι αυτό το δίκτυο έχει παραχθεί από αυτόν τον router. Στην τέταρτη στήλη κάτω από το πεδίο Metric βλέπουμε την τιμή του attribute MED. Στην πέμπτη στήλη κάτω από το πεδίο Local Preference βλέπουμε την τιμή του attribute Local Preference. Στην επόμενη στήλη κάτω από το πεδίο Weight βλέπουμε την τιμή του Weight. Στην τελευταία στήλη βλέπουμε το AS_Path string. Ενώ στη συνέχεια βλέπουμε το origin code το οποίο δείχνει πως ένα δίκτυο διαφημίζεται στο BGP. Με i συμβολίζεται το δίκτυο που έχει δηλωθεί στο BGP με την εντολή network. Με? συμβολίζεται το δίκτυο που συμμετέχει στο BGP με την εντολή redistribution ενώ το e αναφέρεται στο EGP πρωτόκολλο που είναι ο προκάτοχος του BGP. Τέλος με την εντολή show ip bgp neighbors βλέπουμε τον BGP neighbor table και τις δυνατότητες του κάθε γείτονα. R1#show ip bgp neighbors BGP neighbor is , remote AS 65002, external link BGP version 4, remote router ID BGP state = Established, up for 00:20:40 [24]

34 Last read 00:00:05, last write 00:00:55, hold time is 180, keepalive interval is 60 seconds Neighbor sessions: 1 active, is multisession capable Neighbor capabilities. Ενώ με την εντολή show ip bgp summary Μπορούμε να δούμε μια πιο συνοπτική απεικόνιση των γειτόνων και της καταστάσεις στις οποίες βρίσκεται μια γειτονία, τις οποίες είδαμε αναλυτικά σε άλλη ενότητα. R1#show ip bgp summary BGP router identifier , local AS number BGP table version is 4, main routing table version 4 2 network entries using 240 bytes of memory 2 path entries using 104 bytes of memory 2/2 BGP path/bestpath attribute entries using 248 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 616 total bytes of memory BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd :21:47 1 Προβλήματα BGP γειτονιών Σε αυτό το κεφάλαιο θα εξετάσουμε κάποιες περιπτώσεις στις οποίες θα πρέπει να γίνει προσεκτική μελέτη της επιλογής της IP διεύθυνσης με την οποία θα γίνει η προσπάθεια γειτνίασης μεταξύ των BGP Peers αλλά και κάποια προβλήματα που συναντώνται λόγω του ίδιου του σχεδιασμού του πρωτοκόλλου. Θα εργαστούμε στην παρακάτω τοπολογία, όπου: - Έχουμε 3 διαφορετικά AS το 10000, το και το [25]

35 - Οι Router R1 R2 έχουν γειτονία EBGP όπως και οι Router R4 R5 ενώ οι router R2, R3, R4 είναι μέλη του IBGP του AS Η επικοινωνία, εσωτερικά, στο AS γίνεται με το πρωτόκολλο EIGRP και υπάρχει πλήρης συνδεσιμότητα. Εικόνα 11 - Τοπολογία εργαστηρίου BGP γειτονιών Η επιλογή της κατάλληλης Source IP διεύθυνσης Όπως είδαμε οι γείτονες στο BGP ρυθμίζονται χειροκίνητα επομένως με την εντολή neighbor λέμε στον router ποια είναι η Destination IP, ο peer router δηλαδή. Στη συνέχεια όμως ο router θα πρέπει να αποφασίσει ποια θα είναι η Source IP η οποία θα στείλει το Update. Η προεπιλογή είναι να δει ο router στο routing table ποια είναι η destination address και να προωθήσει το πακέτο από το κατάλληλο εξωτερικό Interface. Την IP διεύθυνση αυτού του Interface θα χρησιμοποιήσει ο router ως source IP address. Όμως αν αυτή η διεύθυνση είναι διαφορετική από αυτή που περιμένει ο BGP peer τότε κάθε BGP επικοινωνία δεν αποτυγχάνει και τα πακέτα θα απορρίπτονται αφού η source IP address θα είναι διαφορετική από τη Neighbor IP address του BGP peer. Παίρνοντας το παράδειγμα της τοπολογίας αυτού του εργαστηρίου βλέπουμε ότι μεταξύ R2 και R3 υπάρχει ένα διπλό link. Αν η γειτονία γινόταν μεταξύ R2 και R3 με IPs τις και τότε σε περίπτωση που έπεφτε αυτό το link για κάποιο χρονικό διάστημα ή σε περίπτωση που για κάποιο λόγο πήγαινε από το 2 ο link κάποιο BGP πακέτο θα έπεφτε η γειτονία στην 1 η περίπτωση είτε θα είχαμε απώλεια κάποιων πακέτων στη 2 η. Αυτό το πρόβλημα θα μπορούσε να λυθεί με δυο τρόπους, ο ένας είναι να δημιουργηθεί και μια 2 η γειτονία μεταξύ R2 - R3 με IPs και Με αυτή τη μέθοδο ναι μεν θα εξασφαλιζόταν η σταθερότητα του BGP πρωτοκόλλου αλλά θα είχαμε διπλάσιες αποστολές BGP μηνυμάτων και θα δημιουργούνταν προβλήματα στη διαχείριση αφού θα πολλαπλασιάζονταν οι γειτονίες. [26]

36 Ένας βέλτιστος τρόπος για να λυθεί αυτό το πρόβλημα είναι η χρήση των loopback interface. Τα interface αυτά είναι λογικά και είναι πάντα ενεργά, επομένως ακόμα και αν πέσει κάποιο link μπορεί να γίνει η επικοινωνία από ένα δεύτερο χωρίς να προκύψουν προβλήματα. Για να λειτουργήσει σωστά όμως αυτή η λύση θα πρέπει να διαφημιστούν οι IP διευθύνσεις αυτών των interface με κάποιο IGP πρωτόκολλο (στην περίπτωση μας το EIGRP) ώστε να γνωρίζουν όλοι οι routers πως να φτάσουν σε αυτά. Επιπλέον θα πρέπει να δοθεί η εντολή update-source loopback ώστε να παρακαμφθεί η προεπιλογή του router να παίρνει ως source IP αυτή του εξωτερικού φυσικού Interface που έστειλε το BGP μήνυμα και να την αντικαταστήσει με την IP διεύθυνση του loopback interface. Για να επιβεβαιώσουμε τα παραπάνω: Δημιουργούμε μια γειτονία μεταξύ R2-R3 στο link που βρίσκεται το δίκτυο /24 και είναι το fast Ethernet 2/1. R2 R2(config)#router bgp R2(config-router)#neighbor remote-as R3 R2(config)#router bgp R3(config-router)#neighbor remote-as Διαπιστώνουμε με την εντολή show ip bgp summary ότι υπάρχει η γειτονία. Στη συνέχεια κλείνουμε το interface fast Ethernet 2/1 σε κάποιον από τους δυο router και διαπιστώνουμε ότι η γειτονία δεν είναι πλέον ενεργή (θα φαίνεται ως active - idle). Επομένως, για διορθώσουμε το πρόβλημα, διαφημίζουμε στο EIGRP τα loopback interface και φτιάχνουμε τις γειτονίες με βάση αυτά και την εντολή update-source loopback R2 R2(config)#router bgp R2(config-router)#neighbor remote-as R2(config-router)#neighbor update-source loopback 0 R3 R3(config)#router bgp [27]

37 R3(config-router)#neighbor remote-as R3(config-router)#neighbor update-source loopback 0 Επιβεβαιώνουμε με την εντολή Show ip bgp summary ενώ στη συνέχεια κλείνουμε πάλι ένα από τα δυο φυσικά interface και διαπιστώνουμε ότι η γειτονία παραμένει ενεργή. R3(config-if)#do sh ip bgp sum BGP router identifier , local AS number BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down state/pfxrcd :02:56 0 Εγκατάσταση γειτονίας μεταξύ Αυτόνομων Συστημάτων Από τα παραπάνω γίνεται φανερό ότι με την ίδια μέθοδο μπορούμε να δημιουργήσουμε και μια EBGP γειτονία ώστε να μπορούμε να έχουμε redundancy και στα links εκτός του Αυτόνομου Συστήματος. Παρόλα αυτά, στις EBGP γειτονίες δημιουργούνται κάποια προβλήματα λόγω της φύσης του πρωτοκόλλου που πρέπει να λυθούν. Το πρώτο πρόβλημα είναι ότι δεν γίνεται να υπάρχει κάποιο IGP πρωτόκολλο μεταξύ των δυο Αυτόνομων Συστημάτων, επομένως θα πρέπει να χρησιμοποιήσουμε Static Routes ώστε να επιτευχθεί η συνδεσιμότητα μεταξύ των δύο BGP peers που ενώνουν τα Αυτόνομα Συστήματα. Το δεύτερο πρόβλημα που προκύπτει είναι ότι εξ ορισμού οι EBGP peers έχουν την τιμή της παραμέτρου TTL (Time to Live) ίση με ένα επομένως επειδή ένα Loopback interface δεν είναι άμεσα συνδεδεμένο με το απέναντι και θα ακολουθήσει κάποιος αριθμός hops το TTL θα γίνει μηδέν με αποτέλεσμα να απορριφθεί το πακέτο. Η λύση στο πρόβλημα δίνεται με την εντολή ebgp-multihop που επιτρέπει τη ρύθμιση μεγαλύτερου TTL ώστε να μπορέσει να δημιουργηθεί η γειτονία. Πηγαίνοντας πάλι στο παράδειγμα της προηγούμενης τοπολογίας, αφού δημιουργήσουμε πρώτα τα στατικά routes για να μπορεί να υπάρξει επικοινωνία μεταξύ των loopback interfaces, θα φτιάξουμε μια γειτονία μεταξύ των R1 και R2 στην αρχή χωρίς τη χρήση του ebgp-multihop και στη συνέχεια με τη χρήση της εντολής. R1: R1(config)#router bgp R1(config-router)#neighbor remote-as [28]

38 R1(config-router)#neighbor update-source loopback 0 R2: R2(config)#router bgp R2(config-router)#neighbor remote-as R2(config-router)#neighbor update-source loopback 0 Δίνοντας αυτές τις εντολές μόνο βλέπουμε ότι η γειτονία παραμένει idle γιατί τα BGP αιτήματα δεν φτάνουν στον προορισμό τους. R2(config-router)#do show ip bgp summary BGP router identifier , local AS number BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd never Idle :32:25 0 Με το που δώσουμε την εντολή ebgp-multihop και στους δυο routers R1(config-router)#neighbor ebgp-multihop 5 R2(config-router)#neighbor ebgp-multihop 5 Έχουμε επικοινωνία μεταξύ τους και δημιουργία της γειτονίας όπως φαίνεται και στις 2 παρακάτω εικόνες: Εικόνα 12 - TCP μηνύματα στο Wireshark Στην δεύτερη εικόνα παρατηρούμε ότι το TTL είναι πέντε, όσο το ορίσαμε στην εντολή του Multihop. Για λόγους ασφαλείας είναι καλό να μην ορίζεται μεγάλο TTL. [29]

39 Εικόνα 13 - Το πεδίο Time to live στο Wireshark Το Next-hop attribute Είδαμε πως για να συναφθεί μια γειτονία θα πρέπει να μπορεί να φτάσει ένας router στον γείτονα του, να υπάρχει δηλαδή στο routing table του ένας τρόπος να φτάσει το δίκτυο το οποίο δηλώνεται ως γείτονας στο BGP. Τις περισσότερες φορές μεταξύ 2 EBGP γειτόνων δημιουργούνται στατικά routes για να φτάσουν το απέναντι δίκτυο όμως οι IBGP γείτονες που μαθαίνουν το δίκτυο δεν γνωρίζουν πως να φτάσουν σε αυτό. Mε την εντολή next-hop-self ο router δηλώνει ότι είναι ο ίδιος το next-hop για κάθε δίκτυο που διαφημίζει σε κάποιο γείτονα. Για αρχή ρυθμίζουμε τις γειτονίες στους R3 R4 R5 ενώ στον R5 διαφημίζουμε το δίκτυο /24: R3: R3(config)#router bgp R3(config-router)#neighbor remote-as R3(config-router)#neighbor update-source loopback 0 R4: R4(config)#router bgp R4(config-router)#neighbor remote-as R4(config-router)#neighbor update-source loopback 0 R4(config-router)#neighbor remote-as R4(config-router)#neighbor update-source loopback 0 [30]

40 R4(config-router)#neighbor ebgp-multihop 3 R5: R5(config-router)#neighbor remote-as R5(config-router)#neighbor update-source loopback 0 R5(config-router)#neighbor ebgp-multihop 3 R5(config-router)#network mask Οι γειτονίες έχουν δημιουργηθεί σωστά, δίνοντας όμως την εντολή show ip bgp σε R3 και R4 βλέπουμε ότι στον R4 υπάρχει το δίκτυο που διαφημίζει ο R5 στον R3 όμως όχι. R3#show ip bgp BGP table version is 1, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path * i / i R4#sh ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Αυτό συμβαίνει γιατί ο R3 δεν γνωρίζει πως να φτάσει στο δίκτυο ενώ ο R4 έχει μια static route προς αυτό. Για να διορθωθεί το πρόβλημα είτε θα πρέπει να δημιουργηθούν στατικές ή δυναμικές εγγραφές σε όλους τους IBGP routers είτε ο R4 να δηλώσει στον γείτονα του R3 ότι θα είναι αυτός ο next- [31]

41 hop για τα δίκτυα που του διαφημίζει. Αυτό φαίνεται και στην εντολή Show ip bgp που αλλάζει το πεδίο Next Hop από σε R4(config-router)#neighbor next-hop-self R3# show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i Επανεκκίνηση BGP συνόδων Ιδιαίτερη προσοχή στο BGP απαιτεί η επανεκκίνηση των συνόδων. Κάθε φορά που γίνεται μια αλλαγή στην πολιτική του routing λόγω αλλαγών σε κάποια ρύθμιση του BGP θα πρέπει να επανεκκινείται η σύνοδος του BGP με την εντολή clear ip bgp. Όμως το να επανεκκινήσει κανείς το BGP μπορεί να έχει καταστροφικά αποτελέσματα σε μια μεγάλη τοπολογία, όπως είναι για παράδειγμα ένας ISP, επομένως θα πρέπει να χρησιμοποιηθεί ένας πιο ήπιος τρόπος για να γίνει αυτό. Γι αυτό το λόγο έχουμε τρεις μηχανισμούς: Hard reset: Το hard reset κλείνει τη BGP σύνοδο όπως και την TCP και διαγράφει οποιαδήποτε διαδρομή έχει μαθευτεί από κάποιον BGP peer. Soft reset: To soft reset χρησιμοποιεί αποθηκευμένες πληροφορίες ώστε να επανεκκινήσει μια BGP σύνοδο χωρίς να κλείσει τις γειτονίες. Επειδή χρησιμοποιεί αποθηκευμένες πληροφορίες είναι πιο απαιτητικό σε πόρους και κυρίως τη μνήμη όπου εκεί αποθηκεύονται όλες οι ενημερώσεις ώστε να μπορέσει το BGP να ενημερωθεί για τις αλλαγές που έγιναν χωρίς να δημιουργήσει πρόβλημα στο δίκτυο. Dynamic inbound - outbound soft reset: Σύμφωνα με το RFC 2918 ένας router μπορεί να επανεκκινήσει μια BGP σύνοδο χωρίς να κλείσει τη γειτονία με κάποιον γείτονα ανταλλάσσοντας μαζί του, ξανά, πληροφορίες σχετικά με το πρωτόκολλο. Με αυτή τη μέθοδο [32]

42 δεν αποθηκεύει κάποια πληροφορία αλλά δυναμικά ζητά και στέλνει στους peers του πληροφορίες που αφορούν το BGP. Με την επιλογή in και out μπορεί να ορίσει την κατεύθυνση τους ζητώντας ή στέλνοντας συγκεκριμένες πληροφορίες. [33]

43 Κεφάλαιο 3 Διαφήμιση διαδρομών στο BGP Σε αυτήν την ενότητα θα ασχοληθούμε με τα προβλήματα που συναντώνται στη διαφήμιση των δικτύων σε BGP routers. Τα προβλήματα αυτά δημιουργούνται λόγω της φύσης του πρωτοκόλλου που διαφέρει από τα υπόλοιπα routing πρωτόκολλα και απαιτεί διαφορετική αντιμετώπιση στις ρυθμίσεις του για να εκτελέσει λειτουργίες όπως το summarization και η διάδοση διαδρομών ανάμεσα στους IBPG και EBGP γείτονες. Μπορούμε να θέσουμε ως ένα γενικό κανόνα ότι στις EBGP γειτονίες οι router ανταλλάσσουν τα δίκτυα που έχουν οριστεί ότι πρέπει να ανταλλάξουν αρκεί αυτά να βρίσκονται στο routing table του εκάστοτε router και να διαφημίζονται με το ίδιο ακριβώς πρόθεμα δικτύου. Στις IBGP γειτονίες όμως τα πράγματα είναι κάπως διαφορετικά, μόνο οι EBGP router μπορούν να διαφημίσουν δίκτυα εντός του Αυτόνομου Συστήματος με τους IBGP router να μη μπορούν να μεταφέρουν τις διαδρομές που έμαθαν σε κάποιον άλλο γείτονα. Επομένως, για να λυθεί αυτό το πρόβλημα θα πρέπει να υπάρχει full mesh εντός του Αυτόνομου Συστήματος ώστε κάθε EBGP router που μαθαίνει διαδρομές από άλλο Αυτόνομου Σύστημα να τις διαδίδει σε αυτό στο οποίο ανήκει. Η λύση αυτή όπως θα δούμε στη συνέχεια είναι λειτουργική όμως σε μεγάλες υλοποιήσεις δικτύων αυξάνει κατά πολύ την πολυπλοκότητα και δεν είναι αποδοτική. Λύσεις όπως οι Route Reflectors και οι Confederations να είναι προτιμότερες. Προβλήματα διαφήμισης BGP διαδρομών Η διαφήμιση των διαδρομών στο BGP γίνεται με τρεις τρόπους. Με την εντολή network, την εντολή aggregate και τέλος με την εντολή redistribute όπου εισάγουμε διαδρομές από άλλα routing πρωτόκολλα. Για να γίνει όμως η διαφήμιση αυτών των διαδρομών πρέπει να πληρείται η προϋπόθεση της ύπαρξης της στο routing table ώστε να μπορεί να διαφημιστεί. Πιο συγκεκριμένα, μελετώντας την παρακάτω τοπολογία, θα δούμε ότι για να διαφημίσει το BGP μια διαδρομή αυτή θα πρέπει να ακριβώς η ίδια με αυτή που υπάρχει στο routing table, να έχει δηλαδή ίδιο prefix και ίδια subnet mask. [34]

44 Εικόνα 14 - Τοπολογία διαφήμισης διαδρομών Ξεκινώντας θα προσπαθήσουμε να διαφημίσουμε τη διαδρομή η οποία δεν υπάρχει στο routing table όπως φαίνεται με την εντολή show ip route Η αποτυχία να διαφημιστεί φαίνεται και με τις εντολές show ip bgp και show ip bgp R1#show ip route % Network not in table R1(config)#router bgp R1(config-router)#network mask R1#show ip bgp - R1#show ip bgp % Network not in table Στη συνέχεια, προσθέτουμε στο BGP μια διαδρομή που υπάρχει στο routing table. Αμέσως αυτή θα διαφημιστεί αφού καλύπτει τους κανόνες που προαναφέρθηκαν. R1(config-router)#network mask [35]

45 R1#show ip route Routing entry for /24, 2 known subnets Attached (2 connections) Variably subnetted with 2 masks C L /24 is directly connected, Loopback /32 is directly connected, Loopback1 R1#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> i R1#show ip bgp BGP routing table entry for /24, version 2 Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Local from ( ) Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best Η αποτυχία διαφήμισης μιας διαδρομής θα συμβεί ξανά αν δημιουργήσουμε μια διαδρομή με διαφορετικό πρόθεμα δικτύου. Για παράδειγμα δημιουργούμε μια στατική διαδρομή με μάσκα για το με μάσκα /22 και προσπαθούμε να τη διαφημίσουμε μέσω BGP με μάσκα /24. Παρόλο που το δίκτυο /24 ανήκει στο ευρύτερο /22 το BGP όταν πάει να το διαφημίσει, συμβουλεύεται το routing table, και αφού δεν βλέπει ακριβώς το ίδιο prefix και την ίδια subnet mask με αυτό που πρέπει να διαφημίσει, το απορρίπτει. R1(config)#ip route fastethernet 0/0 [36]

46 R1#show ip route Routing entry for /22, 1 known subnets Attached (1 connections) S is directly connected, FastEthernet0/0 R1(config)#router bgp R1(config-router)#network mask R1#show ip bgp BGP table version is 4, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> i R1#show ip bgp % Network not in table Η λύση εδώ μπορεί να προέλθει φτιάχνοντας μια static route προς το Null0 7 η οποία θα είναι ακριβώς η ίδια με αυτή που θα διαφημιστεί στο BGP. R1(config)#ip route null 0 R1# show ip bgp BGP table version is 5, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path 7 Οι διαδρομές στο Null 0 απορρίπτονται από το router. Επομένως για να μπορέσει ο router να δρομολογήσει προς τα δίκτυα που ορίζουν θα πρέπει να υπάρχουν πιο συγκεκριμένες διαδρομές οι οποίες σύμφωνα με τους κανόνες του routing προτιμώνται από πιο γενικές διαδρομές. [37]

47 *> / i *> i R1#show ip bgp BGP routing table entry for /24, version 7 Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Local from ( ) Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best Ομαδοποίηση διαδρομών H ομαδοποίηση διαδρομών στο BGP γίνεται με την εντολή aggregate-aggress η οποία για να λειτουργήσει θα πρέπει να υπάρχει μια τουλάχιστον εγγραφή στο BGP table με πιο συγκεκριμένη διαδρομή από αυτή που κάνει aggregate. Η διαφορά με το summarization όπως το ξέρουμε από τα IGP πρωτόκολλα είναι ότι όταν την χρησιμοποιούμε το BGP στέλνει και τις ομαδοποιημένες διαδρομές αλλά και τα μεμονωμένα δίκτυα. Αν λοιπόν ομαδοποιήσουμε τα loopback interface του R1 στον router R2 θα λάβουμε όλες τις διαδρομές μαζί με την ομαδοποιημένη. R1(config)#router bgp R1(config-router)#network mask R1(config-router)#network mask R1(config-router)#network mask R1(config-router)#network mask R1(config-router)#aggregate-address R2#show ip bgp BGP table version is 7, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [38]

48 Network Next Hop Metric LocPrf Weight Path *>i / i *>i i *>i / i *>i i *>i i *>i i Για να μην γίνεται αυτό μπορούμε με την προσθήκη της εντολής summary-only να στέλνουμε μόνο την ομαδοποιημένη εγγραφή. Κάτι που επιβεβαιώνεται και στους δυο router με τον R1 να χαρακτηρίζει ως Suppressed τις μεμονωμένες διαδρομές που ομαδοποιήθηκαν και τον R2 να λαμβάνει μια μόνο διαδρομή. R1(config-router)#aggregate-address summary-only R1#show ip bgp BGP table version is 12, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i s> i r> / i s> i s> i s> i [39]

49 R1#show ip bgp BGP routing table entry for /24, version 10 Paths: (1 available, best #1, table default, Advertisements suppressed by an aggregate.) Not advertised to any peer Local from ( ) Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best R2#show ip bgp BGP table version is 11, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i *>i / i Η συνύπαρξη δύο routing πρωτοκόλλων και η μέθοδος του redistribution Μια τρίτη μέθοδος διαφήμισης διαδρομών μέσα στο BGP γίνεται με τη μέθοδο του redistribution όπου εισάγονται οι διαδρομές από ένα άλλο πρωτόκολλο στο BGP. Σε αυτό το παράδειγμα θα διαφημίσουμε τα ίδια δίκτυα με το OSPF. R1(config)#router ospf 1 R1(config-router)#network area 0 R1(config-router)#network area 0 R1(config-router)#network area 0 R1(config-router)#network area 0 8 Το ίδιο ισχύει και για τις άλλες τρεις διαδρομές. [40]

50 R1(config-router)#network area 0 R2(config)#router ospf 1 R2(config-router)#network area 0 Ενώ δίνοντας την εντολή Show ip route στον R2 βλέπουμε τις μεμονωμένες διαδρομές να διαφημίζονται με το ospf και την ομαδοποιημένη με το BGP. Αυτό γίνεται γιατί η subnet mask είναι διαφορετική επομένως ο router δεν χρειάζεται να αποφασίσει ποια διαδρομή θα χρησιμοποιήσει στο routing table. R2#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set /8 is variably subnetted, 2 subnets, 2 masks C L /24 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /24 is subnetted, 1 subnets B [200/0] via , 04:14:38 B /22 [200/0] via , 04:13: /32 is subnetted, 1 subnets O [110/2] via , 00:00:02, FastEthernet0/ /32 is subnetted, 1 subnets O [110/2] via , 00:00:02, FastEthernet0/ /32 is subnetted, 1 subnets O [110/2] via , 00:00:02, FastEthernet0/ /32 is subnetted, 1 subnets [41]

51 O [110/2] via , 00:00:03, FastEthernet0/0 Αν όμως βγάλουμε την εντολή ομαδοποίησης από το BGP τότε ο R2 μαθαίνει τα δίκτυα που ανήκουν στο x.x/24 από το OSPF. Αυτό συμβαίνει γιατί το OSPF έχει χαμηλότερο administrative distance (110) από το IBGP (200) επομένως ο router το θεωρεί πιο αξιόπιστο. R2#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set /8 is variably subnetted, 2 subnets, 2 masks C L /24 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /24 is subnetted, 1 subnets B [200/0] via , 04:21:54 O O O O /24 [110/2] via , 00:01:36, FastEthernet0/ /24 [110/2] via , 00:01:26, FastEthernet0/ /24 [110/2] via , 00:01:16, FastEthernet0/ /24 [110/2] via , 00:01:16, FastEthernet0/0 Για τις ανάγκες του redistribution θα προσθέσουμε έναν ακόμα router τον R3 που θα έχει γειτονία με τον R1 και θα ανήκουν στο ίδιο Αυτόνομο Συστήμα. Στον R1 θα κάνουμε το redistribution του OSPF στο BGP. Εκεί βλέπουμε ότι στον R2 δεν αλλάζει κάτι στο routing table αφού μαθαίνει τις διαδρομές με μικρότερο administrative distance από το OSPF. Ο R3 όμως μαθαίνει τις διαδρομές αυτές μέσω BGP και της μεθόδου του redistribution αφού δεν συμμετέχει στη διαδικασία του OSPF. [42]

52 R2#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set /8 is variably subnetted, 2 subnets, 2 masks C L /24 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /24 is subnetted, 1 subnets B [200/0] via , 04:28:29 O O O O /24 [110/2] via , 00:08:11, FastEthernet0/ /24 [110/2] via , 00:08:01, FastEthernet0/ /24 [110/2] via , 00:07:51, FastEthernet0/ /24 [110/2] via , 00:07:51, FastEthernet0/0 R3#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set /24 is subnetted, 1 subnets [43]

53 B [200/0] via , 00:01: /8 is variably subnetted, 2 subnets, 2 masks C L /24 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /24 is subnetted, 1 subnets B [200/0] via , 00:01:36 B /24 [200/0] via , 00:01:36 B /24 [200/0] via , 00:01:36 B /24 [200/0] via , 00:01:36 B /24 [200/0] via , 00:01:36 Αν και το redistribution είναι μια εύκολη λύση για τη διαφήμιση διαδρομών δεν συνίσταται η χρήση του σε σχέση με τις άλλες δυο μεθόδους γιατί δεν είναι πάντα απαραίτητο να γίνονται γνωστές όλες οι διαδρομές ενός IGP στο BGP ενώ θα πρέπει να χρησιμοποιηθούν φίλτρα που θα αυξήσουν την πολυπλοκότητα. Διάδοση διαδρομών σε ένα Αυτόνομο Σύστημα Confederations Τα Confederations περιγράφονται στο RFC και είναι μια εναλλακτική μέθοδος για να επιτευχθεί η διάδοση διαδρομών εντός ενός Αυτόνομου Συστήματος χωρίς να χρειαστεί να έχουμε full mesh τοπολογία ανάμεσα στους IBGP routers. Με τα confederations μπορούμε να διαιρέσουμε ένα Αυτόνομο Σύστημα σε πολλά ημιαυτόνομα συστήματα. Οι routers που βρίσκονται μέσα σε ένα ημιαυτόνομο σύστημα ονομάζονται confederation IBGP peers ενώ οι routers που βρίσκονται σε διαφορετικό ημιαυτόνομο σύστημα ονομάζονται confederation EBGP peers. Με τη χρήση των confederations ένα αυτόνομο σύστημα δεν απαιτεί πλέον full mesh μεταξύ των BGP peers για να διαδοθούν όλες οι διαδρομές σε όλους τους routers. Αυτό συμβαίνει γιατί οι confederation EBGP peers λειτουργούν ως πραγματικοί EBGP peers ενώ εσωτερικά οι confederation IBGP peers απαιτούν full mesh γιατί φέρονται όπως οι πραγματικοί IBGP peers, δεν διαφημίζουν δηλαδή IBGP διαδρομές ο ένας στον άλλο. Επειδή όμως οι confederation EBGP peers λειτουργούν ως EBGP peers 9 RFC 5065: Autonomous System Confederations for BGP [44]

54 μπορούν να διαφημίσουν τις διαδρομές που μαθαίνουν από άλλα ημιαυτόνομα συστήματα μέσα σε αυτό στο οποίο ανήκουν και με την ύπαρξη full mesh να μάθουν, οι IBGP peers, τις διαδρομές εντός του ημιαυτόνομου συστήματος. Για την αποφυγή loops μέσα στο ημιαυτόνομο σύστημα χρησιμοποιείται το AS_PATH attribute μέσα στο οποίο οι routers ενσωματώνουν τον αριθμού του ημιαυτόνομου συστήματος στο οποίο ανήκουν και ονομάζεται AS_CONFED_SEQ και AS_CONFED_SET. Αυτό το path attribute λειτουργεί ακριβώς όπως το AS_PATH και αποτρέπει έναν router να διαφημίσει μια διαδρομή σε κάποιο ημιαυτόνομο σύστημα το οποίο βρίσκεται ήδη στη λίστα του AS_Path στο τμήμα του AS_CONFED_SEQ. Η δημιουργία των confederations απαιτεί τη χρήση ιδιωτικών αριθμών αυτόνομων συστημάτων, από το έως το γιατί αυτά δεν διαφημίζονται εκτός του αυτόνομου συστήματος ή το Internet. Επίσης απαιτείται η χρήση της εντολής multihop για τις confederation EBGP γειτονίες γιατί το TTL έχει τιμή ένα όπως και στις κανονικές EBGP γειτονίες. Όμως το NEXT_HOP δεν αλλάζει όπως θα γινόταν σε μια EBGP γειτονία. Εικόνα 15 - Βήματα αλλαγής AS_PATH εντός μιας confederation [45]

55 Στο σχήμα βλέπουμε μια τοπολογία τριών αυτόνομων συστημάτων με τα απαραίτητα βήματα που ακολουθούνται για να λειτουργήσει το Αυτόνομο Σύστημα 1000 ως transit δίκτυο μεταξύ του 2000 και 3000 με τη χρήση των confederations. 1. Tο Αυτόνομο Σύστημα 2000 εισάγει τη διαδρομή /24 στο Αυτόνομο Σύστημα 1000 μέσω EBGP γειτονίας με AS_Path O R3 διαφημίζει στους γείτονες του όπως θα έπρεπε τη διαδρομή /24 ωστόσο οι R4 και R5 δεν ανταλλάσσουν τη διαδρομή μεταξύ τους γιατί ισχύει ο κανόνας που αποτρέπει τους IBGP γείτονες να διαδώσουν μια διαδρομή στους γείτονες τους. 3. Οι R4 και R5 φέρονται ως EBGP γείτονες για τους R9 και R7 αντίστοιχα αφού βρίσκονται σε διαφορετικά ημιαυτόνομα συστήματα οπότε θα τους διαφημίσουν τη διαδρομή /24 με AS_PATH (65000) Σε αυτό το βήμα οι R9 και R7, ως EBGP routers, θα διαδώσουν τη διαδρομή που έμαθαν στους γείτονες τους στο δικό τους ημιαυτόνομο σύστημα όπως έγινε και στο βήμα Οι R10 και R6 θα διαφημίσουν ο ένας στον άλλο τη διαδρομή αφού είναι επίσης 2 EBGP γείτονες μεταξύ ημιαυτόνομων συστημάτων προσθέτοντας ο καθένας το AS_PATH_SEQ στο οποίο ανήκει. Ο R10 θα στείλει τη διαδρομή /24 με AS_PATH ( ) 2000 και ο R6 τη διαδρομή /24 με AS_PATH ( ) Τέλος, ο R8 θα στείλει τη διαδρομή /24 στο Αυτόνομο Σύστημα 3000 αφαιρώντας από το AS_PATH τα confederations AS_PATHs προσθέτοντας το Αυτόνομο Σύστημα 1000 στο οποίο ανήκει. Για να επιβεβαιώσουμε τα παραπάνω θα μεταφερθούμε σε μια πιο μικρή τοπολογία όπου έχουμε πάλι 3 Αυτόνομα Συστήματα με ASN 1000, 2000 και Θέλουμε από το 2000 να διαδώσουμε στα άλλα 2 το πρόθεμα /24 με τη χρήση confederations στο Αυτόνομο Σύστημα [46]

56 Εικόνα 16 - Τοπολογία με Confederations σε ένα Αυτόνομο Σύστημα Για να γίνει αυτό χωρίζουμε το Αυτόνομο Σύστημα 1000 σε 2 ημιαυτόνομα συστήματα, το και το Σύμφωνα με τους κανόνες που είδαμε προηγουμένως θα πρέπει το πρόθεμα /24 να διαδοθεί μέσω EBGP μεταξύ R1 και R3 στη συνέχεια ο R3 να το διαδώσει στους γείτονες του όπως θα έκανε ένας EBGP peer σε ένα αυτόνομο σύστημα. Αφού λάβει το πρόθεμα ο R4 λόγω EBGP γειτονίας μεταξύ 2 ημιαυτόνομων συστημάτων θα το διαδώσει στον R2 ως EBGP Peer μεταξύ 2 Αυτόνομων Συστημάτων. Επομένως για τον R1 έχουμε: router bgp 2000 neighbor remote-as 1000 neighbor update-source loopback 1 neighbor ebgp-multihop 2 [47]

57 network mask exit ip route serial 3/0 ip route null 0 για τον R2: router bgp 3000 neighbor remote-as 1000 neighbor update-source loopback 1 neighbor ebgp-multihop 2 exit ip route serial 3/0 Για τον R3: router bgp bgp confederation identifier 1000 neighbor remote-as 2000 neighbor update-source lo 0 neighbor ebgp-multihop 2 neighbor remote-as neighbor update-source lo 0 neighbor next-hop self exit ip route serial3/0 Από τις ρυθμίσεις του R3 βλέπουμε ότι για να ξεκινήσει η διαδικασία του BGP δηλώνεται το ημιαυτόνομο σύστημα και στη συνέχεια με την εντολή bgp confederation identifier δηλώνεται το αυτόνομο σύστημα στο οποίο ανήκει. Για τον R4 έχουμε: router bgp [48]

58 bgp confederation identifier 1000 bgp confederation peers neighbor remote-as neighbor update-source lo 0 neighbor remote-as neighbor update-source lo 0 neighbor ebgp-multihop 2 Όπως και στον R3 οι ρυθμίσεις για την confederation είναι ίδιες όμως επειδή ο συγκεκριμένος router επικοινωνεί με άλλο ημιαυτόνομο σύστημα θα πρέπει να δηλώσουμε πιο είναι αυτό bgp confederation peers ενώ και με την εντολή neighbor ebgp-multihop 2 αυξάνουμε το TTL σε 2 αφού πρόκειται για EBGP γειτονία. Για τον R5 έχουμε: router bgp bgp confederation identifier 1000 bgp confederation peers neighbor remote-as 3000 neighbor update-source lo 0 neighbor ebgp-multihop 2 neighbor remote-as neighbor update-source lo 0 neighbor next-hop self neighbor ebgp-multihop 2 exit ip route serial3/0 Και εδώ βλέπουμε όπως και στους υπόλοιπους router ότι είναι απαραίτητο να δηλωθεί το γειτονικό ημιαυτόνομο σύστημα όπως και το αυτόνομο σύστημα στο οποίο ανήκει ο router. Αφού βεβαιωθούμε για την ορθή λειτουργία των ρυθμίσεων που δώσαμε δίνοντας την εντολή show ip bgp σε κάθε router θα επιβεβαιώσουμε τον τρόπο με τον οποίο διαδίδεται σε κάθε router. [49]

59 R1: R1#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Βλέπουμε ότι ο R1 εισάγει τη διαδρομή στο BGP. R3: R3#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i O R3 μαθαίνει τη διαδρομή από τον R1 έχοντας τον ως next hop ενώ το AS_PATH είναι R4: R4#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [50]

60 Network Next Hop Metric LocPrf Weight Path *>i / i O R4 μαθαίνει από τον R3 τη διαδρομή έχοντας τον R3 ως next hop και AS_PATH το R5: R5#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / (65000) 2000 i O R5 μαθαίνει τη διαδρομή από τον R4, κρατάει όμως ως next hop τον R3 εφόσον δεν χρησιμοποιήθηκε η εντολή next-hop self ενώ στο AS_PATH βλέπουμε την προσθήκη του ημιαυτόνομου συστήματος 65000, αφού αλλάξαμε ημιαυτόνομο σύστημα, δίπλα στο R2: R2#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Τέλος, βλέπουμε τον R2 να μαθαίνει για τη διαδρομή μέσω του R5 με το AS_PATH να αλλάζει αφού αφαιρέθηκαν τα ημιαυτόνομα συστήματα και τοποθετήθηκε το αυτόνομο σύστημα 1000 όπως θα έπρεπε να γίνει σε μια EBGP γειτονία. [51]

61 Με αυτή τη μέθοδο είδαμε ότι ο διαχειριστής ενός μεγάλου δικτύου μπορεί να διαχωρίσει το Αυτόνομο Σύστημα που διαχειρίζεται σε αρκετά μικρότερα ώστε να εξαλείψει την ανάγκη για full mesh μεταξύ των peers και να κάνει πιο εύκολη τη διαχείριση του. Route Reflectors Οι route reflectors όπως και οι confederations είναι μια μέθοδος που αποσκοπεί στην αποφυγή δημιουργίας full mesh μεταξύ των IBGP routers εντός ενός Αυτόνομου Συστήματος. Σε ένα Αυτόνομο Σύστημα που χρησιμοποιούνται οι route reflectors απαιτείται μια partial-mesh τοπολογία όπου κάποιοι routers θα λειτουργούν ως servers και άλλοι ως clients, σχηματίζοντας ένα cluster, με τους servers να μπορούν να μάθουν μια διαδρομή από τους clients και έπειτα να τη μεταδώσουν σε άλλους IBGP peers. Εικόνα 17 - Full Mesh τοπολογία Χρησιμοποιώντας κάποιους routers ως route reflectors μόνο αυτοί υπακούν σε διαφοροποιημένους κανόνες από τους κανόνες που έχουμε δει ως τώρα με τους clients και τους non-clients να μην γνωρίζουν την ύπαρξη τους. Φυσικά η ύπαρξη μόνο ενός route reflector θα δημιουργούσε ένα δίκτυο το οποίο θα [52]

62 είχε single point of failure τον συγκεκριμένο router αλλά αυτό το πρόβλημα μπορεί να λυθεί με τη χρήση περισσοτέρων router ως route reflectors. Εικόνα 18 - Route reflector - Star τοπολογία Στην παραπάνω εικόνα βλέπουμε ότι ο R1 είναι ο route reflector ενώ οι router R2 R6 λειτουργούν ως clients λαμβάνοντας από αυτόν τις ενημερώσεις αντίθετα με τον non-client που είναι ένας απλός IBGP γείτονας. Υπάρχουν κάποιοι κανόνες στους οποίους υπακούει ο route reflector για να προωθήσει μια διαδρομή: - Μια διαδρομή η οποία έχει γίνει γνωστή μέσω EBGP μπορεί να προωθηθεί σε άλλο EBGP γείτονα, σε κάποιον client και σε κάποιον non-client. - Μια διαδρομή η οποία έχει γίνει γνωστή από κάποιον client μπορεί να προωθηθεί σε άλλο EBGP γείτονα, σε κάποιον client και σε κάποιον non-client. - Μια διαδρομή η οποία έχει γίνει γνωστή από κάποιον non-client μπορεί να προωθηθεί σε άλλο EBGP γείτονα, σε κάποιον client αλλά όχι σε κάποιον non-client. Αυτό συμβαίνει λόγω του BGP split horizon κανόνα. Στην παραπάνω τοπολογία θα δούμε τη λειτουργία των Route Reflectors. Το Αυτόνομο Σύστημα θα διαφημίσει το δίκτυο /24 στα Αυτόνομα Συστήματα και Στο Αυτόνομο [53]

63 Σύστημα θα χρησιμοποιήσουμε ένα cluster στο οποίο ο R1 λειτουργεί ως route reflector με τους R2 R5 ως clients και τους R6 και R7 ως non-clients. Εικόνα 19 - Τοπολογία Route Reflectors Για αρχή θα φτιάξουμε τις γειτονίες όπως είδαμε σε προηγούμενα κεφάλαια και θα διαφημίσουμε το δίκτυο /24. Όπως βλέπουμε δίνοντας την εντολή show ip bgp το δίκτυο διαφημίζεται από τον R9 στον R2 μέσω EBGP ενώ στη συνέχεια αυτός το διαδίδει στον R1. R9#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i R1#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, [54]

64 r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i R7#show ip bgp - Κανένας άλλος router όμως πέρα από τον R1 δεν λαμβάνει το δίκτυο /24 επειδή δεν υπάρχει full-mesh στους IBGP routers του Αυτόνομου Συστήματος Γι αυτό το λόγο θα φτιάξουμε ένα cluster με τον router R1 ως route reflector. R1(config)#router bgp R1(config-router)#bgp cluster-id 1 R1(config-router)#neighbor route-reflector-client R1(config-router)#neighbor route-reflector-client R1(config-router)#neighbor route-reflector-client R1(config-router)#neighbor route-reflector-client Ρυθμίζοντας τον R1 ως route reflector τότε όλοι οι clients θα λάβουν το δίκτυο /24 όπως και οι non-clients. Για παράδειγμα βλέπουμε ότι ο R3 γνωρίζει για το δίκτυο /24 και το θεωρεί κατάλληλο για να μπει στο routing table. Βλέπουμε επίσης ότι ο R3 μαθαίνει το δίκτυο από τον R1 μόνο και όχι από τον R4 αφού οι clients δεν γνωρίζουν την ύπαρξη των route reflectors ή ότι είναι clients και η μεταξύ τους γειτονία είναι IBGP. R3#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path [55]

65 *>i / i R3#show ip bgp BGP routing table entry for /24, version 2 Paths: (1 available, best #1, table default) Not advertised to any peer (metric 2) from ( ) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: , Cluster list: Αντίστοιχα, οι non-client routers μαθαίνουν την διαδρομή μέσω του R1 και μέσω IBGP δεν τη διαφημίζουν σε κάποιο γείτονα. O R7 όμως επειδή έχει EBGP γειτονία με τον R8 θα διαφημίσει τη διαδρομή στον router R8 όπως φαίνεται παρακάτω. R6#show ip bgp BGP routing table entry for /24, version 2 Paths: (1 available, best #1, table default) Not advertised to any peer (metric 2) from ( ) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: , Cluster list: R8#show ip bgp BGP table version is 2, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i [56]

66 Διαφήμιση διαδρομών σε ένα Transit δίκτυο Σε αυτό το σενάριο θα δούμε πως γίνεται η διαφήμιση διαδρομών στο BGP χρησιμοποιώντας έναν μεγάλο αριθμό Αυτόνομων Συστημάτων. Στο σενάριο που θα δημιουργήσουμε υπάρχει ένα Transit δίκτυο, ένα Data Center για παράδειγμα, δυο ISP και ένας πελάτης με Private AS. Εντός του Data Center υπάρχει συνδεσιμότητα μέσω OSPF. Χρησιμοποιούνται επίσης 2 uplinks προς κάθε ISP ενώ ο πελάτης συνδέεται και αυτός με ένα link με το transit δίκτυο. To Data Center διαχειρίζεται ένα WAN δίκτυο, το /16 ενώ έχει δώσει στον πελάτη το /24. Εικόνα 20 - Διαφήμιση διαδρομών σε ένα Transit δίκτυο Προϋποθέσεις: - Στο Data Center χρησιμοποιείται το OSPF ως IGP πρωτόκολλο για τη διαφήμιση των εσωτερικών διαδρομών. - Εντός του Data Center οι Routers ενώνονται μεταξύ τους και με το IBGP, σε μια full mesh IBGP τοπολογία. Η γειτονίες δημιουργούνται μέσω Loopbacks και όχι μέσω των φυσικών Interface. [57]

67 - Πρέπει να δημιουργηθούν επίσης EBGP γειτονίες μεταξύ Data Center και των 2 ISPs καθώς και μεταξύ του Data Center και του Πελάτη. Όπου υπάρχουν διπλά link θα δημιουργηθούν γειτονίες μέσω loopbacks ενώ για τη σύνδεση με τον πελάτη αρκεί να δημιουργηθεί μια γειτονία με τα φυσικά interface. - Στον ISP1 και ISP2 υπάρχουν κάποια loopback interface τα οποία προσομοιώνουν τα δίκτυα που έχει στη διάθεση του ο κάθε ISP. Αυτά και μόνο αυτά θα γίνουν redistribute στο BGP ώστε να γίνουν γνωστά στο Data center και στη συνέχεια στον πελάτη. - Ο πελάτης θα πρέπει και αυτός με τη σειρά του να λάβει τα δίκτυα των ISPs αλλά και να διαφημίσει αυτά που χρησιμοποιεί ο ίδιος και του έχουν δοθεί από το Data center που συνεργάζεται. Επειδή ο πελάτης χρησιμοποιεί Private AS θα πρέπει, όταν τα δίκτυα του διαφημιστούν στους ISPs, να απομακρυνθεί το όνομα του Private AS. Στόχος του εργαστηρίου είναι να λειτουργήσει το Data center ως transit δίκτυο, να διαφημιστούν οι public IP διευθύνσεις των ISPs και να μπορέσει να έχει επίσης ο πελάτης συμμετοχή στο BGP. Εφόσον έχει γίνει η σωστή διευθυνσιοδότηση στα interfaces μπορούμε να αρχίσουμε το εργαστήριο. Για αρχή θα ρυθμίσουμε το OSPF ώστε να εξασφαλιστεί ότι όλοι οι routers του Data Center μπορούν να επικοινωνήσουν μεταξύ τους, όπως και με τα loopbacks interfaces. Ξεκινώντας λοιπόν, θα ρυθμίσουμε το OSPF πρωτόκολλο: R1: Router ospf 1 network area 0 network area 0 network area 0 R2: Router ospf 1 network area 0 network area 0 network area 0 R3: [58]

68 Router ospf 1 network area 0 network area 0 network area 0 R4: Router ospf 1 network area 0 network area 0 network area 0 Για να επιβεβαιώσουμε τη λειτουργία του OSPF αρκεί να δούμε τη database αφού αυτή είναι κοινή σε όλους τους router. R2#show ip ospf database OSPF Router with ID ( ) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count x x x x x x00A6C x x00C68B 3 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum x x [59]

69 x x x x00CB x x0055C0 Ενώ με την εντολή show ip route βλέπουμε ότι έχουν μαθευτεί οι διαδρομές που διαφημίστηκαν στο OSPF. R2#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set /16 is variably subnetted, 6 subnets, 2 masks C L O C L O /29 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /29 [110/2] via , 00:04:47, FastEthernet0/ /29 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /29 [110/2] via , 00:02:07, FastEthernet0/ /32 is subnetted, 1 subnets O [110/2] via , 00:04:57, FastEthernet0/ /32 is subnetted, 1 subnets C is directly connected, Loopback /32 is subnetted, 1 subnets [60]

70 O [110/3] via , 00:02:07, FastEthernet0/0 [110/3] via , 00:04:37, FastEthernet0/ /32 is subnetted, 1 subnets O [110/2] via , 00:02:09, FastEthernet0/0 Στη συνέχεια θα φτιάξουμε τις IBGP γειτονίες. Θέλουμε μια full mesh τοπολογία, έτσι ο κάθε router θα πρέπει να έχει γειτονία με όλους τους IBGP router και όχι μόνο με αυτόν που είναι άμεσα συνδεδεμένος. Στη συνέχεια με τις εντολές show ip bgp neighbor και show ip bgp summary μπορούμε να επιβεβαιώσουμε τις γειτονίες. R1: router bgp neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self R2: router bgp neighbor remote-as neighbor update-source loopback 0 neighbor remote-as neighbor update-source loopback 0 neighbor remote-as neighbor update-source loopback 0 R3: [61]

71 router bgp neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self R4: router bgp neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self neighbor remote-as neighbor update-source loopback 0 neighbor next-hop-self R1#show ip bgp summary BGP router identifier , local AS number BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd :01: :01: :00:58 0 [62]

72 Επειδή οι router R1, R3, R4 επικοινωνούν με άλλα Αυτόνομα Συστήματα χρησιμοποιήθηκε η εντολή nexthop self. Όπως είναι γνωστό οι IBGP router δεν αλλάζουν το next-hop attribute επομένως αν ένας IBGP router δεν γνωρίζει πως να φτάσει σε ένα δίκτυο εκτός του Αυτόνομου Συστήματος θα ρίξει το πακέτο. Με τη συγκεκριμένη εντολή εξασφαλίζεται ότι η IP που θα διαφημίζεται ως next-hop στο IBGP θα είναι αυτή των edge router του Αυτόνομου Συστήματος. Στο 3ο βήμα θα δημιουργήσουμε τις EBGP γειτονίες μεταξύ R1-R5, R2-R6 και R4-R7. Στις 2 πρώτες επειδή έχουμε διπλά links αυτό θα γίνει μέσω loopback interface, ενώ μεταξύ R4-R7 μέσω του φυσικού interface. Πρώτα όμως θα πρέπει να δημιουργήσουμε τα static routes ώστε να γνωρίζουν οι router πως θα φτάσουν στα δίκτυα προορισμού. R1: ip route ip route router bgp neighbor remote-as neighbor update-source loopback 0 neighbor ebgp-multihop 2 R3: ip route ip route router bgp neighbor remote-as neighbor update-source loopback 0 neighbor ebgp-multihop 2 R4: router bgp neighbor remote-as R5: ip route [63]

73 ip route router bgp neighbor remote-as neighbor update-source loopback 0 neighbor ebgp-multihop 2 R6: ip route ip route router bgp neighbor remote-as neighbor update-source loopback 0 neighbor ebgp-multihop 2 R7: router bgp neighbor remote-as Για να επιβεβαιώσουμε την ορθή λειτουργία των εντολών αρκεί να κάνουμε Ping στα loopback Interface του γειτονικού router ή να δώσουμε την εντολή show ip bgp summary. Στη συνέχεια θα πρέπει να διαφημίσουμε τα δίκτυα των δυο ISPs στο Data Center. Αυτό θα γίνει με τη χρήση της εντολής redistribute αφού πρώτα όμως γίνει η διαλογή των συγκεκριμένων διαδρομών με route maps και access lists. R5: ip access-list standard ACL_filter permit exit route-map filter_networks match ip address ACL_filter exit [64]

74 router bgp redistribute connected route-map filter_networks R6: ip access-list standard ACL_filter permit exit route-map filter_networks match ip address ACL_filter exit router bgp redistribute connected route-map filter_networks Με αυτή τη μέθοδο κάναμε redistribute στο BGP τα δίκτυα που βλέπει ο router ως connected και στη συνέχεια με τη χρήση access list και του route map φιτλράραμε τα δίκτυα ώστε να διαφημιστούν μόνο αυτά που θέλαμε. Βλέπουμε λοιπόν ότι όλες οι διαδρομές έχουν μαθευτεί: R7#show ip bgp BGP table version is 13, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / ? *> / ? *> / ? *> / ? *> / ? *> / ? *> / ? [65]

75 *> / ? *> / ? *> / ? *> / ? *> / ? Στη συνέχεια, αν υποθέσουμε ότι ο πελάτης διαχειρίζεται όλο το /24 θα πρέπει να φτιάξουμε μια ip route προς το null 0 και να διαφημίσουμε στο bgp το συγκεκριμένο πρόθεμα. ip route null 0 router bgp network mask exit Για να επιβεβαιώσουμε μπορούμε να πάμε στον R1 και δίνοντας την εντολή show ip bgp να δούμε ότι όντως διαφημίζεται το πρόθεμα. R1#show ip bgp BGP table version is 14, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / ? *> / ? *> / ? *> / ? *> / ? *> / ? *>i / ? *>i / ? [66]

76 *>i / ? *>i / ? *>i / ? *>i / ? *>i i Βλέπουμε όμως ότι αυτό λαμβάνεται με ASN κάτι που θέλουμε να αποφύγουμε. ΓΙ αυτό το λόγο θα απομακρύνουμε αυτό το ASN βάζοντας στη θέση του το που είναι το ASN του Data center. R1: neighbor remove-private-as R3: neighbor remove-private-as Για να διαπιστώσουμε την ορθή λειτουργία: R5#show ip bgp BGP routing table entry for /24, version 17 Paths: (1 available, best #1, table default) Not advertised to any peer from ( ) Origin IGP, localpref 100, valid, external, best [67]

77 Κεφάλαιο 4 Προβλήματα που βασίζονται στα Path Attributes Όπως είδαμε σε προηγούμενα κεφάλαια υπάρχουν αρκετά attributes που συμμετέχουν στη διαδικασία επιλογής της κατάλληλης διαδρομής. Πολλές φορές όμως η επιλογή μιας διαδρομής στο routing table δεν είναι η βέλτιστη αφού το BGP δεν λαμβάνει υπόψη κάποιο cost όπως το bandwidth ή το delay ως metric και λειτουργεί στην ουσία ως ένα path vector πρωτόκολλο μεταξύ των Αυτόνομων Συστημάτων. Σε αυτήν την ενότητα θα δούμε πως μπορούμε να διαφοροποιήσουμε τα attributes ώστε να χειριστούμε τις διαδρομές σύμφωνα με τις ανάγκες που μπορούν να τεθούν από έναν οργανισμό ή την τοπολογία του δικτύου. Το Weight attribute Το Weight είναι το πρώτο attribute που λαμβάνεται υπόψη στην διαδικασία επιλογής μιας διαδρομής. Είναι ένα Optional Non-Transitive attribute και υποστηρίζεται από ορισμένους κατασκευαστές ενώ αφορά μόνο τον τοπικό router και δεν μπορεί να επηρεάσει κάποιον άλλο BGP peer ή ένα άλλο Αυτόνομο Συστήμα. Εξ ορισμού, η τιμή του είναι 0 (μέγιστη η 65535) για τις διαδρομές που έχουν ληφθεί από τους γείτονες και για τις τοπικές. Η μεγαλύτερη τιμή για έναν γείτονα είναι αυτή που θα προτιμηθεί. Η εντολή που χρησιμοποιείται είναι η εξής: neighbor IP-address ή peer group-name weight value. Δηλαδή μπορούμε να διαφοροποιήσουμε την τιμή που έχει για ένα γείτονα ώστε να προτιμάται αυτός σε σχέση με κάποιον άλλο. Επειδή είναι τοπικό, η χρήση του πρέπει να γίνεται στον edge router ενός Αυτόνομου Συστήματος αν αυτός συνδέεται σε παραπάνω από ένα Αυτόνομο Συστήμα ή γείτονες. [68]

78 Εικόνα 21 - Τοπολογία Weight attribute Στην τοπολογία βλέπουμε έναν οργανισμό που διαθέτει δυο διαφορετικά Αυτόνομα Συστήματα. Το Head Office συνδέεται με ένα branch μέσω 2 διαφορετικών ISP. Η μια διαδρομή είναι μέσω του ISP1 και η άλλη μέσω των ISP2 και ISP3. Ως διαχειριστές των δικτύων του οργανισμού θα κληθούμε να επιλέξουμε τη βέλτιστη διαδρομή. Όλα τα links μεταξύ των Αυτόνομων Συστημάτων είναι 100mbps εκτός αυτό μεταξύ Head Office και ISP1 που είναι 2mbps και χρησιμοποιείται για backup. Όλες οι ρυθμίσεις των IP διευθύνσεων και του BGP έχουν γίνει ενώ η διαδρομή που θεωρείται βέλτιστη από τον οργανισμό ώστε να επικοινωνούν το Branch1 με το head office είναι αυτή που περνά από τον ISP2 και ISP3. Στον R5 που είναι ο router του Branch1 υπάρχουν 2 loopback interface που προσομοιώνουν τα δίκτυα που θα διαφημιστούν στο Head Office R1. Αφού έχουν γίνει οι κατάλληλες ρυθμίσεις δίνοντας την εντολή show ip bgp βλέπουμε στον πίνακα με τις BGP διαδρομές: R1#show ip bgp [69]

79 BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i * i *> / i * i Ο λόγος που προτιμήθηκε η διαδρομή μέσω του ISP2 είναι ότι αφού στον R1 υπάρχει ισοπαλία στο Weight και στο local preference προτιμήθηκε το AS-Path attribute. Η διαδρομή μέσω ISP2 και ISP3, για τα δίκτυα του R5, είναι μεγαλύτερη κατά 1 hop από ότι μέσω του ISP1. Για να αλλάξουμε τη διαδρομή χρησιμοποιούμε την εντολή weight και κάνουμε μια επανεκκίνηση των γειτονιών: R1(config-router)#neighbor weight 1000 R1#clear ip bgp * Στη συνέχεια δίνοντας την εντολή show ip bgp βλέπουμε την αλλαγή στην προτίμηση του γείτονα router για τα δίκτυα του R5. R1#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i * i *> / i * i [70]

80 Αν για κάποιο λόγο, για παράδειγμα αν γίνει μια αναβάθμιση στο link μεταξύ Head Office και ISP1, μπορούμε με τη χρήση route-maps να επιλέξουμε να κάνουμε κάτι σαν load balancing μεταξύ των 2 ISPs. Έτσι θα στείλουμε το δίκτυο /24 μέσω του ISP1 Και το δίκτυο /24 μέσω του ISP2. R1(config)#ip access-list standard R77 R1(config-std-nacl)#permit R1(config)#ip access-list standard R91 R1(config-std-nacl)#permit R1(config)#route-map R77 permit 10 R1(config-route-map)#match ip address R77 R1(config-route-map)#set weight 1200 R1(config)#route-map R77 permit 20 R1(config-route-map)#match ip address R91 R1(config-route-map)#set weight 500 R1(config)#router bgp R1(config-router)#neighbor route-map R77 in R1#clear ip bgp * R1#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i * i * / i *> i [71]

81 Με αυτόν τον τρόπο πετύχαμε ένα load balancing για τον R1 μέσω της εντολής Weight κάτι που επιβεβαιώνεται μέσω και της εντολής show ip route. R1#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, + - replicated route Gateway of last resort is not set /8 is variably subnetted, 2 subnets, 2 masks C L /30 is directly connected, Serial3/ /32 is directly connected, Serial3/ /8 is variably subnetted, 2 subnets, 2 masks C L /30 is directly connected, FastEthernet0/ /32 is directly connected, FastEthernet0/ /24 is subnetted, 1 subnets B [20/0] via , 00:04: /24 is subnetted, 1 subnets B [20/0] via , 00:04:59 To Local Preference attribute To local preference όπως είδαμε είναι το δεύτερο attribute στη σειρά απόφασης για την καλύτερη διαδρομή. Είναι τοπικό σε ένα Αυτόνομο Συστήμα επομένως ανταλλάσσεται μεταξύ των IBGP γειτόνων εντός των ορίων του Αυτόνομου Συστήματος και ορίζει πως πρέπει να βγει η δικτυακή κίνηση από το [72]

82 Αυτόνομο Συστήμα. Η εξ ορισμού αρχική του τιμή είναι 100 και μπορεί να πάρει τιμές έως με τη μεγαλύτερη να είναι και αυτή που προτιμάται. Είναι ένα Well-known Discretionary attribute και επομένως είναι γνωστό σε όλες τις υλοποιήσεις του BGP. Η χρήση του είναι σημαντική γιατί μπορεί να βοηθήσει τον διαχειριστή ενός δικτύου να χειριστεί κατάλληλα την δικτυακή κίνηση και σε αντίθεση με το weight δεν είναι τοπικό αλλά μπορεί να επηρεάσει κάθε router εντός του Αυτόνομου Συστήματος καθιστώντας το ως το σημαντικότερο attribute για ένα τοπικό δίκτυο αφού είναι δεύτερο στη λήψη αποφάσεων για τη βέλτιστη διαδρομή. Στην τοπολογία αυτού του σεναρίου βλέπουμε ένα Αυτόνομο Συστήμα το οποίο συνδέει το home office με το branch μέσω δυο ISPs, όλα τα links είναι 100mbps. Αν δώσουμε την εντολή show ip bgp στους router του AS θα διαπιστώσουμε ότι όλη η δικτυακή κίνηση κατευθύνεται μέσω του R7 προς τον ISP1 ενώ μόνο η δικτυακή κίνηση του R1 κατευθύνεται μέσω των ISP2 και ISP3. Εικόνα 22 - Τοπολογία Local Preference attribute R1#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [73]

83 Network Next Hop Metric LocPrf Weight Path * i / i *> i * i / i *> R6#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path * i / i *> i * i / i *> i R7#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path * i / i *>i i * i / i *>i i [74]

84 Αυτό συμβαίνει γιατί δεν έχουμε επέμβει στην διαδικασία επιλογής της βέλτιστης διαδρομής οπότε επειδή το weight και το local preference είναι ίσα τη λύση δίνει το AS-Path το οποίο είναι μικρότερο μέσω του ISP1. Σε περίπτωση που θέλουμε να το αλλάξουμε αυτό και να κάνουμε πάλι load balancing στέλνοντας τη δικτυακή κίνηση μέσω και των δυο εξόδων από το Αυτόνομο Συστήμα μπορούμε να το πετύχουμε αλλάζοντας τα βάρη στο local preference attribute. Αυτό μπορεί να γίνει στους δυο edge routers με τη χρήση route-maps όπως είδαμε και στο προηγούμενο σενάριο. R1(config)#ip access-list standard NET77 R1(config-std-nacl)#permit R1(config-std-nacl)#exit R1(config)#route-map R77 permit 10 R1(config-route-map)#match ip address NET77 R1(config-route-map)#set local-preference 500 R1(config)#route-map R77 permit 20 R1(config-route-map)#exit R1(config)#router bgp R1(config-router)#neighbor route-map R77 in R1#clear ip bgp * soft Φτιάχνοντας το Route-map και τοποθετώντας το έτσι ώστε να φιλτράρει τις εισερχόμενες διαδρομές από τον R3 (γείτονα ) προς τον R1. Ο R1 αλλάζει το Local preference του δικτύου /24 σε 500 και το διαφημίζει με αυτήν την τιμή στους υπόλοιπους IBGP routers του δικτύου. Δίνοντας την εντολή show ip bgp στον R7 βλέπουμε ότι πλέον επιλέγει ως next hop τον R1 επειδή το local preference είναι 500. Mε αυτόν τον τρόπο επιτυγχάνουμε το επιθυμητό load balancing, με τα υπόλοιπα δίκτυα να δρομολογούνται από τον R6 κάτι που φαίνεται δίνοντας την εντολή show ip bgp στον R7. R7#show ip bgp BGP table version is 4, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [75]

85 Network Next Hop Metric LocPrf Weight Path *>i / i * i i * i / i *>i i Το MED attribute Το MED είναι ένα attribute που βρίσκεται χαμηλά στη λίστα επιλογής με τα attributes και είναι σπάνιο να επηρεάσει κάποια απόφαση. Η χρήση του έχει να κάνει με την επιλογή για το ποια θα είναι η είσοδος στο υπάρχον Αυτόνομo Συστήμα όταν αυτές είναι παραπάνω από μία. Πιο συγκεκριμένα το MED προσπαθεί να επηρεάσει το μονοπάτι της εξόδου των γειτονικών Αυτόνομων Συστημάτων προς το Αυτόνομο Σύστημα που αλλάζει τα βάρη στο MED, προτείνοντας αυτό την επιθυμητή είσοδο. Σε περίπτωση που φτάσει μια διαδρομή να συγκρίνει τα MED attributes ώστε να αποφασίσει ποιο μονοπάτι θα περάσει τότε το μικρότερο MED είναι αυτό που θα επικρατήσει με την εξ ορισμού τιμή του να είναι μηδέν. Η παραμετροποίηση του MED attribute μπορεί να γίνει είτε μέσα στην παραμετροποίηση του BGP πρωτοκόλλου με την εντολή default-metric «value» που είναι καθολική για όλες τις διαδρομές είτε με τη χρήση route-maps με κατεύθυνση προς τα έξω neighbor «ip address» route-map «όνομα» out. Στο παράδειγμα αυτού του σεναρίου θα προσπαθήσουμε να επηρεάσουμε το AS να δρομολογεί τα δίκτυα και μέσω του R1 και τα δίκτυα και μέσω του R3 όταν αυτά κατευθύνονται προς το AS Ξεκινώντας και αφού όλα έχουν ρυθμιστεί και λειτουργούν σωστά με την εντολή show ip bgp στον R6 διαπιστώνουμε ότι δρομολογεί όλα τα δίκτυα του x.x μέσω του R1. [76]

86 Εικόνα 23 - Τοπολογία MED attribute R6#show ip bgp BGP table version is 31, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i *> / i *> / i * i i *>i i * i i *>i i * i i *>i i [77]

87 * i i *>i i Για να επηρεάσουμε το γειτονικό AS (20000) δίνουμε τις παρακάτω εντολές στον R1: R1(config)#ip access-list standard A_Net01 R1(config-std-nacl)#permit R1(config-std-nacl)#permit R1(config)#route-map R_MED01 permit 10 R1(config-route-map)#match ip address A_Net01 R1(config-route-map)#set metric 50 R1(config)#route-map R_MED01 permit 20 R1(config-route-map)#set metric 100 R1(config)#router bgp R1(config-router)#neighbor route-map R_MED01 out R1#clear ip bgp * soft Δίνοντας την εντολή show ip bgp στον R6 διαπιστώνουμε ότι το MED έχει αλλάξει σε 50 και 100 για όλες τις διαδρομές που διαφημίζονται από τον R1. Αυτό σημαίνει ότι επειδή είναι μεγαλύτερο από το 0 που διαφημίζει τα ίδια δίκτυα ο R3 τότε το AS και αφού όλα τα άλλα attributes που συμμετέχουν στη λήψη απόφασης για τη βέλτιστη διαδρομή είναι ισόπαλα, θα επιλέξει ως next hop τον router που διαφημίζει το μικρότερο MED. R6#sh ip bgp BGP table version is 43, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i [78]

88 *> / i *> / i *>i i * i i *>i i * i i *>i i * i i *>i i * i i Επομένως για να λειτουργήσει σωστά το σενάριο πρέπει να παρέμβουμε και στον R3 δίνοντας το παρακάτω σετ εντολών: R3(config)#ip access-list standard A_N23 R3(config-std-nacl)#permit R3(config-std-nacl)#permit R3(config)#route-map R_MED23 permit 10 R3(config-route-map)#match ip address A_N23 R3(config-route-map)#set metric 150 R3(config-route-map)#exit R3(config)#route-map R_MED23 permit 20 R3(config-route-map)#set metric 100 R3(config-route-map)#exit R3(config)#router bgp R3(config-router)#neighbor route-map R_MED23 out R3#do clear ip bgp * soft Για να διαπιστώσουμε την ορθή λειτουργία των παραμετροποιήσεων που κάναμε δίνουμε ξανά την εντολή show ip bgp στον R6 και βλέπουμε ότι και οι διαδρομές που διαφημίζει ο R3 στο AS έχουν [79]

89 MED 50 και 100. Με αυτή τη μέθοδο πετύχαμε η κίνηση που κατευθύνεται προς τα δίκτυα του AS να έρχεται μέσω των router που εμείς επιλέξαμε και θεωρούμε ότι είναι βέλτιστο για το δίκτυο μας. Παρόλο που το MED μας επιτρέπει να επηρεάσουμε ένα γειτονικό AS η χαμηλή του σειρά στην κατάταξη για την επιλογή της βέλτιστης διαδρομής καθιστά σαφές ότι σε μια κατάσταση πραγματικής υλοποίησης ο διαχειριστής του γειτονικού AS δεν θα άφηνε να επηρεαστεί όλο το δίκτυο που διαχειρίζεται από κάποιον τρίτο. Επομένως αν θέλαμε να επηρεάσουμε τη δικτυακή κίνηση που έρχεται προς το AS που διαχειριζόμαστε θα έπρεπε να το κάνουμε ερχόμενοι σε συνεννόηση μαζί του. R6#show ip bgp BGP table version is 47, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i *> / i *> / i * i i *>i i * i i *>i i *>i i * i i *>i i * i i [80]

90 Origin Attribute Όπως είδαμε το origin attribute προσδιορίζει πως έγινε μια διαδρομή γνωστή στο BGP. Με i αναφέρεται στο IGP, με? ως incomplete και με e ότι προέρχεται από το EGP. Μια διαδρομή η οποία προέρχεται από την εντολή network θα μαρκαριστεί ως i, ενώ αυτές που προέρχονται από redistribution με?, τέλος το e αναφέρεται στο EGP πρωτόκολλο που δεν χρησιμοποιείται πια. Αν ποτέ στη διαδικασία επιλογής της βέλτιστης διαδρομής χρειαστεί να επιλεγεί η καλύτερη διαδρομή βάσει του origin attribute τότε η σειρά επιλογής είναι i IGP, e EGP και τέλος? incomplete. Στην τοπολογία της εικόνας έχουμε 2 Αυτόνομα Συστήματα στα οποία ο router R3 του Αυτόνομου Συστήματος διαφημίζει το δίκτυο /24 στους άλλους router και στον router R4 του Αυτόνομου Συστήματος Εικόνα 24 - Τοπολογία Origin attribute Έχοντας ρυθμίσει το BGP βλέπουμε στο BGP table του R4 ότι μαθαίνει το δίκτυο /24 από τον R1 και τον R2 ενώ επιλέγεται ως καλύτερη αυτή από τον R2. R4#show ip bgp BGP routing table entry for /24, version 2 [81]

91 Paths: (2 available, best #2, table default) Advertised to update-groups: from ( ) Origin IGP, localpref 100, valid, external from ( ) Origin IGP, localpref 100, valid, external, best Μπορούμε να αλλάξουμε το origin attribute εφαρμόζοντας ένα route-map είτε στην εξωτερική κατεύθυνση του R3 είτε στην εσωτερική του R4. R2(config)#route-map R2_ORIGIN R2(config-route-map)#match ip address ACL_ORIGIN R2(config-route-map)#set origin incomplete R2(config-route-map)#exit R2(config)#route-map R2_ORIGIN permit 20 R2(config-route-map)#exit R2(config)#ip access-list standard ACL_ORIGIN R2(config-std-nacl)#permit R2(config-std-nacl)#exit R2(config)#router bgp R2(config-router)#neighbor route-map R2_ORIGIN out R2(config-router)#exit R2#clear ip bgp * soft Με αυτό το route-map αλλάξαμε το origin attribute όπως αυτό διαφημίζεται στο R4 από το R2 και αντί για IGP διαδρομή (i) εμφανίζεται ως incomplete (?). Επειδή όπως γνωρίζουμε οι IGP διαδρομές προτιμώνται από τις incomplete και δεν υπάρχει άλλο attribute πιο ψηλά στη λίστα της διαδικασίας [82]

92 επιλογής της βέλτιστης διαδρομής τότε θα προτιμηθεί η διαδρομή με το i attribute αντί του? κάτι που επιβεβαιώνεται και παρακάτω: R4#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i * ? R4#show ip bgp BGP routing table entry for /24, version 3 Paths: (2 available, best #1, table default) Advertised to update-groups: from ( ) Origin IGP, localpref 100, valid, external, best from ( ) Origin incomplete, localpref 100, valid, external AS_Path Attribute Το AS_Path attribute περιέχει μια λίστα με όλα τα Αυτόνομα Συστήματα που έχει διανύσει μια διαδρομή μέχρι να φτάσει στον προορισμό της. Κάθε φορά που μια ενημέρωση για μια διαδρομή περνά σε διαφορετικό Αυτόνομο Συστήμα τότε ο αριθμός του προηγούμενου Αυτόνομου Συστήματος τοποθετείται στο AS-Path attribute μετατοπίζοντας τα υπόλοιπα μια θέση δεξιά. Σε αυτήν την ενότητα [83]

93 θα δούμε πως μπορούμε να επηρεάσουμε την επιλογή μιας διαδρομής αλλάζοντας το AS_Path αλλά και πως μπορούμε να κρύψουμε ένα Private Αυτόνομο Σύστημα. Στην παρακάτω τοπολογία θα διαφημίσουμε το δίκτυο /24 στο Αυτόνομο Σύστημα χωρίς να φαίνεται ότι προέρχεται από το Αυτόνομο Σύστημα αλλά επηρεάζοντας μόνο το AS_Path ενώ θα ορίσουμε το μονοπάτι μέσω του R2 ως είσοδο για το Αυτόνομο Σύστημα αντί του R1. Εικόνα 25 - Τοπολογία AS_Path attribute Έχοντας ρυθμίσει το BGP βλέπουμε στον R4 ότι μαθαίνει για το δίκτυο /24 από τον R1 και τον R2. Επιλέγει όμως τη διαδρομή μέσω του R1 κάτι που πρέπει να αλλάξουμε τροποποιώντας μόνο το AS_Path αλλά και να αφαιρέσουμε το Private Αυτόνομο Σύστημα. R4#show ip bgp BGP table version is 5, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [84]

94 Network Next Hop Metric LocPrf Weight Path * / i *> i Για να αφαιρέσουμε το Private Αυτόνομο Σύστημα χρησιμοποιούμε τις παρακάτω εντολές στους router R1 και R2. R1(config-router)#neighbor remove-private-as R2(config-router)#neighbor remove-private-as Δίνοντας ξανά την εντολή show ip bgp βλέπουμε ότι πλέον δεν διαφημίζεται από τους παραπάνω router το Private Αυτόνομο Σύστημα. R4#show ip bgp BGP table version is 7, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path * / i *> i Όπως γνωρίζουμε για να επιλέξει ο R4 τον R2 ως προεπιλογή για τη διαδρομή /24 βάσει του AS_Path θα πρέπει αυτό να είναι μικρότερο από αυτό του R1. Επομένως θα δημιουργήσουμε στον R1 ένα route-map που θα προσθέτει άλλες 2 φορές το Αυτόνομο Σύστημα στο AS_Path attribute ώστε να αναγκαστεί ο R4 να διαλέξει τον R2. R1(config)#ip access-list standard ACL_AS_PATH R1(config-std-nacl)#permit any R1(config-std-nacl)#exit R1(config)#route-map R_AS_PATH R1(config-route-map)#match ip address ACL_AS_PATH R1(config-route-map)#set as-path prepend [85]

95 R1(config-route-map)#exit R1(config)#router bgp R1(config-router)#neighbor route-map R_AS_PATH out R1(config-router)#end R1#clear ip bgp * soft Για να επιβεβαιώσουμε δίνουμε την εντολή show ip bgp στον R4 και βλέπουμε ότι προτιμάται ο R2 επειδή το AS_Path του R1 είναι μεγαλύτερο από αυτό του R2. R4#show ip bgp BGP table version is 8, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i * i R4#show ip bgp BGP routing table entry for /24, version 8 Paths: (2 available, best #1, table default) Advertised to update-groups: from ( ) Origin IGP, localpref 100, valid, external, best from ( ) Origin IGP, localpref 100, valid, external [86]

96 Κεφάλαιο 5 Communities Οι communities προσφέρουν έναν μηχανισμό με τον οποίο μπορούν να εφαρμόσουν ομαδοποιημένους κανόνες σε όλα τα μέλη τους. Για παράδειγμα μπορούν να εφαρμοστούν σε κάποιες διαδρομές που έχουν το ίδιο community string κοινές πολιτικές routing και παραμετροποιήσεις όπως η τροποποίηση κάποιου path attribute που έχει επίδραση στην απόφαση επιλογής της βέλτιστης διαδρομής ή κάποιο φιλτράρισμα διαδρομών. Οι communities περιγράφονται από το RFC 1997 και το πεδίο τους έχει μέγεθος 32 bit της μορφής ΑΑ:ΝN με το AA να έχει μέγεθος 16 bit και να παίρνει τιμές μεταξύ 0 και και να αντιπροσωπεύει το ASN που δημιουργεί το community ενώ το NN να έχει μέγεθος, επίσης, 16 bit και αντιπροσωπεύει μια τιμή που τίθεται από το ASN. Υπάρχει μια κατηγοριοποίηση ανάμεσα στις communities σε Well-known communities και σε private communities. Well-known communities: Όταν ένας router λάβει προθέματα δικτύου μέλη αυτών των Communities τότε λαμβάνει την δράση που έχουν προρυθμιστεί να ορίζουν αυτά. Το εύρος των τιμών αυτών των communities είναι μεταξύ 0xFFFF0000 και 0xFFFFFFFF. Private communities: Ονομάζονται έτσι γιατί δημιουργούνται από τον διαχειριστή ενός δικτύου ο οποίος ορίζει και τη δράση τους. Κατηγοριοποίηση όμως υπάρχει και στις Well-known communities: NO_EXPORT: Όσα προθέματα δικτύων διαφημίζονται στο BGP και έχουν ενεργό αυτό το community attribute δεν διαφημίζονται στους EBGP peers αλλά μπορούν να διαφημιστούν στα ημιαυτόνομα συστήματα εντός μιας confederation. Η τιμή γι αυτό το community είναι 0xFFFFFF01. NO_ADVERTISE: Όσες διαδρομές έχουν την τιμή του NO_ADVERTISE στο community path attribute τους δεν πρέπει να διαφημιστούν σε άλλους BGP peers. Η τιμή αυτή αντιστοιχεί στο 0xFFFFFF02. LOCAL_AS: Όσα προθέματα δικτύων διαφημίζονται στο BGP και έχουν ενεργό αυτό το community attribute δεν διαφημίζονται εκτός του τοπικού Αυτόνομου Συστήματος. Στην [87]

97 περίπτωση των confederations μόνο οι peers εντός του ημιαυτόνομου συστήματος μπορούν να λάβουν τα διαφημιζόμενα προθέματα. Η τιμή για αυτό το community είναι 0xFFFFFF03. INTERNET: Όσες διαδρομές έχουν την τιμή του ΙΝΤΕΡΝΕΤ στο community path attribute τους μπορούν να διαφημιστούν κανονικά χωρίς περιορισμούς. Η τιμή του community path attribute εδώ είναι 0. Well-known communities Θα εργαστούμε στην τοπολογία του σχήματος όπου έχουμε τρία διαφορετικά Αυτόνομα Συστήματα με τον router R1 να στέλνει στα υπόλοιπα updates για τα δίκτυα που θέλει να διαφημίσει και είναι τα Loopback interface του. Εικόνα 26 - Τοπολογία Well-known communities Έχουμε φτιάξει τις γειτονίες και όλα λειτουργούν σωστά αφού μαθαίνουν όλοι οι router για τα δίκτυα που διαφημίζει ο R1. R4#show ip bgp BGP table version is 6, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i [88]

98 *> / i *> / i *> / i *> / i Αυτή είναι και η community INTERNET η οποία λειτουργεί εξ ορισμού. Στη συνέχεια θα διαφημίσουμε τα δίκτυα x/24, x/24 με τη NO_EXPORT community, τα δίκτυα x/24 και x/24 με την LOCAL_AS και τέλος το δίκτυο x/24 με τη NO_ADVERTISE. Αρχίζουμε με τη δημιουργία του NO_EXPORT Community. Στην αρχή θα πρέπει να δημιουργήσουμε το route-map όπου θα ταιριάζει με μια access list ώστε με την εντολή set τα δίκτυα που θα ταιριάξουν στην access list να μαρκαριστούν με το community NO_EXPORT. Ενώ η επόμενη γραμμή του route-map επιτρέπει στα υπόλοιπα δίκτυα να περάσουν ελεύθερα. R1(config)#route-map RM_COM_NOEXP permit 10 R1(config-route-map)#match ip address ACL_COM_NOEXP R1(config-route-map)#set community no-export R1(config-route-map)#route-map RM_COM_NOEXP permit 20 R1(config-route-map)#exit R1(config)#ip access-list standard ACL_COM_NOEXP R1(config-std-nacl)#permit R1(config-std-nacl)#exit Στη συνέχεια θα πρέπει να πάμε στις ρυθμίσεις του BGP ώστε να δηλώσουμε το route-map με κατεύθυνση προς τον R2 router αλλά και με εντολή send-community να δηλώσουμε ότι θα πρέπει να αποστέλλονται οι ρυθμίσεις για το community. R1(config)#router bgp R1(config-router)#neighbor route-map RM_COM_NOEXP out R1(config-router)#neighbor send-community R1(config-router)#exit R1#clear ip bgp * soft [89]

99 Αν δώσουμε την εντολή show ip bgp στον R4 βλέπουμε ότι λαμβάνει ακόμα τα δίκτυα x/24 και x/24 αυτό συμβαίνει γιατί και ο R2 πρέπει να ρυθμιστεί κατάλληλα για να στέλνει το community. R4#show ip bgp BGP table version is 6, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i *> / i *> / i *> / i Επομένως στον R2: R2(config-router)#neighbor send-community Για να διαπιστώσουμε ότι όντως λειτουργούν οι ρυθμίσεις που δώσαμε μπορούμε να δούμε στον R3 ποιες διαδρομές έχουν το community και ποιες όχι. R3#show ip bgp include Community Community: no-export R3#show ip bgp include Community Community: no-export R3#show ip bgp include Community R3#show ip bgp include Community R3#show ip bgp include Community Ενώ δίνοντας την εντολή show ip bgp σε R3 και R4 ο R3 γνωρίζει για όλα τα δίκτυα ενώ ο R4 μόνο γι αυτά που δεν έχουν NO_EXPORT community. [90]

100 R3#show ip bgp BGP table version is 28, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i *>i / i *>i / i *>i / i *>i / i R4#show ip bgp BGP table version is 14, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i *> / i Στη συνέχεια θα δούμε τη λειτουργία του LOCAL_AS community. Στη συγκεκριμένη περίπτωση η λειτουργία του θα είναι ίδια με αυτή του NO_EXPORT μπορούμε όμως να κάνουμε τις ρυθμίσεις από τον router R2 στην εισερχόμενη κατεύθυνση από τον router R1. Η διαδικασία είναι η ίδια. Δημιουργούμε το route-map RM_COM_LOCALAS που ταιριάζει στην access list ACL_COM_LOCALAS η οποία παγιδεύει τα δίκτυα x/24 και x/24 ενώ με την εντολή set τα συγκεκριμένα δίκτυα διαδίδονται με την community LOCAL_AS. [91]

101 Επομένως στον R2: R2(config)#ip access-list standard ACL_COM_LOCALAS R2(config-std-nacl)#permit R2(config-std-nacl)#exit R2(config)#route-map RM_COM_LOCALAS permit 10 R2(config-route-map)#match ip address ACL_COM_LOCALAS R2(config-route-map)#set community local-as R2(config-route-map)#route-map RM_COM_LOCALAS permit 20 R2(config-route-map)#exit R2(config)#router bgp R2(config-router)#neighbor route-map RM_COM_LOCALAS in R2(config-router)#end R2#clear ip bgp * soft Για να διαπιστώσουμε την ορθή λειτουργία βλέπουμε στον R3 ότι όλα τα δίκτυα υπάρχουν στο BGP table ενώ βλέπουμε ότι τα x/24 και x/24 διαφημίζονται με την εντολή LOCAL_AS. R3#show ip bgp include Community Community: no-export R3#show ip bgp include Community Community: no-export R3#show ip bgp include Community Community: local-as R3#show ip bgp include Community Community: local-as R3#show ip bgp include Community και R3#show ip bgp BGP table version is 30, local router ID is [92]

102 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i *>i / i *>i / i *>i / i *>i / i Ενώ στον R4 βλέπουμε στο BGP table μόνο το δίκτυο x/24 R4#show ip bgp BGP table version is 16, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Τέλος για το δίκτυο x/24 θα εφαρμόσουμε την community NO_ADVERTISE στον router R3 στην εισερχόμενη κατεύθυνση από τον R2. Επομένως για τον R3 έχουμε: R3(config)#ip access-list standard ACL_COM_NOADV R3(config-std-nacl)#permit R3(config-std-nacl)#exit R3(config)#route-map RM_COM_NOADV permit 10 R3(config-route-map)#match ip address ACL_COM_NOADV [93]

103 R3(config-route-map)#set community no-advertise R3(config-route-map)#route-map RM_COM_NOADV permit 20 R3(config-route-map)#exit R3(config)#router bgp R3(config-router)#neighbor send-community R3(config-router)#neighbor route-map RM_COM_NOADV in R3(config-router)#end R3#clear ip bgp * soft Δίνοντας την εντολή show ip bgp include Community διαπιστώνουμε την ορθή λειτουργία των ρυθμίσεων που κάναμε. R3#show ip bgp include Community Community: no-advertise Ενώ στον R4 βλέπουμε ότι πλέον δεν διαφημίζεται κανένα δίκτυο. R4#sh ip bgp - Όπως είδαμε οι communities είναι μια μέθοδος για να μπορεί να γίνεται πιο εύκολα ο έλεγχος των διαφημίσεων διαδρομών. Στη συνέχεια θα δούμε τις private communities. Private communities Οι private communities μας επιτρέπουν να φτιάξουμε τις δικές μας κοινότητες ώστε να μπορέσουμε να φιλτράρουμε ομαδικά κάποιες διαδρομές χρησιμοποιώντας τα Path Attributes. Μάλιστα επειδή το attribute των communities είναι optional transitive μπορεί να μεταδίδεται σιωπηλά από Αυτόνομο Σύστημα σε Αυτόνομα Σύστημα και να χρησιμοποιείται μόνο από τις συσκευές που μπορούν και έχουν ρυθμιστεί να το υποστηρίξουν. Στην τοπολογία που ακολουθεί θα δούμε τη δυνατότητα που προσφέρουν οι communities να επηρεάσουν ένα γειτονικό σύστημα διαφοροποιώντας την τιμή του local preference στους γειτονικούς router και εν τέλει επηρεάζοντας τα σημεία εξόδου του Αυτόνομου Συστήματος για τις διαδρομές που διαφημίζει το Αυτόνομο Σύστημα [94]

104 Στο παράδειγμα μας θέλουμε τα προθέματα δικτύου /22 που διαφημίζει ο router R1 να εισέρχονται στο Αυτόνομο Σύστημα μέσω του router R3 και τα προθέματα δικτύου /24 μέσω του router R4. Εικόνα 27 - Χρήση Private Communities για διαφοροποίηση του Local Preference Εφόσον έχουμε ρυθμίσει σωστά τις IP στα interface των router και έχουμε ρυθμίσει το BGP πρωτόκολλο μπορούμε να προχωρήσουμε στο εργαστήριο. Στον R1 θα διαφημίσουμε τα Loopback υποδίκτυα στέλνοντας ομαδοποιημένες τις διαφημίσεις των διαδρομών. R1: network mask network mask network mask network mask network mask network mask network mask network mask aggregate-address summary-only [95]

105 aggregate-address summary-only Στον R2 διαπιστώνουμε την ορθή διαφήμιση αυτών των διαδρομών: R2#show ip bgp BGP table version is 17, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i *>i / i Στη συνέχεια θα φτιάξουμε στον R2 τις Private Communities. Με το tag 10000:100 ορίζεται η community που ταιριάζει με τα δίκτυα /22 και με 10000:200 η community που ταιριάζει με τα δίκτυα /22. Στη συνέχεια ορίζουμε να στέλνεται το attribute των communities στους R3 και R4 ενώ με την εντολή ip bgp-community new-format ορίζουμε τον τύπο των communities είδαμε στη θεωρία. R2: access-list 1 permit access-list 2 permit Route-map RM_COMMUNITY permit 10 match ip address 1 set community 10000:100 Route-map RM_COMMUNITY permit 20 match ip address 2 set community 10000:200 exit ip bgp-community new-format router bgp neighbor route-map RM_COMMUNITY in [96]

106 neighbor send-community neighbor send-community end clear ip bgp * soft Στη συνέχεια διαπιστώνουμε στους R2, R3 και R4 αν διαδίδεται το attribute. R2#show ip bgp begin Community Community: 10000:100 R2#show ip bgp begin Community Community: 10000:200 R3#show ip bgp begin Community Community: R4#show ip bgp begin Community Community: Από τα παραπάνω βλέπουμε ότι όλα στον R2 λειτουργούν σωστά όμως οι R3 και R4 δεν λαμβάνουν το attribute με την σωστή διαμόρφωση γι αυτό χρησιμοποιούμε και εδώ την εντολή ip bgp-community new-format και διαπιστώνουμε την ορθή λειτουργία του. R3(config)#ip bgp-community new-format R4(config)#ip bgp-community new-format R3#show ip bgp begin Community Community: 10000:100 R3#show ip bgp begin Community Community: 10000:200 R4#show ip bgp begin Community Community: 10000:100 R4#show ip bgp begin Community Community: 10000:200 [97]

107 Στη συνέχεια στους router R3 και R4 θα ορίσουμε μέσω των community-list να λαμβάνει στον R3 για τις διαδρομές /22 το Local Preference την τιμή 500 και για τις διαδρομές /22 την τιμή 300. Αντίθετα στον R4 οι τιμές θα είναι 300 και 500 αντίστοιχα. R3: ip community-list 1 permit 10000:100 ip community-list 2 permit 10000:200 route-map RM_SET_LP permit 10 match community 1 set local-preference 500 route-map RM_SET_LP permit 20 match community 2 set local-preference 300 route-map RM_SET_LP permit 30 exit router bgp neighbor route-map RM_SET_LP in end clear ip bgp * soft R4: ip community-list 1 permit 10000:100 ip community-list 2 permit 10000:200 route-map RM_SET_LP permit 10 match community 1 set local-preference 300 route-map RM_SET_LP permit 20 match community 2 set local-preference 500 route-map RM_SET_LP permit 30 [98]

108 router bgp neighbor route-map RM_SET_LP in end clear ip bgp * soft Αφού δώσουμε τις εντολές, διαπιστώνουμε την ορθή λειτουργία τους στους R3, R4και R5: R3#show ip bgp BGP table version is 13, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i R4#show ip bgp BGP table version is 13, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i R5#show ip bgp BGP table version is 1, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [99]

109 Network Next Hop Metric LocPrf Weight Path * i / i * i i * i / i * i i Βλέπουμε ότι όλα λειτουργούν σωστά μόνο που ο R5 δεν γνωρίζει πως να φτάσει στο next-hop γι αυτό το λόγο θα χρησιμοποιήσουμε στους R3 και R4 την εντολή next-hop self. R3: router bgp neighbor next-hop self R4: router bgp neighbor next-hop self R5#show ip bgp BGP table version is 4, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *>i / i * i i * i / i *>i i [100]

110 Κεφάλαιο 6 Πολιτικές Filtering Σε αυτήν την ενότητα θα εξετάσουμε τη δυνατότητα του BGP να φιλτράρει δεδομένα και path attributes σε κάποιο router που συμμετέχει στη διαδικασία. Όπως φαίνεται και στο σχήμα το φιλτράρισμα μπορεί να γίνει είτε σε εισερχόμενα updates από κάποιο γείτονα είτε σε εξερχόμενα updates. Εικόνα 28 - BGP Filtering Υπάρχουν αρκετοί τρόποι για να φιλτραριστεί μια διαδρομή όμως η δομή που χρησιμοποιείται συνήθως είναι η χρήση access lists οι οποίες χρησιμοποιούνται για να ταιριάξουν κάποιες διαδρομές μέσα σε ένα route-map όπου θα τεθούν οι οδηγίες για το φιλτράρισμα και στη συνέχεια αυτό το route-map θα ανατεθεί σε κάποιο γείτονα ή σε κάποιο peer group. Φυσικά πέρα από τις access lists μπορούμε να χρησιμοποιήσουμε distribute lists, prefix lists, filter maps αλλά και τις AS_Path Lists που χρησιμοποιούνται για να φιλτράρουν το AS_Path attribute. Τη χρήση κάποιων από αυτά τα εργαλεία θα δούμε στη συνέχεια του κεφαλαίου όπως και τη λειτουργία των Regular Expressions. Peer Groups Όπως έχουμε δει ως τώρα όταν θέλουμε να εφαρμόσουμε κάποια πολιτική φιλτραρίσματος από και προς κάποιο γείτονα εφαρμόζουμε αυτές τις πολιτικές μία προς μία σε κάθε γείτονα. Αυτό για τις ανάγκες των εργαστηρίων δεν είναι ιδιαίτερα κοπιαστικό επειδή έχουμε μικρές τοπολογίες. Όμως όταν το BGP εφαρμόζεται σε μεγάλες τοπολογίες τότε αποτελεί πρόβλημα να εφαρμόζονται οι πολιτικές αυτές μία προς μία και γι αυτό το λόγο χρησιμοποιούνται τα peer groups. [101]

111 Με τη χρήση των peer groups έχουμε τη δυνατότητα να εφαρμόζουμε ομαδοποιημένες πολιτικές φιλτραρίσματος δημιουργώντας ομάδες στις οποίες τα μέλη είναι οι γείτονες που θα επιλέξουμε. Φυσικά ότι πλέον ένας γείτονας ανήκει σε κάποια ομάδα (peer group) δεν μας αποτρέπει από το να εφαρμόσουμε κάποια πολιτική αποκλειστικά σε αυτόν. Η χρήση των peer groups όμως δεν εξασφαλίζει μόνο την ευκολία ενός διαχειριστή ενός Αυτόνομου Συστήματος αλλά και την δραματική μείωση των πόρων που χρησιμοποιούνται αφού τα φίλτρα που χρησιμοποιούνται δεν εφαρμόζονται σε κάθε γείτονα μεμονωμένα αλλά σε όλο το group. Στην παρακάτω τοπολογία θα δούμε τη χρήση των Peer Groups. Θα φτιάξουμε 2 ομάδες η μια θα ονομάζεται R1Internal και η άλλη R1External. Στην πρώτη ομάδα θα ανατεθούν οι IBGP γείτονες του R1 και στη δεύτερη οι EBGP γείτονες ενώ για τη δεύτερη ομάδα θα εφαρμοστεί επίσης ένα route-map το οποίο θα προσθέτει για τη διαδρομή /24 που διαφημίζεται από τον R2 άλλες δυο φορές το στο AS_Path. [102]

112 Εικόνα 29 - Τοπολογία Peer Group Έχει γίνει ότι χρειάζεται για τη λειτουργία του BGP στους routers R2 R6 και τώρα μένει να δούμε τι θα χρειαστεί να γίνει στον R1 για να λειτουργήσουν σωστά τα peer groups. R1: R1(config)#router bgp R1(config-router)#neighbor R1Internal peer-group R1(config-router)#neighbor R1External route-map RM_AS_PATH out R1(config-router)#neighbor R1External peer-group R1(config-router)#neighbor remote-as R1(config-router)#neighbor peer-group R1Internal [103]

113 R1(config-router)#neighbor remote-as R1(config-router)#neighbor peer-group R1Internal R1(config-router)#neighbor remote-as R1(config-router)#neighbor peer-group R1Internal R1(config-router)#neighbor remote-as R1(config-router)#neighbor peer-group R1External R1(config-router)#neighbor remote-as R1(config-router)#neighbor peer-group R1External R1(config-router)#exit R1(config)#ip access-list standard ACL_AS_PATH R1(config-std-nacl)#permit any R1(config-std-nacl)#exit R1(config)#route-map RM_AS_PATH permit 10 R1(config-route-map)#match ip address ACL_AS_PATH R1(config-route-map)#set as-path prepend R1(config-route-map)#exit R1(config)#route-map RM_AS_PATH permit 20 R1(config-route-map)#exit Για να επιβεβαιώσουμε δίνουμε και στον R5 και στον R6 την εντολή show ip bgp R5: R5#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path [104]

114 *> / i R6: R6#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Βλέπουμε ότι και οι δυο έχουν προσθέσει στην AS_Path list τους το άλλες δυο φορές. Κάτι που επιβεβαιώνει την ορθή λειτουργία των Peer groups και του route-map. Από τα παραπάνω γίνεται φανερό πόσο σημαντική είναι η χρήση των peer groups σε μεγάλες τοπολογίες όχι μόνο για την ευκολία και τον αυτοματισμό στις ρυθμίσεις του πρωτοκόλλου αλλά και στη διαχείριση της CPU. Πολιτικές prefix filtering και Route Maps Υπάρχουν διάφορες μέθοδοι που χρησιμοποιήσουμε για να κάνουμε το φιλτράρισμα των διαδρομών (prefix filtering). Η διαδικασία αυτή μπορεί να χειραγωγηθεί μέσω route maps, IP prefix lists, autonomous-system-path access lists, IP policy lists και τέλος distribute lists. Στον πίνακα που ακολουθεί βλέπουμε τη σειρά με την οποία ένας router θα χρησιμοποιήσει αυτές τις διεργασίες για να εφαρμόσει τις πολιτικές που ορίζουν. Inbound Route Map Filter map ή AS-path access list ή IP policy IP prefix list Distribute List Outbound Distribute List IP prefix list Filter map ή AS-path access list ή IP policy Route Map Πίνακας 6 - BGP policy processing order [105]

115 Εικόνα 30 - Router policy processing (η εικόνα είναι από το βιβλίο CCNP Route σελ. 577) Η χρήση των Route Maps Τα route-map αποτελούν, κυρίως, μια ακόμα μέθοδο διαχείρισης των Routing πρωτοκόλλων όπως το BGP όμως η χρήση τους δεν περιορίζεται μόνο εκεί, μπορούν να χρησιμοποιηθούν σε policy-based routing, το ΝΑΤ αλλά και για route filtering κατά τη διάρκεια του redistribution μεταξύ πρωτοκόλλων. Στην περίπτωση του BGP, μπορούν να χρησιμοποιηθούν από τον διαχειριστή του δικτύου με κατεύθυνση κάποιο συγκεκριμένο γείτονα ώστε να ελεγχθεί η ροή των διαδρομών από και προς αυτόν. Επίσης μπορούν να παρέχουν μια μέθοδο ώστε να γίνεται η χειραγώγηση των path attribute ανάλογα με τις ανάγκες του AS. Τα route maps λειτουργούν ως πιο σύνθετες access lists με τη μέθοδο του match και set. Δηλαδή αφού οριστεί ένα route map στη συνέχεια με την εντολή match μπορεί να γίνει η αντιστοίχιση του σε κάποια access list και μετέπειτα με την εντολή set να μεταβληθούν κάποια attributes ή να φιλτραριστούν κάποιες διαδρομές. Στη συνέχεια μέσα στις ρυθμίσεις του BGP πρωτοκόλλου μπορεί να επιλεγεί αν το route map θα απευθύνεται σε εισερχόμενη ή σε εξερχόμενη κίνηση. [106]

116 Regular Expressions Η χρήση των regular expressions είναι σημαντική για να γίνει το φιλτράρισμα των AS_Path και ιδιαίτερα σημαντική στο BGP. Παρακάτω παρουσιάζονται οι συχνότερες regular expressions και η λειτουργία τους. Regular Expression Λειτουργία ^ Υποδηλώνει την έναρξη του AS_Path string. $ Υποδηλώνει το τέλος του AS_Path string.. Ταιριάζει με έναν χαρακτήρα συμπεριλαμβανομένου και του κενού. Λογικό OR ανάμεσα σε 2 χαρακτήρες. _ Κάθε σύμβολο διαχωρισμού (κενό, κόμμα, αρχή ή τέλος γραμμής). * Ταιριάζει από καμία έως περισσότερους προηγούμενους χαρακτήρες. + Ταιριάζει από μία έως παραπάνω ακολουθίες κάποιου μοτίβου. [ ] Ορίζει ένα διάστημα ενός μοτίβου χαρακτήρων..* Όλα τα AS_Paths ^$ Κενό διάστημα. Χρησιμοποιείται για μονοπάτια που έχουν δημιουργηθεί εντός του Αυτόνομου Συστήματος. ^123$ Ένα AS_Path string το οποίο έχει μόνο την τιμή 123. _123$ Το τελευταίο Αυτόνομο Σύστημα είναι το 123. ^123_ Ο γείτονας πρέπει να είναι το Αυτόνομο Σύστημα 123. ^123 [0-9]+$ Το μήκος του AS_Path μπορεί να περιλαμβάνει 2 μόνο Αυτόνομα Συστήματα. Το γειτονικό πρέπει να είναι το 12 ενώ το επόμενο μπορεί να έχει οποιονδήποτε ASN. Πίνακας 7 - Regular Expressions AS_Path Filtering Ο καταλληλότερος τρόπος για να φιλτράρουμε προθέματα δικτύων είναι η χρήση των AS_Path access lists οι οποίες χρησιμοποιούνται μαζί με τις filter-lists για να μπορέσουμε να χειριστούμε τα AS_Path attributes που εισέρχονται ή εξέρχονται από έναν router. Η χρήση τους δεν διαφέρει ιδιαίτερα από μια κοινή access list, με τη διαφορά ότι χρησιμοποιούνται μόνο για το φιλτράρισμα των AS_Path και συσχετίζονται με μια filter-list αντί για ένα route-map και αντί για IP address ή πρωτόκολλα χρησιμοποιούμε Regular Expressions. [107]

117 Στην τοπολογία που ακολουθεί έχουμε 3 Αυτόνομα Συστήματα όπου το διαφημίζει στα άλλα δυο τα προθέματα /24 και /24. Στο λαμβάνεται το /24 με AS_Path και το /24 με AS_Path Θα χρησιμοποιήσουμε στον R5 μια AS_Path access list για να μη λάβει το πρόθεμα /24 από τον R1 ενώ στον R6 θα χρησιμοποιήσουμε πάλι μια AS_path access list για να στείλει μόνο το πρόθεμα /24 στον R7 και όχι το /24. Εικόνα 31 - Τοπολογία AS_Path access list Εφόσον το BGP δουλεύει σωστά και λαμβάνουν όλοι οι router των Αυτόνομων Συστημάτων τα προθέματα που στέλνει το Αυτόνομο Σύστημα μπορούμε να προχωρήσουμε στο φιλτράρισμα των AS_Path όπως το ορίσαμε παραπάνω. R5#show ip bgp BGP table version is 4, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete [108]

118 Network Next Hop Metric LocPrf Weight Path *> / i *> / i R6#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i R7#show ip bgp BGP table version is 4, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i Πηγαίνοντας στον R5 φτιάχνουμε μια AS_Path access list για να κόψει το AS_Path του δικτύου /24 αλλά να αφήσει τα υπόλοιπα. Στη συνέχεια φτιάχνουμε μια filter-list για τον γείτονα R1 με κατεύθυνση προς τα μέσα όπου εφαρμόζεται αυτή η AS_Path access list. R5: R5(config)#ip as-path access-list 20 deny ^.*_500$ R5(config)#ip as-path access-list 20 perm.* [109]

119 R5(config)#router bgp R5(config-router)#neighbor filter-list 20 in R5(config-router)#exit Για να επιβεβαιώσουμε πηγαίνουμε στον R5 και δίνουμε την εντολή Show ip bgp όπου βλέπουμε ότι λείπει το δίκτυο /24 R5#show ip bgp BGP table version is 8, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Αντίστοιχα δίνοντας την παρακάτω εντολή στον R1 βλέπουμε ότι το δίκτυο /24 διαφημίζεται κανονικά. R1#show ip bgp neighbor advertised-routes begin Network Network Next Hop Metric LocPrf Weight Path *>i / i *>i / i Total number of prefixes 2 Στη συνέχεια θα πάμε στον R6 για να φτιάξουμε μια AS_Path access list, αυτή τη φορά με κατεύθυνση προς τα έξω ώστε να κόβει το δίκτυο /24 μόνο με κατεύθυνση προς τον R7. Πρώτα επιβεβαιώνουμε ότι λαμβάνει όλα τα δίκτυα o R7: R7#show ip bgp BGP table version is 8, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale [110]

120 Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i *> / i Στη συνέχεια φτιάχνουμε την AS_Path access list και τη filter-list. R6: R6(config)#ip as-path access-list 10 deny ^10000$ R6(config)#ip as-path access-list 10 permit.* R6(config)#router bgp R6(config-router)#neighbor filter-list 10 out R6(config-router)#exit R6#clear ip bgp * soft Για να επιβεβαιώσουμε δίνουμε show εντολές στους R6 και R7: R6: R6#show ip bgp neighbor advertised-routes BGP table version is 8, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Originating default network Network Next Hop Metric LocPrf Weight Path *> / i Total number of prefixes 1 [111]

121 R7: R7#show ip bgp BGP table version is 9, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i Από τα αποτελέσματα των show εντολών βλέπουμε ότι όλα λειτουργούν όπως θα έπρεπε. [112]

122 Κεφάλαιο 7 Multiprotocol BGP Το BGP χρησιμοποιείται όπως έχουμε δει ως τώρα για την υποστήριξη του IPv4 και τη χρήση unicast. Η multiprotocol έκδοση ή διαφορετικά MP-BGP που ορίζεται στο RFC 4760 του επιτρέπει την υποστήριξη και άλλων Network layer πρωτοκόλλων αλλά και διευθύνσεων όπως IPv4 Multicast και IPv6 unicast. Επίσης, δύναται να χρησιμοποιηθεί και στο MPLS L3 VPN όπου με τη χρήση του MP-BGP ανταλλάσσονται οι VPN labels. Ενώ για κάθε τύπο διεύθυνσης χρησιμοποιεί διαφορετικό address family. Για να επιτρέψει την υποστήριξη περισσοτέρων πρωτοκόλλων το MP-BGP προσθέτει νέα χαρακτηριστικά, μερικά από τα οποία είναι: Address Family Identifier (AFI): Ορίζει την address family Subsequent Address Family Identifier (SAFI): Περιέχει επιπρόσθετες πληροφορίες για κάποιες address families. Multiprotocol Reachable Network Layer Reachability Information (MP_REACH_NLRI): Ένα νέο, optional non-transitive, attribute που επιτρέπει τη μεταφορά διαφημίσεων δικτύων που χαρακτηρίζονται ως reachable μαζί με την πληροφορία για το next-hop για να χρησιμοποιηθεί ως next-hop για αυτούς τους προορισμούς. Multiprotocol unreachable Network Layer Reachability Information (MP_UNREACH_NLRI): Ένα δεύτερο νέο, optional non-transitive, attribute που επιτρέπει τη μεταφορά δικτύων τα οποία έχουν χαρακτηριστεί ως unreachable. BGP Capabilities Advertisement: Χρησιμοποιείται από κάποιον BGP speaker ώστε να δηλώσει στους άλλους BGP speakers ποιες δυνατότητες του πρωτοκόλλου μπορεί να υποστηρίξει. Πέρα από τα νέα attributes το MP-BGP χρησιμοποιεί υποχρεωτικά και κάποια από τα attributes του BGP- 4 όπως το ORIGIN, το AS_PATH και για το IBGP το Local Preference. MP-BGP unicast IPv6 Για την υποστήριξη του IPv6 πρωτοκόλλου μπορούμε να έχουμε διαφορετικά sessions ένα για το IPv4 και ένα για το IPv6 τα οποία θα λειτουργούν παράλληλα ή ένα session είτε IPv4 είτε IPv6. Είναι επιλογή του διαχειριστή του δικτύου πως θα ρυθμίσει το πρωτόκολλο ώστε να ανταλλάσσουν οι BGP speakers και IPv6 προθέματα δικτύων. [113]

123 Στην τοπολογία που ακολουθεί έχουμε ένα κεντρικό Αυτόνομο Σύστημα το οποίο επικοινωνεί με άλλα τρία. Μεταξύ των Αυτόνομων Συστημάτων και έχουμε την δημιουργία δύο παράλληλων συνόδων, μιας IPv4 και μιας IPv6 όπου η κάθε μία είναι υπεύθυνη για τη μεταφορά των κατάλληλων προθεμάτων. Μεταξύ των Αυτόνομων Συστημάτων και έχουμε την δημιουργία μιας συνόδου IPv4 πάνω από την οποία θα μεταφερθούν προθέματα IPv4 και IPv6 και τέλος μεταξύ των Αυτόνομων Συστημάτων και έχουμε την δημιουργία μιας συνόδου IPv6 πάνω από την οποία θα διαφημιστούν προθέματα δικτύων IPv4 και IPv6. Στόχος είναι να εξετάσουμε και τις τρεις δυνατότητες που μας προσφέρει το MP-BGP και όλα τα Αυτόνομα Συστήματα να μάθουν όλα τα διαφημιζόμενα προθέματα δικτύων. [114]

124 Εικόνα 32 - Τοπολογία MP-BGP IPv6 και IPv4 Ξεκινώντας μεταξύ των Αυτόνομων Συστημάτων και και αφού έχουμε περάσει τις IP διευθύνσεις στα κατάλληλα Interface και έχοντας ενεργοποιήσει το IPv6 με την εντολή IPv6 unicastrouting έχουμε: R1: router bgp no bgp default ipv4-unicast neighbor remote-as neighbor 2001:1112::2 remote-as [115]

125 ! address-family ipv4 unicast neighbor activate network mask ! address-family ipv6 unicast neighbor 2001:1112::2 activate network 2001:AAAA::/64 R2: router bgp no bgp default ipv4-unicast neighbor remote-as neighbor 2001:1112::1 remote-as 10000! address-family ipv4 unicast neighbor activate network mask ! address-family ipv6 unicast neighbor 2001:1112::1 activate network 2001:BBBB::/64 Βλέπουμε ότι δημιουργήσαμε δύο διαφορετικές γειτονίες, μια για το Ipv4 και μια για το IPv6 στη συνέχεια με την εντολή no bgp default ipv4-unicast δηλώθηκε ότι δεν θα χρησιμοποιηθεί το BGP μόνο για το IPv4. Με τις εντολές address-family ipv6 unicast και address-family ipv4 unicast ενεργοποιήσαμε το MP-BGP για το IPv4 και το IPv6 ενώ τέλος δημιουργώντας μια IPv4 και μια IPv6 γειτονία η κάθε διαδρομή που διαφημίζεται στο BGP θα μεταφέρεται μέσω του ίδιου του πρωτοκόλλου. Κάτι που φαίνεται και από τις εικόνες που ακολουθούν: Βλέπουμε ότι μέσω του IPv4 μεταφέρονται οι IPv4 διαδρομές με next hop το : [116]

126 Εικόνα 33 - Στιγμιότυπο από το Wireshark, IPv4 over IPv4, για το Update που στέλνει ο R1 Μέσω του IPv6 μεταφέρονται οι IPv6 διαδρομές με next hop το 2001:1112::1/64 Εικόνα 34 - Στιγμιότυπο από το Wireshark, IPv6 over IPv6, για το Update που στέλνει ο R1 Συνεχίζουμε με τα Αυτόνομα Συστήματα και και αφού έχουμε περάσει τις IP διευθύνσεις στα κατάλληλα interface και έχοντας ενεργοποιήσει το IPv6 με την εντολή IPv6 unicast-routing έχουμε: R1: router bgp [117]

127 no bgp default ipv4-unicast neighbor remote-as neighbor ebgp-multihop 2! address-family ipv4 unicast neighbor activate network mask ! address-family ipv6 unicast neighbor activate neighbor route-map IP_V6 out network 2001:AAAA::/64! route-map IP_V6 permit 10 set ipv6 next-hop 2001:1113::1 R3: router bgp no bgp default ipv4-unicast neighbor remote-as neighbor ebgp-multihop 2! address-family ipv4 unicast neighbor activate network mask ! address-family ipv6 unicast neighbor activate neighbor route-map IP_V6 out [118]

128 network 2001:CCCC::/64! route-map IP_V6 permit 10 set ipv6 next-hop 2001:1113::1 Εδώ η λογική πάνω στις ρυθμίσεις παραμένει η ίδια. Η διαφορά είναι ότι πλέον δεν ορίζουμε δύο γειτονίες αλλά μία IPv4 πάνω από την οποία θα μεταφέρονται και διαφημίσεις IPv6 διαδρομών. Ενώ όμως αυτό είναι εφικτό προκύπτει το πρόβλημα του next-hop, για τα IPv6 προθέματα δικτύου, το οποίο είναι η IPv4 address του interface, δηλαδή για τον R1 το Για να διορθωθεί αυτό το πρόβλημα δημιουργούμε ένα route-map θέτοντας ως next-hop την IPv6 address του interface ενώ επειδή πρόκειται για EBGP γειτονία και έχουμε ενημέρωση του next-hop θα πρέπει να μεγαλώσουμε το TTL σε μια τιμή ίση ή μεγαλύτερη του 2. Στις εικόνες που ακολουθούν βλέπουμε στιγμιότυπα από το Wireshark πως μια IPv4 ενημέρωση μεταφέρει τόσο προθέματα δικτύου για το IPv4 όσο και για το IPv6 σε διαφορετικό Update μήνυμα όμως. Εικόνα 35 - Στιγμιότυπο από το Wireshark, IPv4 over IPv4, για το Update που στέλνει ο R1 [119]

129 Εικόνα 36 - Στιγμιότυπο από το Wireshark, IPv4 over IPv4, για το Update που στέλνει ο R1 με IPv4 address Τέλος, για τα Αυτόνομα Συστήματα και και αφού έχουμε περάσει τις IP διευθύνσεις στα κατάλληλα Interface και έχοντας ενεργοποιήσει το IPv6 με την εντολή IPv6 unicast-routing έχουμε: R1 router bgp no bgp default ipv4-unicast neighbor 2001:1114::4 remote-as neighbor 2001:1114::4 ebgp-multihop 2! address-family ipv4 unicast neighbor 2001:1114::4 activate neighbor 2001:1114::4 route-map IP_V4 out network mask ! address-family ipv6 unicast [120]

130 neighbor 2001:1114::4 activate network 2001:AAAA::/64! route-map IP_V4 permit 10 set ip next-hop R4 router bgp no bgp default ipv4-unicast neighbor 2001:1114::1 remote-as neighbor 2001:1114::1 ebgp-multihop 2! address-family ipv4 unicast neighbor 2001:1114::1 activate neighbor 2001:1114::1 route-map IP_V4 out network mask ! address-family ipv6 unicast neighbor 2001:1114::1 activate network 2001:DDDD::/64! route-map IP_V4 permit 10 set ip next-hop [121]

131 Όπως φαίνεται από τις εντολές η διαδικασία που ακολουθήθηκε είναι ακριβώς η ίδια με τη διαφορά ότι αυτή τη φορά η γειτονία είναι IPv6 πάνω από την οποία μεταφέρονται και IPv4 διαφημίσεις διαδρομών. Ενώ πάλι χρειάζεται η αλλαγή του next-hop σε IPv4 αυτή τη φορά και συγκεκριμένα, για τον R1, σε Στις εικόνες που ακολουθούν βλέπουμε πως μεταφέρονται οι IPv6 και IPv4 διαδρομές. Εικόνα 37 - Στιγμιότυπο από το Wireshark, IPv4 over IPv6, για το Update που στέλνει ο R1 με IPv6 address [122]

132 Εικόνα 38 - Στιγμιότυπο από το Wireshark, IPv6 over IPv6, για το Update που στέλνει ο R1 Τέλος, επιβεβαιώνουμε την ορθή λειτουργία του εργαστηρίου βλέποντας στον router R1 το BGP table και τους γείτονες του αλλά και τον bgp table στον R4 που είναι παρόμοιο με αυτά των R2 και R3. R1: R1#show ip bgp sum BGP router identifier , local AS number BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd :00: :00: :1114:: :00:08 0 R1#show ip bgp BGP table version is 5, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale [123]

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση στο Διαδίκτυο - BGP

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση στο Διαδίκτυο - BGP Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση στο Διαδίκτυο - BGP Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 1 Δρομολόγηση μεταξύ

Διαβάστε περισσότερα

ΗΥ335α Δίκτυα Υπολογιστών Καραγκούνης Δημήτρης

ΗΥ335α Δίκτυα Υπολογιστών Καραγκούνης Δημήτρης ΗΥ335α Δίκτυα Υπολογιστών Καραγκούνης Δημήτρης Θέματα Ιεραρχία του διαδικτύου Αυτόνομα Συστήματα (AS) BGP : βασικές έννοιες και λειτουργία Τύποι μηνυμάτων BGP Πλεονεκτήματα/Μειονεκτήματα BGP Τι γνωρίζουμε

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο -BGP

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο -BGP Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο -BGP Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Δρομολόγηση μεταξύ ΑΣ στο Διαδίκτυο Δίκτυα Επικοινωνιών ΙΙ

Διαβάστε περισσότερα

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης ΔΙΚΤΥΑ Η/Υ ΙΙ Πρωτόκολλα δρομολόγησης Εσωτερικά πρωτόκολλα δρομολόγησης Interior Routing Protocols Distance-vector routing Link-state routing Exterior Routing Protocols 2 Δίκτυα Η/Υ ΙΙ Distance-Vector

Διαβάστε περισσότερα

Διευθέτηση πρωτοκόλλου BGP και διαχείριση Αυτόνομων Συστημάτων

Διευθέτηση πρωτοκόλλου BGP και διαχείριση Αυτόνομων Συστημάτων Διευθέτηση πρωτοκόλλου BGP και διαχείριση Αυτόνομων Συστημάτων Φοιτητής : Λάμπρος Κλωνής Επιβλέπων καθηγητής : Βασιλειάδης Δημήτριος ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ

Διαβάστε περισσότερα

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Ι. ΝΙΚΟΛΟΥΔΑΚΗΣ ΓΙΑΝΝΗΣ (Τετάρτη 15:00-21:00)

Δίκτυα Υπολογιστών Ι. ΝΙΚΟΛΟΥΔΑΚΗΣ ΓΙΑΝΝΗΣ (Τετάρτη 15:00-21:00) Δίκτυα Υπολογιστών Ι ΝΙΚΟΛΟΥΔΑΚΗΣ ΓΙΑΝΝΗΣ giannis.nikoloudakis@gmail.com (Τετάρτη 15:00-21:00) Δομή Πίνακα Δρομολόγησης Ο πίνακας δρομολόγησης είναι αποθηκευμένος στη RAM και περιέχει πληροφορίες για:

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 8 Δυναμική δρομολόγηση BGP

Εργαστηριακή Άσκηση 8 Δυναμική δρομολόγηση BGP Εργαστηριακή Άσκηση 8 Δυναμική δρομολόγηση BGP Πρωτόκολλο δρομολόγησης BGP (Border Gateway Protocol) Το BGP είναι το πρωτόκολλο που κάνει το διαδίκτυο να δουλεύει. Είναι το de-facto πρωτόκολλο δρομολόγησης

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra) ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra) Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 23/10/2017 routing algorithm

Διαβάστε περισσότερα

8 η ιάλεξη: σε δίκτυα δεδομένων

8 η ιάλεξη: σε δίκτυα δεδομένων Εργαστήριο ικτύων Υπολογιστών 8 η ιάλεξη: Βασικές αρχές δρομολόγησης Βασικές αρχές δρομολόγησης σε δίκτυα δεδομένων ρομολόγηση (Routing) Μεταφορά μηνυμάτων μέσω του διαδικτύου από μία πηγή σε ένα προορισμό

Διαβάστε περισσότερα

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ & ΡΥΘΜΙΣΕΙΣ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ RIP ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΤΕΡΓΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΣΠΟΥΔΑΣΤΡΙΑ: ΤΣΙΜΠΙΔΑ ΙΩΑΝΝΑ- ΠΑΡΑΣΚΕΥΗ

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση - Αυτόνομα συστήματα Δρομολόγηση αυτόνομου

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 4: EIGRP - Enhanced Interior Gateway Routing Protocol (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Β. Μάγκλαρης.

Β. Μάγκλαρης. ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου IP στο Internet Άμεση Έμμεση Δρομολόγηση Δρομολόγηση εντός Αυτόνομης Περιοχής (IGP) Δρομολόγηση μεταξύ Αυτονόμων Περιοχών (BGP) Αλγόριθμοι Distance Vector (Bellman)

Διαβάστε περισσότερα

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 5 ου ΕΡΓΑΣΤΗΡΙΟΥ. Τα πρωτόκολλα δρομολόγησης (routing protocols) είναι υπεύθυνα για:

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 5 ου ΕΡΓΑΣΤΗΡΙΟΥ. Τα πρωτόκολλα δρομολόγησης (routing protocols) είναι υπεύθυνα για: Εισαγωγή Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 5 ου ΕΡΓΑΣΤΗΡΙΟΥ Τα πρωτόκολλα δρομολόγησης (routing protocols) είναι υπεύθυνα για: την επιλογή του καλύτερου δρόμου προς οποιοδήποτε δίκτυο/υποδίκτυο

Διαβάστε περισσότερα

Αυτόνομα Συστήματα (ΑΣ)

Αυτόνομα Συστήματα (ΑΣ) Δρομολόγηση ΙI Αυτόνομα Συστήματα (ΑΣ) Αυτόνομο σύστημα ονομάζουμε εκείνο που έχει τα εξής χαρακτηριστικά: Είναι ένα σύνολο δρομολογητών και δικτύων υπό τη διαχείριση ενός και μόνο οργανισμού Αποτελείται

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου 3 στο Internet (IGP, BGP) Β. Μάγκλαρης

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου 3 στο Internet (IGP, BGP) Β. Μάγκλαρης ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση Επιπέδου 3 στο Internet (IGP, BGP) Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 27/10/2014 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55 2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/2015 23:55 Ευριπίδης Τζαμούσης (tzamusis@csd.uoc.gr) Μαρία Πλακιά (plakia@csd.uoc.gr) Ερώτηση 1 (5 μονάδες) Ποια είναι η διαφορά μεταξύ

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΙΑ ΙΚΤΥΑΚΗ ΛΕΙΤΟΥΡΓΙΑ (Kεφ. 16) ΠΡΩΤΟΚΟΛΛΑ ΡΟΜΟΛΟΓΗΣΗΣ Αυτόνοµα Συστήµατα Πρωτόκολλο Συνοριακών Πυλών OSPF ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ (ISA) Κίνηση ιαδικτύου Προσέγγιση

Διαβάστε περισσότερα

ΤΕΙ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΤΕΙ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Πτυχιακή εργασία Μελέτη πρωτοκόλλων δρομολόγησης OSPF και BGP Του σπουδαστή Μεράτζα Λάμπρο ΑΡΤΑ 2014 Ευχαριστίες Με την περάτωση της παρούσας πτυχιακής εργασίας,

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet (I)

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet (I) ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αλγόριθμοι Δρομολόγησης στο Internet (I) Ταξινόμηση Τρόπων Δρομολόγησης Επίπεδο 3: Intra-domain & Inter-domain Routing Host Routing, IGP/OSPF EGP/BGP Β. Μάγκλαρης maglaris@netmode.ntua.gr

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 8: Περισσότερα για το EIGRP (Enhanced Interior Gateway Routing Protocol) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας.

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας. ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ Το επίπεδο δικτύου ασχολείται με τη μεταφορά πακέτων από την προέλευσή τους μέχρι τον προορισμό τους. Επιλέγει τις κατάλληλες διαδρομές από τους διάφορους δρομολογητές ώστε ένα πακέτο να

Διαβάστε περισσότερα

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 10: Στρώμα δικτύου

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 10: Στρώμα δικτύου Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 10: Στρώμα δικτύου Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Συνιστώμενο Βιβλίο: Δικτύωση Υπολογιστών Προσέγγιση

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 2: RIP- Routing Information Protocol (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 RIP: Routing Information Protocol Συμπεριλήφθηκε στην

Διαβάστε περισσότερα

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: IOS Routing Configuration

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: IOS Routing Configuration Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: IOS Routing Configuration Δρ. Απόστολος Γκάμας Διδάσκων (407/80) gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 1 Dynamic Routing Configuration

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών. Routing Algorithms. Network Layer.

HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών. Routing Algorithms. Network Layer. HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Routing Algorithms Network Layer Nena Basina Υποδίκτυα (subnets) 200.23.18.0/23 11001000 00010111

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Πρωτόκολλα Διαδικτύου 11 η Διάλεξη Δημοσθένης Κυριαζής Δευτέρα 8 Ιουνίου 2015 Σημερινή διάλεξη Σύνοψη 10ης διάλεξης Επίπεδο δικτύου IPv6 Αλγόριθμοι δρομολόγησης

Διαβάστε περισσότερα

Βασικές ρυθμίσεις, στατική δρομολόγηση και VLANs

Βασικές ρυθμίσεις, στατική δρομολόγηση και VLANs Βασικές ρυθμίσεις, στατική δρομολόγηση και VLANs Όσοι γνωρίζουν από δίκτυα ξέρουν ότι η κορυφαία εταιρεία σε εξοπλισμό δικτύων (routers, switches κτλ) είναι η Cisco. Είναι λοιπόν ουσιώδες να γνωρίζουμε

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Ι. ΝΙΚΟΛΟΥΔΑΚΗΣ ΓΙΑΝΝΗΣ (Τετάρτη 15:00-21:00)

Δίκτυα Υπολογιστών Ι. ΝΙΚΟΛΟΥΔΑΚΗΣ ΓΙΑΝΝΗΣ (Τετάρτη 15:00-21:00) Δίκτυα Υπολογιστών Ι ΝΙΚΟΛΟΥΔΑΚΗΣ ΓΙΑΝΝΗΣ giannis.nikoloudakis@gmail.com (Τετάρτη 15:00-21:00) Routing Table Η εντολή debug ip routing Εμφανίζει τις αλλαγές που κάνει το router όταν προσθέτουμε ή αφαιρούμε

Διαβάστε περισσότερα

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

Διαβάστε περισσότερα

«Διευθέτηση πρωτοκόλλου BGP και Διαχείριση Αυτόνομων Συστημάτων»

«Διευθέτηση πρωτοκόλλου BGP και Διαχείριση Αυτόνομων Συστημάτων» Τ.Ε.Ι. ΗΠΕΙΡΟΥ T.E.I. OF EPIRUS ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ( Σ.Δ.Ο) ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ SCHOOL OF MANAGEMENT AND ECONOMICS DEPARTMENT OF COMMUNICATIONS, INFORMATICS AND MANAGEMENT «Διευθέτηση

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 14. Ποιος είναι ο ρόλος των καρτών δικτύου (Network Interface Card, NIC); Απάντηση: Οι κάρτες δικτύου χρησιμοποιούνται για να συνδέσουν

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra) ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra) Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 2/11/2015 Άδεια Χρήσης Το

Διαβάστε περισσότερα

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 6 Δυναμική δρομολόγηση RIP

Εργαστηριακή Άσκηση 6 Δυναμική δρομολόγηση RIP Δυναμική δρομολόγηση Εργαστηριακή Άσκηση 6 Δυναμική δρομολόγηση RIP Στη στατική δρομολόγηση, κάποιος διαχειριστής δικτύου ρυθμίζει χειροκίνητα τις εγγραφές στους πίνακες δρομολόγησης. Δεδομένου ότι οι

Διαβάστε περισσότερα

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 12: Επαναληπτική ενότητα Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ΠΡΟΤΑΣΗ ΓΙΑ STANDBY ROUTE REFLECTORS ΣΤΟ ΠΡΩΤΟΚΟΛΛΟ BGP-4 ΙΩΑΝΝΗΣ Γ. ΑΛΕΞΙΟΥ. µεταπτυχιακή εργασία. .Π.Μ.Σ στα Πληροφοριακά Συστήµατα

ΠΡΟΤΑΣΗ ΓΙΑ STANDBY ROUTE REFLECTORS ΣΤΟ ΠΡΩΤΟΚΟΛΛΟ BGP-4 ΙΩΑΝΝΗΣ Γ. ΑΛΕΞΙΟΥ. µεταπτυχιακή εργασία. .Π.Μ.Σ στα Πληροφοριακά Συστήµατα ΠΡΟΤΑΣΗ ΓΙΑ STANDBY ROUTE REFLECTORS ΣΤΟ ΠΡΩΤΟΚΟΛΛΟ BGP-4 ΙΩΑΝΝΗΣ Γ. ΑΛΕΞΙΟΥ µεταπτυχιακή εργασία Επιβλέπων Καθηγητής: Καθ. Αναστάσιος A. Οικονοµίδης Εξεταστές: Καθ. Βασίλειος Βίτσας.Π.Μ.Σ στα Πληροφοριακά

Διαβάστε περισσότερα

Βασικές έννοιες δρομολόγησης και χρήση εργαλείων παρακολούθησης της δρομολόγησης του Διαδικτύου (2 η άσκηση)

Βασικές έννοιες δρομολόγησης και χρήση εργαλείων παρακολούθησης της δρομολόγησης του Διαδικτύου (2 η άσκηση) ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ - ΕΜΠ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βελτίστου Σχεδιασμού Δικτύων Τηλεματικής

Διαβάστε περισσότερα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα Ενότητα: Δίκτυα Η/Υ Στρώμα Δικτύου Σαββαΐδης Στυλιανός Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Σημειώσεις μαθήματος: Χρήσιμοι Σύνδεσμοι http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

Β. Μάγκλαρης 9/11/2015

Β. Μάγκλαρης  9/11/2015 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές & Πρωτόκολλα Δρομολόγησης στο Internet (I) Επίπεδο 3: EGP/BGP Επίπεδο 3: IGP/OSPF Επίπεδο 2: Ethernet Switches, VLANs Spanning Tree Protocol Β. Μάγκλαρης maglaris@netmode.ntua.gr

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 11: To πρωτόκολλο RIP (Routing Information Protocol) -Μέρος 3 Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First)

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First) Ενότητα 4 Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First) Πρωτόκολλα ροµολόγησης Πρωτόκολλα ιανύσµατος Απόστασης Πρωτόκολλα Κατάστασης Ζεύξης Πρωτόκολλα ιανύσµατος Απόστασης

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διδάσκων: Απόστολος Γκάμας (Διδάσκων ΠΔ 407/80) Ενδεικτική Λύση 3 ης Εργαστηριακής

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διδάσκων: Απόστολος Γκάμας (Διδάσκων ΠΔ 407/80) Ενδεικτική Λύση 2 ης Εργαστηριακής

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 9: To πρωτόκολλο RIP (Routing Information Protocol) - Μέρος 1 Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση ΔΙΚΤΥΑ Η/Υ ΙΙ Διαδικτύωση Γενικά Διαδικτύωση είναι η διασύνδεση υπολογιστικών συστημάτων μέσω τηλεπικοινωνιακών δικτύων με σκοπό το διαμοιρασμό των πόρων και των υπηρεσιών τους. Τοπικά δίκτυα (LANs) Ευρείας

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: OSPF Configuration

Δίκτυα Επικοινωνιών ΙΙ: OSPF Configuration Δίκτυα Επικοινωνιών ΙΙ: OSPF Configuration Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Dynamic Routing Configuration Router (config) # router protocol [ keyword

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 6: Δρομολόγηση (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Σχεδίαση Δικτύων Υπολογιστών

Σχεδίαση Δικτύων Υπολογιστών Σχεδίαση Δικτύων Υπολογιστών Ενότητα 2: Διευθυνσιοδότηση Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55 2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/2015 23:55 Ευριπίδης Τζαμούσης (tzamusis@csd.uoc.gr) Μαρία Πλακιά (plakia@csd.uoc.gr) Ερώτηση 1 (5 μονάδες) Ποια είναι η διαφορά μεταξύ

Διαβάστε περισσότερα

Β. Μάγκλαρης.

Β. Μάγκλαρης. ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονική & Δρομολόγηση στο Internet (Τμήμα 2/2) Ορισμοί Δρομολόγησης Άμεση Έμμεση Δρομολόγηση Δρομολόγηση εντός Αυτόνομης Περιοχής (IGP) Δρομολόγηση μεταξύ Αυτονόμων Περιοχών (BGP)

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 8: Διαχείριση φόρτου Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 10: OSPF - Open Shortest Path First (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

Διαβάστε περισσότερα

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Εργαστήριο «Δίκτυα Υπολογιστών Ι» 1 Εργαστήριο «Δίκτυα Υπολογιστών Ι» Άσκηση 1 η Τμήμα Mηχ. Πληροφορικής & Υπολογιστών Παν. Δυτικής Αττικής Ημερομηνία έκδοσης: 3/10/2018 Επιμέλεια: Ιωάννης Ξυδάς, Αντώνης Μπόγρης Υλοποίηση ενός Τοπικού

Διαβάστε περισσότερα

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 11: OSPF - Open Shortest Path First (Μέρος 3) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 6: Περισσότερα για το EIGRP (Enhanced Interior Gateway Routing Protocol) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 4: Το πρωτόκολλο RIP - Routing Information Protocol (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα

Διαβάστε περισσότερα

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

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 6: Ο αλγόριθμος DUAL (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης. Εισαγωγή Η παρούσα εργαστηριακή άσκηση έχει ως σκοπό την εξοικείωση με τα πρωτόκολλα δρομολόγησης τα οποία χρησιμοποιούνται στα Ad-Hoc δίκτυα, καθώς και την συγκριτική

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 7: Δρομολόγηση (Μέρος 3) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΑΚΕΤΩΝ ΣΕ ΔΡΟΜΟΛΟΓΗΤΗ ΔΙΚΤΥΟΥ

ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΑΚΕΤΩΝ ΣΕ ΔΡΟΜΟΛΟΓΗΤΗ ΔΙΚΤΥΟΥ Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήματα Διπλωματική Εργασία ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΑΚΕΤΩΝ ΣΕ ΔΡΟΜΟΛΟΓΗΤΗ ΔΙΚΤΥΟΥ ΜΠΑΛΑΣΑΣ ΕΥΑΓΓΕΛΟΣ Υποβλήθηκε ως απαιτούμενο για την

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 3: Το πρωτόκολλο RIP- Routing Information Protocol (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η Δίκτυα Η/Υ Θεωρία Διάλεξη 2η Kάρτες Δικτύωσης (NIC-Network Interface Controller) Βασικές εντολές δρομολόγησης και ανίχνευσης Η κάρτα δικτύου συνδέει τον υπολογιστή στο τοπικό δίκτυο παράγει και λαμβάνει

Διαβάστε περισσότερα

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Τηλεπικοινωνιών Ευάγγελος Α. Κοσμάτος Λειτουργίες στρώματος δικτύου (1) μεταφορά πακέτων

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις Μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου Α5.1 Εισαγωγή στα Δίκτυα Α Λυκείου Εισαγωγή Δίκτυο Υπολογιστών (Computer Network) είναι μια ομάδα από δύο ή περισσότερους υπολογιστές ή άλλες συσκευές που συνδέονται μεταξύ τους με σκοπό να ανταλλάσσουν

Διαβάστε περισσότερα

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

Διαβάστε περισσότερα

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν μεταξύ τους Πως συνδέονται ανομοιογενή δίκτυα μεταξύ τους Εικονικά κυκλώματα συνδεδεμένα σε σειρά

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας Οι διαφάνειες βασίζονται στα βιβλία: 1. Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition,

Διαβάστε περισσότερα

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing): Δρομολόγηση Ι Εισαγωγή - ορολογία Προώθηση (forwarding): Οι συσκευές διαδικτύωσης (γέφυρες, δρομολογητές, κ.τ.λ.) προωθούν πακέτα δεδομένων στα κατάλληλα μονοπάτια βάσει των πινάκων δρομολόγησης (routing

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 9: OSPF - Open Shortest Path First (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Σχεδίαση Δικτύων Υπολογιστών

Σχεδίαση Δικτύων Υπολογιστών Σχεδίαση Δικτύων Υπολογιστών Ενότητα 10: Open Shortest Path First (OSPF) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 6 ου ΕΡΓΑΣΤΗΡΙΟΥ

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 6 ου ΕΡΓΑΣΤΗΡΙΟΥ Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 6 ου ΕΡΓΑΣΤΗΡΙΟΥ 1 ΑΣΚΗΣΗ 1 IGRP Υλοποιήστε την παραπάνω συνδεσμολογία Διαμορφώστε τον δρομολογητή 2621B# Router>enable Router#config t Router(config)#hostname

Διαβάστε περισσότερα

Στα windows η εμφάνιση του πίνακα δρομολόγησης γίνεται με τη συνοδεία της διαταγής PRINT C: \>route PRINT -4

Στα windows η εμφάνιση του πίνακα δρομολόγησης γίνεται με τη συνοδεία της διαταγής PRINT C: \>route PRINT -4 Εντολή rute Χρησιμοποιείται για την εμφάνιση και διαχείριση του πίνακα δρομολόγησης σε έναν υπολογιστή και κυρίως για τον ορισμό στατικών δρομολογίων προς συγκεκριμένα δίκτυα και υπολογιστές μέσω μιας

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

Διαβάστε περισσότερα

Β. Μάγκλαρης. Multi-Protocol Label Switching (MPLS)

Β. Μάγκλαρης.  Multi-Protocol Label Switching (MPLS) ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονική & Δρομολόγηση στο Internet Επίπεδο 3: Direct Routing, Interior Gateway Protocols (OSPF, IS-IS), Border Gateway Protocols (BGP) Επίπεδο 2: Ethernet Switches, Virtual Local

Διαβάστε περισσότερα

Σχεδίαση Δικτύων Υπολογιστών

Σχεδίαση Δικτύων Υπολογιστών Σχεδίαση Δικτύων Υπολογιστών Ενότητα 5: Δυναμική δρομολόγηση Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 3: RIP- Routing Information Protocol (Μέρος 3) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 8: Περισσότερα για τα πρωτόκολλα δρομολόγησης διανυσματικής απόστασης Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σχεδίαση Δικτύων Υπολογιστών. Ενότητα 6: Δρομολόγηση διανυσματικής απόστασης (Μέρος 1 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχεδίαση Δικτύων Υπολογιστών. Ενότητα 6: Δρομολόγηση διανυσματικής απόστασης (Μέρος 1 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ Σχεδίαση Δικτύων Υπολογιστών Ενότητα 6: Δρομολόγηση διανυσματικής απόστασης (Μέρος 1 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Β. Μάγκλαρης.

Β. Μάγκλαρης. ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονική & Δρομολόγηση στο Internet (Τμήμα 2/2) Ορισμοί & Ταξινόμηση Τεχνικών Δρομολόγησης Δρομολόγηση Επιπέδου Δικτύου (IP) Intra-AS & Inter-AS Β. Μάγκλαρης maglaris@netmode.ntua.gr

Διαβάστε περισσότερα

Τελευταία ενηµέρωση: 09/09/2004. ngia. www.awmn.gr

Τελευταία ενηµέρωση: 09/09/2004. ngia. www.awmn.gr Τελευταία ενηµέρωση: 09/09/2004 ngia Στοιχεία ροµολόγησης Εισαγωγή στο BGP Λειτουργία Μηνύµατα Ιδιότητες ιαδροµών (Attributes) Επιλογή ιαδροµής Τακτική (Policy) υνατότητες (Capabilities) Ευστάθεια- υναµική

Διαβάστε περισσότερα

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

Διαβάστε περισσότερα

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων 2 Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 /

Διαβάστε περισσότερα

Δίκτυα ΙΙ. Κεφάλαιο 7

Δίκτυα ΙΙ. Κεφάλαιο 7 Δίκτυα ΙΙ Κεφάλαιο 7 Στο κεφάλαιο αυτό παρουσιάζεται ο τρόπος επικοινωνίας σε ένα δίκτυο υπολογιστών. Το κεφάλαιο εστιάζεται στο Επίπεδο Δικτύου του OSI (το οποίο είδατε στο μάθημα της Β Τάξης). Οι βασικές

Διαβάστε περισσότερα

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 7 ου ΕΡΓΑΣΤΗΡΙΟΥ To πρωτόκολλο OSPF (Open Shortest Path First)

Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 7 ου ΕΡΓΑΣΤΗΡΙΟΥ To πρωτόκολλο OSPF (Open Shortest Path First) Εργαστήριο Σχεδίασης Δικτύων Υπολογιστών ΘΕΩΡΙΑ 7 ου ΕΡΓΑΣΤΗΡΙΟΥ To πρωτόκολλο OSPF (Open Shortest Path First) 1 2 3 Άσκηση 1-single area OSPF 4 * σημείωση: Το ID του OSPF έχει σημασία μόνο τοπικά. Αυτό

Διαβάστε περισσότερα