Πώς λειτουργεί το πρωτόκολλο PIM

Το πρωτόκολλο PIM είναι ένα σύνολο πρωτοκόλλων για τη μετάδοση multicast σε ένα δίκτυο μεταξύ δρομολογητών. Οι σχέσεις γειτονιάς χτίζονται με τον ίδιο τρόπο όπως στην περίπτωση των πρωτοκόλλων δυναμικής δρομολόγησης. Το PIMv2 στέλνει μηνύματα Hello κάθε 30 δευτερόλεπτα στην δεσμευμένη διεύθυνση multicast 224.0.0.13 (All-PIM-Routers). Το μήνυμα περιέχει χρονοδιακόπτες αναμονής - συνήθως ίσο με 3.5*Hello Timer, δηλαδή 105 δευτερόλεπτα από προεπιλογή.
Πώς λειτουργεί το πρωτόκολλο PIM
Το PIM χρησιμοποιεί δύο βασικούς τρόπους λειτουργίας - τον τρόπο λειτουργίας πυκνό και αραιό. Ας ξεκινήσουμε με τη λειτουργία Dense.
Δένδρα διανομής με βάση την πηγή.
Η λειτουργία πυκνής λειτουργίας συνιστάται να χρησιμοποιείται στην περίπτωση μεγάλου αριθμού πελατών διαφορετικών ομάδων πολλαπλής εκπομπής. Όταν ένας δρομολογητής λαμβάνει κίνηση πολλαπλής διανομής, το πρώτο πράγμα που κάνει είναι να τον ελέγξει για τον κανόνα RPF. RPF - αυτός ο κανόνας χρησιμοποιείται για τον έλεγχο της πηγής μιας multicast με έναν πίνακα δρομολόγησης unicast. Είναι απαραίτητο η κίνηση να φτάνει στη διεπαφή πίσω από την οποία είναι κρυμμένος αυτός ο κεντρικός υπολογιστής σύμφωνα με την έκδοση του πίνακα δρομολόγησης unicast. Αυτός ο μηχανισμός επιλύει το πρόβλημα ενός βρόχου που εμφανίζεται κατά τη μετάδοση πολλαπλής εκπομπής.
Πώς λειτουργεί το πρωτόκολλο PIM
Το R3 θα αναγνωρίσει την πηγή πολλαπλής εκπομπής (Source IP) από το μήνυμα πολλαπλής εκπομπής και θα ελέγξει τις δύο ροές από το R1 και το R2 χρησιμοποιώντας τον πίνακα unicast του. Η ροή από τη διεπαφή που δείχνει ο πίνακας (R1 έως R3) θα μεταδοθεί περαιτέρω και η ροή από το R2 θα απορριφθεί, αφού για να φτάσετε στην πηγή πολλαπλής διανομής, πρέπει να στείλετε πακέτα μέσω S0/1.
Το ερώτημα είναι, τι συμβαίνει εάν έχετε δύο ισοδύναμες διαδρομές με την ίδια μέτρηση; Σε αυτήν την περίπτωση, ο δρομολογητής θα επιλέξει την επόμενη μετάβαση από αυτές τις διαδρομές. Όποιος έχει την υψηλότερη διεύθυνση IP κερδίζει. Εάν πρέπει να αλλάξετε αυτήν τη συμπεριφορά, μπορείτε να χρησιμοποιήσετε το ECMP. Περισσότερες λεπτομέρειες εδώ.
Αφού ελέγξει τον κανόνα RPF, ο δρομολογητής στέλνει ένα πακέτο πολλαπλής διανομής σε όλους τους γείτονές του PIM, εκτός από αυτόν από τον οποίο ελήφθη το πακέτο. Άλλοι δρομολογητές PIM επαναλαμβάνουν αυτή τη διαδικασία. Η διαδρομή που έχει ακολουθήσει ένα πακέτο πολλαπλής διανομής από την πηγή στους τελικούς παραλήπτες σχηματίζει ένα δέντρο που ονομάζεται δέντρο διανομής βάσει πηγής, δέντρο συντομότερης διαδρομής (SPT), δέντρο πηγής. Τρία διαφορετικά ονόματα, επιλέξτε οποιοδήποτε.
Πώς να λύσετε το πρόβλημα ότι ορισμένοι δρομολογητές δεν εγκατέλειψαν κάποια ροή πολλαπλής διανομής και δεν υπάρχει κανένας να τη στείλει, αλλά ο δρομολογητής upstream του τη στέλνει. Ο μηχανισμός Prune εφευρέθηκε για αυτό.
Μήνυμα Prune.
Για παράδειγμα, το R2 θα συνεχίσει να στέλνει μια multicast στο R3, αν και το R3, σύμφωνα με τον κανόνα RPF, το ρίχνει. Γιατί να φορτώσετε το κανάλι; Το R3 στέλνει ένα μήνυμα PIM Prune και το R2, μόλις λάβει αυτό το μήνυμα, θα αφαιρέσει τη διεπαφή S0/1 από τη λίστα εξερχόμενης διεπαφής για αυτήν τη ροή, τη λίστα των διεπαφών από τις οποίες θα πρέπει να σταλεί αυτή η κίνηση.

