Δυναμική Δρομολόγηση Με Το Πρωτόκολλο OSPF

Το OSPF (Open Shortest Path First) χρησιμοποιεί σαν μετρικό κόστους την σχέση

metric = 108 / BW

όπου BW είναι η ταχύτητα που υποστηρίζουν οι διεπαφές των δρομολογητών. Γνωρίζουμε ήδη πως η διεπαφή Ethernet υποστηρίζει ταχύτητα 10Mbps, η διεπαφή Fast Ethernet 100Mbps και η διεπαφή GigabitEthernet 1000Mbps. Επίσης γνωρίζουμε πως το default κόστος μια σειριακής σύνδεσης είναι 1544Kbps. Συνεπώς τα κυριότερα μετρικά κόστους είναι:

Διεπαφή

Bandwidth Υπολογισμός metric Κόστος

Fast Ethernet

100Mbps

108 / 100000000 = 1

1

Serial 1544Kbps 108 / 154400 = 64,76

64

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

Τοπολογία

 

 

Στο δίκτυο μας χρησιμοποιήσαμε την IP διεύθυνση 195.224.64.0/24 την οποία και «σπάσαμε» σε υποδίκτυα που να μπορούν να φιλοξενήσουν από δύο hosts το καθένα. Συνεπώς η subnet mask είναι η 255.255.255.252 και τα υποδίκτυα μαζί με τις διευθύνσεις που χρησιμοποιήσαμε είναι:

 

 

Η διευθυνσιοδότηση των δρομολογητών και των κόμβων γίνεται με τον τρόπο που έχουμε δείξει και στα προηγούμενα παραδείγματα. Εδώ θα εστιάσουμε στις εντολές ενεργοποίησης του πρωτοκόλλου OSPF. Πριν όμως γίνει αυτό θα αλλάξουμε το BW του Serial Link του υποδικτύου 195.224.64.0/30 και από 1544Kbps θα το κάνουμε 64Kbps. Η ρύθμιση αυτή επιτυγχάνεται μέσω των διεπαφών Serial0/1/0 των δρομολογητών Router_1 και Router_2.

 

Router_1:

 

Router_1(config)#interface Serial0/1/0

Router_1(config-if)#bandwidth 64

Router_1(config-if)#end

 

Και στη συνέχεια

 

Router_1#show interface Serial0/1/0

Serial0/1/0 is up, line protocol is up (connected)

Hardware is HD64570

Internet address is 195.224.64.1/30

MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec

 

Τα ίδια ακριβώς και για τον Router_2:

 

Router_2(config)#interface Serial0/1/0

Router_2(config-if)#bandwidth 64

Router_2(config-if)#end

 

Και στη συνέχεια

 

Router_2#show interface Serial0/1/0

Serial0/1/0 is up, line protocol is up (connected)

Hardware is HD64570

Internet address is 195.224.64.2/30

MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec

 

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

108 / 64000 = 1562

Πριν ενεργοποιήσουμε το OSPF ελέγχουμε τους πίνακες δρομολόγησης των routers

 

Router_1#show ip route

 C   195.224.64.0/30  is directly connected, Serial0/1/0

 C   195.224.64.4/30  is directly connected, Serial0/1/1

 C   195.224.64.12/30  is directly connected, FastEthernet0/0

 

Router_2#show ip route

 C   195.224.64.0/30  is directly connected, Serial0/1/0

 C   195.224.64.8/30  is directly connected, Serial0/1/1

 C   195.224.64.16/30  is directly connected, FastEthernet0/0

 

Router_3#show ip route

 C   195.224.64.4/30  is directly connected, Serial0/1/0

 C   195.224.64.8/30  is directly connected, Serial0/1/1

 C   195.224.64.20/30  is directly connected, FastEthernet0/0

 

Η ενεργοποίηση του OSPF γίνεται σε global configuration mode και εκεί δηλώνουμε τις διεπαφές που θέλουμε να συμπεριλάβουμε στην OSPF διαδικασία.

Για τον Router_1:

 

Router_1(config)#router ospf 1

Router_1(config-router)#network 195.224.64.1 0.0.0.0 area 1