Ο παρακάτω είναι ένας πιο επίσημος ορισμός του μηνύματος PIM Prune:
Το μήνυμα PIM Prune αποστέλλεται από έναν δρομολογητή σε έναν δεύτερο δρομολογητή για να αναγκάσει τον δεύτερο δρομολογητή να αφαιρέσει τη σύνδεση στην οποία λαμβάνεται το Prune από ένα συγκεκριμένο (S,G) SPT.

Μετά τη λήψη του μηνύματος Prune, το R2 ρυθμίζει το χρονόμετρο Prune στα 3 λεπτά. Μετά από τρία λεπτά, θα αρχίσει να στέλνει ξανά κίνηση μέχρι να λάβει άλλο μήνυμα Prune. Αυτό είναι στο PIMv1.
Και στο PIMv2 έχει προστεθεί ένα χρονόμετρο Ανανέωσης κατάστασης (60 δευτερόλεπτα από προεπιλογή). Μόλις σταλεί ένα μήνυμα Prune από το R3, αυτός ο χρονοδιακόπτης ξεκινά στο R3. Μετά τη λήξη αυτού του χρονοδιακόπτη, ο R3 θα στείλει ένα μήνυμα Ανανέωσης κατάστασης, το οποίο θα επαναφέρει το 3λεπτο Prune Timer στο R2 για αυτήν την ομάδα.
Λόγοι για την αποστολή μηνύματος Prune:

  • Όταν ένα πακέτο πολλαπλής διανομής αποτυγχάνει, ο έλεγχος RPF.
  • Όταν δεν υπάρχουν τοπικά συνδεδεμένοι πελάτες που έχουν ζητήσει μια ομάδα πολλαπλής διανομής (IGMP Join) και δεν υπάρχουν γείτονες PIM στους οποίους μπορεί να σταλεί η κυκλοφορία πολλαπλής διανομής (Διασύνδεση χωρίς κλάδεμα).

Μήνυμα μοσχεύματος.
Ας φανταστούμε ότι ο R3 δεν ήθελε κίνηση από τον R2, έστειλε τον Prune και έλαβε multicast από τον R1. Αλλά ξαφνικά, το κανάλι μεταξύ R1-R3 έπεσε και το R3 έμεινε χωρίς multicast. Μπορείτε να περιμένετε 3 λεπτά μέχρι να λήξει το Prune Timer στο R2. Τα 3 λεπτά είναι μεγάλη αναμονή, για να μην περιμένετε, πρέπει να στείλετε ένα μήνυμα που θα φέρει αμέσως αυτή τη διεπαφή S0/1 στο R2 από την κατάσταση κλαδέματος. Αυτό το μήνυμα θα είναι μήνυμα Graft. Μετά τη λήψη του μηνύματος Graft, ο R2 θα απαντήσει με Graft-ACK.
Κλαδέψτε Παράκαμψη.
Πώς λειτουργεί το πρωτόκολλο PIM
Ας δούμε αυτό το διάγραμμα. Το R1 εκπέμπει multicast σε ένα τμήμα με δύο δρομολογητές. Το R3 λαμβάνει και εκπέμπει κίνηση, το R2 λαμβάνει, αλλά δεν έχει σε ποιον να μεταδώσει κίνηση. Στέλνει ένα μήνυμα Prune στο R1 σε αυτό το τμήμα. Το R1 θα πρέπει να αφαιρέσει το Fa0/0 από τη λίστα και να σταματήσει τη μετάδοση σε αυτό το τμήμα, αλλά τι θα γίνει με το R3; Και το R3 βρίσκεται στο ίδιο τμήμα, έλαβε επίσης αυτό το μήνυμα από τον Prune και κατάλαβε την τραγωδία της κατάστασης. Πριν σταματήσει η μετάδοση του R1, ρυθμίζει ένα χρονόμετρο 3 δευτερολέπτων και θα σταματήσει να εκπέμπει μετά από 3 δευτερόλεπτα. 3 δευτερόλεπτα - αυτός είναι ακριβώς ο χρόνος που έχει ο R3 για να μην χάσει την πολλαπλή εκπομπή του. Επομένως, το R3 στέλνει ένα μήνυμα Pim Join για αυτήν την ομάδα το συντομότερο δυνατό και ο R1 δεν σκέφτεται πλέον να σταματήσει τη μετάδοση. Σχετικά με τα μηνύματα συμμετοχής παρακάτω.
Επιβεβαίωση μηνύματος.
Πώς λειτουργεί το πρωτόκολλο PIM
Ας φανταστούμε αυτήν την κατάσταση: δύο δρομολογητές εκπέμπουν ταυτόχρονα σε ένα δίκτυο. Λαμβάνουν την ίδια ροή από την πηγή και την εκπέμπουν και οι δύο στο ίδιο δίκτυο πίσω από τη διεπαφή e0. Ως εκ τούτου, πρέπει να καθορίσουν ποιος θα είναι ο μοναδικός ραδιοτηλεοπτικός φορέας για αυτό το δίκτυο. Τα μηνύματα επιβεβαίωσης χρησιμοποιούνται για αυτό. Όταν τα R2 και R3 ανιχνεύουν διπλασιασμό της κυκλοφορίας πολλαπλών εκπομπών, δηλαδή φτάνει μια multicast στα R2 και R3, τα οποία εκπέμπουν οι ίδιοι, οι δρομολογητές καταλαβαίνουν ότι κάτι δεν πάει καλά εδώ. Σε αυτήν την περίπτωση, οι δρομολογητές στέλνουν μηνύματα Assert, τα οποία περιλαμβάνουν τη διαχειριστική απόσταση και τη μέτρηση διαδρομής με την οποία επιτυγχάνεται η πηγή πολλαπλής μετάδοσης - 10.1.1.10. Ο νικητής αναδεικνύεται ως εξής:

  1. Αυτός με κατώτερο μ.Χ.
  2. Αν τα AD είναι ίσα, τότε ποιος έχει τη χαμηλότερη μέτρηση.
  3. Εάν υπάρχει ισότητα εδώ, τότε αυτός που έχει την υψηλότερη IP στο δίκτυο στο οποίο εκπέμπουν αυτήν την πολλαπλή εκπομπή.

Ο νικητής αυτής της ψηφοφορίας γίνεται ο Καθορισμένος δρομολογητής. Το Pim Hello χρησιμοποιείται επίσης για την επιλογή DR. Στην αρχή του άρθρου εμφανίστηκε το μήνυμα PIM Hello, μπορείτε να δείτε το πεδίο DR εκεί. Αυτός με την υψηλότερη διεύθυνση IP σε αυτόν τον σύνδεσμο κερδίζει.
Χρήσιμο σημάδι:
Πώς λειτουργεί το πρωτόκολλο PIM
MROUTE Τραπέζι.
Μετά από μια πρώτη ματιά στο πώς λειτουργεί το πρωτόκολλο PIM, πρέπει να κατανοήσουμε πώς να εργαζόμαστε με έναν πίνακα δρομολόγησης πολλαπλής διανομής. Ο πίνακας mroute αποθηκεύει πληροφορίες σχετικά με το ποιες ροές ζητήθηκαν από τους πελάτες και ποιες ροές ρέουν από διακομιστές πολλαπλής διανομής.
Για παράδειγμα, όταν λαμβάνεται μια αναφορά μέλους IGMP ή μια εγγραφή PIM σε κάποια διεπαφή, μια εγγραφή τύπου ( *, G ) προστίθεται στον πίνακα δρομολόγησης:
Πώς λειτουργεί το πρωτόκολλο PIM
Αυτή η καταχώρηση σημαίνει ότι ελήφθη ένα αίτημα κυκλοφορίας με τη διεύθυνση 238.38.38.38. Η σημαία DC σημαίνει ότι η πολυεκπομπή θα λειτουργεί σε λειτουργία πυκνής ροής και το C σημαίνει ότι ο παραλήπτης είναι απευθείας συνδεδεμένος με το δρομολογητή, δηλαδή ότι ο δρομολογητής έλαβε την αναφορά μέλους IGMP και την εγγραφή PIM.
Εάν υπάρχει μια εγγραφή τύπου (S,G) σημαίνει ότι έχουμε μια ροή πολλαπλής διανομής:
Πώς λειτουργεί το πρωτόκολλο PIM
Στο πεδίο S - 192.168.1.11, έχουμε καταχωρίσει τη διεύθυνση IP της πηγής πολλαπλής διανομής, αυτή είναι που θα ελεγχθεί από τον κανόνα RPF. Εάν υπάρχουν προβλήματα, το πρώτο πράγμα που πρέπει να κάνετε είναι να ελέγξετε τον πίνακα unicast για τη διαδρομή προς την πηγή. Στο πεδίο Εισερχόμενη διεπαφή, υποδεικνύει τη διεπαφή στην οποία λαμβάνεται η πολυεκπομπή. Σε έναν πίνακα δρομολόγησης unicast, η διαδρομή προς την πηγή πρέπει να αναφέρεται στη διεπαφή που καθορίζεται εδώ. Η εξερχόμενη διεπαφή καθορίζει πού θα ανακατευθυνθεί η πολυεκπομπή. Εάν είναι κενό, τότε ο δρομολογητής δεν έχει λάβει αιτήματα για αυτήν την κίνηση. Μπορείτε να βρείτε περισσότερες πληροφορίες για όλες τις σημαίες εδώ.
PIM Αραιή λειτουργία.
Η στρατηγική του Sparse-mode είναι το αντίθετο του Dense-mode. Όταν η λειτουργία αραιής λειτουργίας λαμβάνει επισκεψιμότητα πολλαπλής διανομής, θα στέλνει κίνηση μόνο μέσω αυτών των διεπαφών όπου υπήρχαν αιτήματα για αυτήν τη ροή, για παράδειγμα μηνύματα Pim Join ή IGMP Report που ζητούν αυτήν την κίνηση.
Παρόμοια στοιχεία για SM και DM:

  • Οι σχέσεις γειτονιάς χτίζονται με τον ίδιο τρόπο όπως στο PIM DM.
  • Ο κανόνας RPF λειτουργεί.
  • Η επιλογή DR είναι παρόμοια.
  • Ο μηχανισμός των μηνυμάτων Prune Overrides και Assert είναι παρόμοιος.