Router_1(config-router)#network 195.224.64.5 0.0.0.0 area 1

Router_1(config-router)#network 195.224.64.13 0.0.0.0 area 1

Router_1(config-router)#end

 

Για τον Router_2:

 

Router_2(config)#router ospf 1

Router_2(config-router)#network 195.224.64.2 0.0.0.0 area 1

Router_2(config-router)#network 195.224.64.9 0.0.0.0 area 1

Router_2(config-router)#network 195.224.64.17 0.0.0.0 area 1

Router_2(config-router)#end

 

Για τον Router_3:

 

Router_3(config)#router ospf 1

Router_3(config-router)#network 195.224.64.6 0.0.0.0 area 1

Router_3(config-router)#network 195.224.64.10 0.0.0.0 area 1

Router_3(config-router)#network 195.224.64.21 0.0.0.0 area 1

Router_3(config-router)#end

 

Η εντολή router ospf 1 ενεργοποιεί το πρωτόκολλο OSPF στον δρομολογητή. Η γενικότερη σύνταξη της είναι:

 

Router(config)# router ospf process_ID

 

όπου Process ID είναι ένας θετικός ακέραιος (1 – 65535) και χρησιμοποιείται για να ξεχωρίζει τις διάφορες OSPF διεργασίες που μπορεί να τρέχουν ταυτόχρονα μέσα σε ένα δίκτυο, ακόμη και στον ίδιο τον δρομολογητή. Στην τοπολογία μας υπάρχει μια μόνο OSPF διεργασία, συνεπώς χρησιμοποιούμε παντού τον ίδιο αριθμό.

Η εντολή network 195.224.64.1 0.0.0.0 area 1 καθορίζει τη διεπαφή (195.224.64.1) που θέλουμε να συμπεριληφθεί στην OSPF διαδικασία. Οι αριθμοί 0.0.0.0 ονομάζονται wildcard mask και χρησιμοποιούνται για να φιλτράρουν τις διεπαφές [13], δηλώνοντας στον router ποια bytes από τα τέσσερα της IP διεύθυνσης που δηλώθηκε αμέσως πριν το wildcard πρέπει να ταιριάζουν ακριβώς και ποια μας είναι αδιάφορα. Το 0 δηλώνει απόλυτο ταίριασμα ενώ το 255 το αντίθετο [10]. Συνεπώς όταν γράφουμε 0.0.0.0 δηλώνουμε ότι το πρωτόκολλο OSPF θέλουμε να εφαρμοστεί ακριβώς πάνω στη διεπαφή με IP 195.224.64.1.

Το area 1 είναι κάτι διαφορετικό από το 1 που δώσαμε στην τιμή του process id. Παίρνει τιμές μέχρι και 4.294.967.295 και δείχνει την περιοχή στην οποία ανήκουν οι διεπαφές που καθορίστηκαν από το network και την wildcard mask. Για να μπορέσουν άλλωστε οι δρομολογητές στους οποίους ενεργοποιήθηκε το OSPF να γίνουν γείτονες, πρέπει να ανήκουν στην ίδια περιοχή [9].

Ελέγχουμε τους ενημερωμένους πίνακες δρομολόγησης:

Router_1:

 

Router_1#show ip route

C       195.224.64.0 is directly connected, Serial0/1/0

C       195.224.64.4 is directly connected, Serial0/1/1

O       195.224.64.8 [110/128] via 195.224.64.6, 01:03:54, Serial0/1/1

C       195.224.64.12 is directly connected, FastEthernet0/0

O       195.224.64.16 [110/129] via 195.224.64.6, 01:03:44, Serial0/1/1

O       195.224.64.20 [110/65] via 195.224.64.6, 01:03:44, Serial0/1/1

 

Router_2:

 

Router_2#show ip route

C       195.224.64.0 is directly connected, Serial0/1/0

O       195.224.64.4 [110/128] via 195.224.64.10, 01:12:46, Serial0/1/1

C       195.224.64.8 is directly connected, Serial0/1/1

O       195.224.64.12 [110/129] via 195.224.64.10, 01:12:46, Serial0/1/1

C       195.224.64.16 is directly connected, FastEthernet0/0