Για να ελέγξετε ποιος, πού και τι είδους κίνηση πολλαπλής εκπομπής χρειάζεται στο δίκτυο, χρειάζεται ένα κοινό κέντρο πληροφοριών. Το κέντρο μας θα είναι το Rendezvous Point (RP). Όποιος θέλει κάποιο είδος κυκλοφορίας πολλαπλής διανομής ή κάποιος άρχισε να λαμβάνει κυκλοφορία πολλαπλής διανομής από την πηγή, τότε τη στέλνει στο RP.
Όταν το RP λαμβάνει κυκλοφορία πολλαπλής διανομής, θα τη στείλει σε εκείνους τους δρομολογητές που ζήτησαν προηγουμένως αυτήν την κίνηση.
Πώς λειτουργεί το πρωτόκολλο PIM
Ας φανταστούμε μια τοπολογία όπου το RP είναι R3. Μόλις το R1 λάβει κίνηση από το S1, ενσωματώνει αυτό το πακέτο πολλαπλής διανομής σε ένα μήνυμα εγγραφής PIM unicast και το στέλνει στο RP. Πώς ξέρει ποιος είναι ο RP; Σε αυτήν την περίπτωση, ρυθμίζεται στατικά και θα μιλήσουμε για δυναμική διαμόρφωση RP αργότερα.

ip pim rp-διεύθυνση 3.3.3.3

Το RP θα κοιτάξει - υπήρχαν πληροφορίες από κάποιον που θα ήθελε να λάβει αυτήν την κίνηση; Ας υποθέσουμε ότι δεν ήταν. Στη συνέχεια, η RP θα στείλει στον R1 ένα μήνυμα PIM Register-Stop, που σημαίνει ότι κανείς δεν χρειάζεται αυτήν την πολλαπλή μετάδοση, η εγγραφή δεν επιτρέπεται. Το R1 δεν θα στείλει multicast. Αλλά ο κεντρικός υπολογιστής πηγής πολλαπλής εκπομπής θα το στείλει, έτσι ώστε το R1, αφού λάβει το Register-Stop, να ξεκινήσει ένα χρονόμετρο καταστολής εγγραφής ίσο με 60 δευτερόλεπτα. 5 δευτερόλεπτα πριν από τη λήξη αυτού του χρονοδιακόπτη, το R1 θα στείλει ένα κενό μήνυμα Register με ένα bit Null-Register (δηλαδή, χωρίς ένα ενθυλακωμένο πακέτο πολλαπλής διανομής) προς το RP. Το RP, με τη σειρά του, θα ενεργήσει ως εξής:

  • Εάν δεν υπήρχαν παραλήπτες, τότε θα απαντήσει με μήνυμα Register-Stop.
  • Εάν εμφανιστούν παραλήπτες, δεν θα απαντήσει σε αυτό με κανέναν τρόπο. Ο R1, αφού δεν έχει λάβει άρνηση εγγραφής εντός 5 δευτερολέπτων, θα είναι ευχαριστημένος και θα στείλει ένα μήνυμα Εγγραφής με μια ενθυλακωμένη multicast στο RP.