O       195.224.64.20 [110/65] via 195.224.64.10, 01:12:46, Serial0/1/1

 

Router_3:

 

Router_3#show ip route

O       195.224.64.0 [110/1626] via 195.224.64.5, 01:15:02, Serial0/1/0

[110/1626] via 195.224.64.9, 01:15:02, Serial0/1/1

C       195.224.64.4 is directly connected, Serial0/1/0

C       195.224.64.8 is directly connected, Serial0/1/1

O       195.224.64.12 [110/65] via 195.224.64.5, 01:15:12, Serial0/1/0

O       195.224.64.16 [110/65] via 195.224.64.9, 01:15:02, Serial0/1/1

C       195.224.64.20 is directly connected, FastEthernet0/0

 

Ελέγχουμε τη λειτουργία του δικτύου κάνοντας ping από τον Laptop_1 στο Laptop_3:

 

C:\>ping 195.224.64.22

Pinging 195.224.64.22 with 32 bytes of data:

Reply from 195.224.64.22: bytes=32 time=2ms TTL=126

Reply from 195.224.64.22: bytes=32 time=4ms TTL=126

Reply from 195.224.64.22: bytes=32 time=1ms TTL=126

Reply from 195.224.64.22: bytes=32 time=1ms TTL=126

Ping statistics for 195.224.64.22:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 1ms, Maximum = 4ms, Average = 2ms

 

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

 

 

Το πρωτόκολλο RIP θα δρομολογούσε τα πακέτα από το Laptop_1 προς το Laptop_2 μέσω του υποδικτύου 195.224.64.0/30 (διαδρομή Router_1 -> Router_2), καθώς το κριτήριο δρομολόγησης θα ήταν ο αριθμός των αλμάτων (hops), που είναι μόνο ένα. Το OSPF όμως υπολογίζει το κόστος με βάση το BW, συνεπώς επιλέγει τη διαδρομή Router_1 -> Router_3 -> Router_2 η οποία έχει metric = 64 + 64 + 1 = 129. Αν επέλεγε τα λιγότερα άλματα τότε το κόστος θα ήταν 1562 + 1 = 1563. Επιβεβαιώνουμε με traceroute από το Laptop_1 στο Laptop_2:

 

C:\>tracert 195.224.64.18

Tracing route to 195.224.64.18 over a maximum of 30 hops:

1   1 ms      0 ms      0 ms      195.224.64.13

2   0 ms      0 ms      0 ms      195.224.64.6

3   2 ms      2 ms      0 ms      195.224.64.9

4   2 ms      1 ms      2 ms      195.224.64.18

Trace complete.

 

Επιβεβαιώνουμε την διαφορετική συμπεριφορά του RIP απενεργοποιώντας το OSPF (no router ospf) από τους δρομολογητές και ενεργοποιώντας αυτό

 

Router_1:

 

Router_1(config)#no router ospf 1

Router_1(config)#router rip

Router_1(config-router)#network 195.224.64.12

Router_1(config-router)#network 195.224.64.0

Router_1(config-router)#network 195.224.64.4

 

Router_2:

 

Router_2(config)#no router ospf 1

Router_2(config)#router rip

Router_2(config-router)#

Router_2(config-router)#network 195.224.64.0

Router_2(config-router)#network 195.224.64.8

Router_2(config-router)#network 195.224.64.16

 

Router_3:

 

Router_3(config)#no router ospf 1

Router_3(config)#router rip

Router_3(config-router)#network 195.224.64.4

Router_3(config-router)#network 195.224.64.8

Router_3(config-router)#network 195.224.64.20

 

Επαναλαμβάνουμε την traceroute από το Laptop_1 στο Laptop_2:

 

C:\>tracert 195.224.64.18

Tracing route to 195.224.64.18 over a maximum of 30 hops:

1   1 ms      4 ms      0 ms      195.224.64.13

2   0 ms      1 ms      1 ms      195.224.64.2

3   0 ms      0 ms      0 ms      195.224.64.18

Trace complete.

 

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

 

VIDEO:

 

Αλλαγή μεγέθους γραμματοσειράς
Αντίθεση
Μετάβαση σε γραμμή εργαλείων