Φαίνεται ότι έχουμε καταλάβει πώς η multicast φτάνει στο RP, τώρα ας προσπαθήσουμε να απαντήσουμε στο ερώτημα πώς το RP παρέχει επισκεψιμότητα στους παραλήπτες. Εδώ είναι απαραίτητο να εισαγάγουμε μια νέα έννοια - δέντρο ριζικής διαδρομής (RPT). Το RPT είναι ένα δέντρο με ρίζες στο RP, που αναπτύσσεται προς τους παραλήπτες και διακλαδώνεται σε κάθε δρομολογητή PIM-SM. Το RP το δημιουργεί λαμβάνοντας μηνύματα PIM Join και προσθέτει ένα νέο κλάδο στο δέντρο. Και έτσι, κάθε downstream router κάνει. Ο γενικός κανόνας μοιάζει με αυτό:

  • Όταν ένας δρομολογητής PIM-SM λαμβάνει ένα μήνυμα PIM Join σε οποιαδήποτε διεπαφή εκτός από τη διεπαφή πίσω από την οποία είναι κρυμμένο το RP, προσθέτει έναν νέο κλάδο στο δέντρο.
  • Ένας κλάδος προστίθεται επίσης όταν ο δρομολογητής PIM-SM λαμβάνει μια αναφορά μέλους IGMP από έναν άμεσα συνδεδεμένο κεντρικό υπολογιστή.

Ας φανταστούμε ότι έχουμε έναν πελάτη πολλαπλής διανομής στο δρομολογητή R5 για την ομάδα 228.8.8.8. Μόλις το R5 λάβει την Αναφορά Μέλους IGMP από τον κεντρικό υπολογιστή, το R5 στέλνει ένα PIM Join προς την κατεύθυνση του RP και ο ίδιος προσθέτει μια διεπαφή στο δέντρο που κοιτάζει τον κεντρικό υπολογιστή. Στη συνέχεια, το R4 λαμβάνει το PIM Join από το R5, προσθέτει τη διεπαφή Gi0/1 στο δέντρο και στέλνει το PIM Join προς την κατεύθυνση του RP. Τέλος, το RP ( R3 ) λαμβάνει PIM Join και προσθέτει Gi0/0 στο δέντρο. Έτσι, ο παραλήπτης πολλαπλής εκπομπής καταχωρείται. Χτίζουμε ένα δέντρο με τη ρίζα R3-Gi0/0 → R4-Gi0/1 → R5-Gi0/0.
Μετά από αυτό, ένα PIM Join θα σταλεί στο R1 και το R1 θα αρχίσει να στέλνει multicast κυκλοφορία. Είναι σημαντικό να σημειωθεί ότι εάν ο κεντρικός υπολογιστής ζήτησε επισκεψιμότητα πριν από την έναρξη της μετάδοσης πολλαπλών εκπομπών, τότε το RP δεν θα στείλει PIM Join και δεν θα στείλει τίποτα στο R1 καθόλου.
Εάν ξαφνικά, ενώ αποστέλλεται μια multicast, ο κεντρικός υπολογιστής σταματήσει να θέλει να τη λάβει, μόλις το RP λάβει ένα PIM Prune στη διεπαφή Gi0/0, θα στείλει αμέσως ένα PIM Register-Stop απευθείας στο R1 και μετά ένα PIM Prune μήνυμα μέσω της διεπαφής Gi0/1. Το PIM Register-stop αποστέλλεται μέσω unicast στη διεύθυνση από την οποία προήλθε το PIM Register.
Όπως είπαμε νωρίτερα, μόλις ένας δρομολογητής στείλει ένα PIM Join σε άλλο, για παράδειγμα R5 στο R4, τότε προστίθεται μια εγγραφή στο R4:
Πώς λειτουργεί το πρωτόκολλο PIM
Και ξεκινά ένα χρονόμετρο που το R5 πρέπει να επαναφέρει συνεχώς αυτό το χρονόμετρο PIM Join μηνύματα συνεχώς, διαφορετικά το R4 θα εξαιρεθεί από τη λίστα εξερχόμενων. Το R5 θα στέλνει κάθε 60 μηνύματα PIM Join.
Εναλλαγή δέντρων συντομότερης διαδρομής.
Θα προσθέσουμε μια διεπαφή μεταξύ των R1 και R5 και θα δούμε πώς ρέει η κυκλοφορία με αυτήν την τοπολογία.
Πώς λειτουργεί το πρωτόκολλο PIM
Ας υποθέσουμε ότι η κίνηση στάλθηκε και ελήφθη σύμφωνα με το παλιό σχήμα R1-R2-R3-R4-R5, και εδώ συνδέσαμε και διαμορφώσαμε τη διεπαφή μεταξύ R1 και R5.
Πρώτα απ 'όλα, πρέπει να ξαναχτίσουμε τον πίνακα δρομολόγησης unicast στο R5 και τώρα το δίκτυο 192.168.1.0/24 επιτυγχάνεται μέσω της διεπαφής R5 Gi0/2. Τώρα το R5, που λαμβάνει multicast στη διεπαφή Gi0/1, κατανοεί ότι ο κανόνας RPF δεν ικανοποιείται και θα ήταν πιο λογικό να λάβει multicast στο Gi0/2. Θα πρέπει να αποσυνδεθεί από το RPT και να δημιουργήσει ένα μικρότερο δέντρο που ονομάζεται δέντρο συντομότερης διαδρομής (SPT). Για να το κάνει αυτό, στέλνει το PIM Join στο R0 μέσω Gi2/1 και το R1 αρχίζει να στέλνει μια multicast επίσης μέσω Gi0/2. Τώρα το R5 πρέπει να διαγραφεί από το RPT για να μην λάβει δύο αντίγραφα. Για να το κάνει αυτό, στέλνει στον Prune ένα μήνυμα που υποδεικνύει τη διεύθυνση IP της πηγής και εισάγει ένα ειδικό bit - RPT-bit. Αυτό σημαίνει ότι δεν χρειάζεται να μου στείλετε κίνηση, έχω ένα καλύτερο δέντρο εδώ. Το RP στέλνει επίσης μηνύματα PIM Prune στο R1, αλλά δεν στέλνει μήνυμα Register-Stop. Ένα άλλο χαρακτηριστικό: Το R5 θα στέλνει πλέον συνεχώς το PIM Prune στο RP, καθώς το R1 συνεχίζει να στέλνει το PIM Register στο RP κάθε λεπτό. Μέχρι να μην υπάρχουν νέοι άνθρωποι που να θέλουν αυτήν την επισκεψιμότητα, η RP θα την αρνηθεί. Το R5 ειδοποιεί την RP ότι συνεχίζει να λαμβάνει multicast μέσω SPT.
Δυναμική αναζήτηση RP.
Auto-RP.

Αυτή η τεχνολογία είναι αποκλειστική της Cisco και δεν είναι ιδιαίτερα δημοφιλής, αλλά είναι ακόμα ζωντανή. Η λειτουργία Auto-RP αποτελείται από δύο κύρια στάδια:
1) Το RP στέλνει μηνύματα RP-Announce στη δεσμευμένη διεύθυνση - 224.0.1.39, δηλώνοντας RP είτε για όλους είτε για συγκεκριμένες ομάδες. Αυτό το μήνυμα αποστέλλεται κάθε λεπτό.
2) Απαιτείται ένας πράκτορας χαρτογράφησης RP, ο οποίος θα στέλνει μηνύματα RP-Discovery που θα υποδεικνύουν για ποιες ομάδες θα πρέπει να ακουστούν RP. Είναι από αυτό το μήνυμα ότι οι κανονικοί δρομολογητές PIM θα καθορίσουν μόνοι τους το RP. Το Mapping Agent μπορεί να είναι είτε ο ίδιος ο δρομολογητής RP είτε ένας ξεχωριστός δρομολογητής PIM. Το RP-Discovery αποστέλλεται στη διεύθυνση 224.0.1.40 με χρονόμετρο ενός λεπτού.
Ας δούμε τη διαδικασία πιο αναλυτικά:
Ας διαμορφώσουμε το R3 ως RP:

ip pim send-rp-announce loopback 0 scope 10

R2 ως αντιπρόσωπος χαρτογράφησης:

ip pim send-rp-discovery loopback 0 scope 10

Και σε όλα τα άλλα θα περιμένουμε RP μέσω Auto-RP:

ip pim autorp ακροατής

Μόλις ρυθμίσουμε το R3, θα αρχίσει να στέλνει RP-Announce:
Πώς λειτουργεί το πρωτόκολλο PIM
Και το R2, αφού ρυθμίσει τον παράγοντα χαρτογράφησης, θα αρχίσει να περιμένει το μήνυμα RP-Announce. Μόνο όταν βρει τουλάχιστον ένα RP θα αρχίσει να στέλνει το RP-Discovery:
Πώς λειτουργεί το πρωτόκολλο PIM
Με αυτόν τον τρόπο, μόλις οι κανονικοί δρομολογητές (PIM RP Listener) λάβουν αυτό το μήνυμα, θα ξέρουν πού να αναζητήσουν το RP.
Ένα από τα κύρια προβλήματα με το Auto-RP είναι ότι για να λαμβάνετε μηνύματα RP-Announce και RP-Discovery, πρέπει να στείλετε το PIM Join στις διευθύνσεις 224.0.1.39-40 και για να στείλετε, πρέπει να γνωρίζετε πού Το RP βρίσκεται. Κλασικό πρόβλημα με κοτόπουλο και αυγό. Για να λυθεί αυτό το πρόβλημα, εφευρέθηκε το PIM Sparse-Dense-Mode. Εάν ο δρομολογητής δεν γνωρίζει RP, τότε λειτουργεί σε Dense-mode, αν γνωρίζει, τότε σε Sparse-mode. Όταν η λειτουργία PIM Sparse-Mode και η εντολή ip pim autorp listener έχουν διαμορφωθεί στις διεπαφές των κανονικών δρομολογητών, ο δρομολογητής θα λειτουργεί σε λειτουργία πυκνής λειτουργίας μόνο για multicasting απευθείας από το πρωτόκολλο Auto-RP (224.0.1.39-40).
BootStrap Router (BSR).
Αυτή η λειτουργία λειτουργεί παρόμοια με το Auto-RP. Κάθε RP στέλνει ένα μήνυμα στον παράγοντα χαρτογράφησης, ο οποίος συλλέγει πληροφορίες χαρτογράφησης και στη συνέχεια ενημερώνει όλους τους άλλους δρομολογητές. Ας περιγράψουμε τη διαδικασία παρόμοια με το Auto-RP:
1) Μόλις διαμορφώσουμε το R3 ως υποψήφιο για RP, με την εντολή:

ip pim rp-candidate loopback 0

Τότε ο R3 δεν θα κάνει τίποτα· για να αρχίσει να στέλνει ειδικά μηνύματα, πρέπει πρώτα να βρει έναν αντιπρόσωπο χαρτογράφησης. Έτσι, προχωράμε στο δεύτερο βήμα.
2) Διαμορφώστε το R2 ως παράγοντα χαρτογράφησης:

ip pim bsr-candidate loopback 0

Το R2 ξεκινά να στέλνει μηνύματα PIM Bootstrap, όπου εμφανίζεται ως πράκτορας χαρτογράφησης:
Πώς λειτουργεί το πρωτόκολλο PIM
Αυτό το μήνυμα αποστέλλεται στη διεύθυνση 224.0.013, την οποία το πρωτόκολλο PIM χρησιμοποιεί και για τα άλλα μηνύματά του. Τα στέλνει προς όλες τις κατευθύνσεις και επομένως δεν υπάρχει πρόβλημα με το κοτόπουλο και το αυγό όπως υπήρχε στο Auto-RP.
3) Μόλις το RP λάβει ένα μήνυμα από τον δρομολογητή BSR, θα στείλει αμέσως ένα μήνυμα unicast στη διεύθυνση του δρομολογητή BSR:
Πώς λειτουργεί το πρωτόκολλο PIM
Μετά από αυτό, το BSR, έχοντας λάβει πληροφορίες για τα RP, θα τα στείλει με multicast στη διεύθυνση 224.0.0.13, την οποία ακούνε όλοι οι δρομολογητές PIM. Επομένως, ένα ανάλογο της εντολής ip pim autorp ακροατής για κανονικούς δρομολογητές που δεν είναι σε BSR.
Anycast RP με Multicast Source Discovery Protocol (MSDP).
Το Auto-RP και το BSR μας επιτρέπουν να κατανείμουμε το φορτίο στο RP ως εξής: Κάθε ομάδα πολλαπλής εκπομπής έχει μόνο ένα ενεργό RP. Δεν θα είναι δυνατή η κατανομή του φορτίου για μία ομάδα πολλαπλής εκπομπής σε πολλά RP. Το MSDP το κάνει αυτό εκδίδοντας στους δρομολογητές RP την ίδια διεύθυνση IP με μάσκα 255.255.255.255. Το MSDP μαθαίνει πληροφορίες χρησιμοποιώντας μία από τις μεθόδους: static, Auto-RP ή BSR.
Πώς λειτουργεί το πρωτόκολλο PIM
Στην εικόνα έχουμε μια διαμόρφωση Auto-RP με MSDP. Και τα δύο RP έχουν ρυθμιστεί με διεύθυνση IP 172.16.1.1/32 στη διεπαφή Loopback 1 και χρησιμοποιούνται για όλες τις ομάδες. Με το RP-Announce, και οι δύο δρομολογητές ανακοινώνουν τον εαυτό τους με αναφορά σε αυτήν τη διεύθυνση. Ο πράκτορας χαρτογράφησης Auto-RP, έχοντας λάβει τις πληροφορίες, στέλνει το RP-Discovery σχετικά με το RP με τη διεύθυνση 172.16.1.1/32. Ενημερώνουμε τους δρομολογητές για το δίκτυο 172.16.1.1/32 χρησιμοποιώντας IGP και, κατά συνέπεια. Έτσι, οι δρομολογητές PIM ζητούν ή καταχωρούν ροές από το RP που καθορίζεται ως το επόμενο βήμα στη διαδρομή προς το δίκτυο 172.16.1.1/32. Το ίδιο το πρωτόκολλο MSDP έχει σχεδιαστεί για τα ίδια τα RP να ανταλλάσσουν μηνύματα σχετικά με πληροφορίες πολλαπλής εκπομπής.
Εξετάστε αυτήν την τοπολογία:
Πώς λειτουργεί το πρωτόκολλο PIM
Το Switch6 μεταδίδει κίνηση στη διεύθυνση 238.38.38.38 και μέχρι στιγμής μόνο το RP-R1 το γνωρίζει. Οι Switch7 και Switch8 ζήτησαν αυτήν την ομάδα. Οι δρομολογητές R5 και R4 θα στείλουν το PIM Join στους R1 και R3, αντίστοιχα. Γιατί; Η διαδρομή έως τις 13.13.13.13 για το R5 θα αναφέρεται στο R1 χρησιμοποιώντας τη μέτρηση IGP, όπως και για το R4.
Το RP-R1 γνωρίζει για τη ροή και θα αρχίσει να το μεταδίδει προς το R5, αλλά το R4 δεν γνωρίζει τίποτα για αυτό, αφού το R1 δεν θα το στείλει απλά. Ως εκ τούτου, το MSDP είναι απαραίτητο. Το ρυθμίζουμε σε R1 και R5:

ip msdp peer 3.3.3.3 Connect-source Loopback1 στο R1

ip msdp peer 1.1.1.1 Connect-source Loopback3 στο R3

Θα δημιουργήσουν μια συνεδρία μεταξύ τους και όταν λαμβάνουν οποιαδήποτε ροή θα την αναφέρουν στον γείτονά τους RP.
Μόλις το RP-R1 λάβει μια ροή από το Switch6, θα στείλει αμέσως ένα μήνυμα unicast MSDP Source-Active, το οποίο θα περιέχει πληροφορίες όπως (S, G) - πληροφορίες σχετικά με την πηγή και τον προορισμό της multicast. Τώρα που το RP-R3 γνωρίζει ότι μια πηγή όπως το Switch6, όταν λαμβάνει ένα αίτημα από τον R4 για αυτήν τη ροή, θα στείλει το PIM Join προς το Switch6, καθοδηγούμενο από τον πίνακα δρομολόγησης. Συνεπώς, ο R1 έχοντας λάβει ένα τέτοιο PIM Join θα αρχίσει να στέλνει κίνηση προς το RP-R3.
Το MSDP εκτελείται μέσω TCP, τα RP στέλνουν μεταξύ τους μηνύματα διατήρησης για να ελέγξουν τη ζωντανότητα. Ο χρονοδιακόπτης είναι 60 δευτερόλεπτα.
Η λειτουργία της διαίρεσης των ομότιμων MSDP σε διαφορετικούς τομείς παραμένει ασαφής, καθώς τα μηνύματα Keepalive και SA δεν υποδεικνύουν συμμετοχή σε κανέναν τομέα. Επίσης, σε αυτήν την τοπολογία, δοκιμάσαμε μια διαμόρφωση που υποδεικνύει διαφορετικούς τομείς - δεν υπήρχε διαφορά στην απόδοση.
Αν κάποιος μπορεί να διευκρινίσει, ευχαρίστως να το διαβάσει στα σχόλια.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο