Protocolul PIM-SM

Relativ recent, am avut norocul să introduc și chiar să configurez rutarea multicast pentru IPTV. Inițial, nu eram complet familiarizat cu acest subiect, iar acest lucru m-a forțat să ling partea de sus a unui rezervor de vodcă și să caut o cantitate uriașă de documente pentru a ajunge la curent.

Și aici este problema. De obicei, totul este prezentat în documentație odată, iar pentru o persoană care întâlnește acest subiect pentru prima dată, nu este clar de unde să înceapă. În timp ce citeam pdf-urile, m-am surprins gândindu-mă că ar fi bine să dau undeva peste un articol care ar putea lua o scurtătură de la teorie la practică pentru a înțelege de unde să încep și de unde să concentrezi atenția.

Nu am reusit sa gasesc un astfel de articol. Acest lucru m-a determinat să scriu acest articol pentru cei care, la fel ca mine, se confruntă cu întrebarea ce fel de fiară este IPTV și cum să o rezolv.

Introducere

Acesta este primul meu articol (dar nu ultimul! Sunt mult mai multe animale), voi încerca să prezint totul cât mai accesibil.

În primul rând, să schițăm câteva concepte pentru a elimina alte neînțelegeri. Există trei tipuri de trafic:

  • unicast- unicast, o sursă de flux, o destinație
  • difuzat- difuzare, o singură sursă, destinatarii sunt toți clienții din rețea
  • multicast- multicast, un expeditor, destinatari un grup de clienți

Ce tip de trafic ar trebui să folosesc pentru IPTV?

Evident, pentru canalele de difuzare, cea mai mare preferință este dată de multicast.
Orice canal TV pe care dorim să-l transmitem în rețea este caracterizat de o adresă de grup, care este selectată din gama rezervată acestor scopuri: 224.0.0.0 – 239.255.255.255 .

Pentru ca IPTV să funcționeze, aveți nevoie de un router care acceptă multicast (denumit în continuare MR). Acesta va urmări apartenența unui anumit client într-un anumit grup, de ex. Monitorizați în mod constant ce client este trimis pe ce canal TV.

Pentru ca un client să se înregistreze într-unul dintre aceste grupuri și să se uite la un canal TV, se folosește un protocol IGMP(Internet Group Management Protocol).

Câteva despre cum funcționează IGMP.

Există un server care este inclus în routerul MR. Acest server difuzează mai multe desene animate TV, de exemplu:

Clientul pornește canalul de știri, astfel, fără să bănuiască, trimite o solicitare către MR pentru a se conecta la grupul 224.12.0.1. Din punctul de vedere al protocolului IGMP, aceasta este o solicitare „ ÎNSCRIEȚI LA 224.12.0.1”.

Dacă utilizatorul trece la alt canal, atunci el trimite mai întâi o notificare către MR că dezactivează canalul de știri sau părăsește acest grup. Pentru IGMP este „ PLACIE 224.12.0.1" Și apoi repetă o solicitare similară JOIN pentru canalul dorit.

MR întreabă uneori pe toată lumea: „Cine este conectat la ce grup?” pentru a deconecta acei clienți cu care s-a pierdut conexiunea și nu au avut timp să trimită o notificare PLECA. Pentru aceasta MR folosește cererea ÎNTREBARE.

Răspunsul abonatului la această solicitare este RAPORT DE MEMBRU, care conține o listă a tuturor grupurilor din care face parte clientul.

Configurarea rutării multicast.

Să presupunem că clienții aceluiași grup urmăresc același desen animat, dar se află în segmente de rețea diferite (rețeaua A și rețeaua B). Pentru ca ei să-și obțină desenele animate, a fost inventată rutarea multicast.

Exemplu de configurare a routerelor MR1 ​​și MR2.

Rețeaua A 10.1.0.0/24
Rețeaua B 10.2.0.0/24
Rețeaua C 10.3.0.0/24

MR1 MR2
MR1#sh alergă

rutare multicast IP
!
interfață Ethernet 0
descriere Multicast Source
adresa ip 10.0.0.1 255.255.255.0
ip pim sparse-mode
!
interfață Ethernet 1
descriere Rețeaua A
adresa ip 10.1.0.1 255.255.255.0
ip pim sparse-mode
!
interfata Ethernet 2
descriere Rețeaua B
adresa ip 10.2.0.1 255.255.255.0
ip pim sparse-mode
!
interfață Ethernet 3
descriere Link către MR2
adresa ip 10.10.10.1 255.255.255.0
ip pim sparse-mode
!

!
IP TV standard pentru lista de acces IP
permis 224.11.0.0 0.0.0.3

MR2#sh alergă

rutare multicast IP
!
interfață Ethernet 0
descriere Link către MR1
adresa ip 10.10.10.2 255.255.255.0
ip pim sparse-mode
!
interfață Ethernet 1
descriere Rețeaua C
adresa ip 10.3.0.1 255.255.255.0
ip pim sparse-mode
!
ip pim rp-address 10.0.0.2 IPTV override
!
IP TV standard pentru lista de acces IP
permis 224.11.0.0 0.0.0.3
!


Echipa" rutare multicast ip" pornește rutarea corespunzătoare, dar dacă este oprită, atunci routerul nu transmite pachete multicast, adică nu vor ajunge la vizualizatorul perplex al desenelor animate.

Să aruncăm o privire mai atentă la comanda " ip pim sparse-mode".

Despre modurile protocolului PIM și protocolul în sine.

PIM(Protocol Independent Multicast) - protocol de rutare multicast. Își populează tabelul de rutare multicast pe baza tabelului de rutare obișnuit. Aceste tabele pot fi vizualizate folosind comenzile „ ruta de expediere" Și " ruta de expediere„, respectiv. Scopul protocolului PIM este de a construi un arbore de rute pentru trimiterea de mesaje multicast.
Protocolul PIM are două moduri principale: descărcat ( mod rar) și dens ( modul dens). Tabelul de rutare multicast arată puțin diferit pentru ei. Uneori, aceste moduri sunt considerate ca protocoale separate - PIM-SM și PIM-DM.

În configurația noastră pe interfețe am specificat modul " ip pim sparse-mode".

(config-if)# ip pim?

Modul dens Activați funcționarea în modul dens PIM
sparse-dense-mode Activați funcționarea PIM sparse-dense-mode
sparse-mode Activați funcționarea PIM în modul dispers
………

Care este diferența?

PIM-DM folosește un mecanism de inundare și tăiere. Cu alte cuvinte. Routerul MR trimite tuturor fluxurile multicast care sunt înregistrate pe el. Dacă clientul nu are nevoie de niciunul dintre aceste canale, atunci îl refuză. Dacă toți clienții agățați de router au abandonat canalul, atunci routerul trimite un „nu mulțumesc, nu mulțumesc” routerului din amonte.

PIM-SM nu trimite inițial canale TV înregistrate pe acesta. Trimiterea va începe numai atunci când un client primește o cerere pentru aceasta.

Aceste. în PIM-DM MR trimite tuturor, apoi elimină ceea ce nu este necesar, iar în PIM-SM MR începe să transmită doar la cerere.

Dacă membrii grupului sunt împrăștiați pe mai multe segmente de rețea, așa cum este tipic în cazul IPTV, PIM-DM va folosi cea mai mare parte a lățimii de bandă. Și acest lucru poate duce la scăderea productivității. În acest caz, este mai bine să utilizați PIM-SM.

Există și alte diferențe între PIM-DM și PIM-SM.
PIM-DM construiește un arbore separat pentru fiecare sursă a unui anumit grup multicast, de ex. O rută multicast va fi caracterizată printr-o adresă sursă și o adresă de grup. Tabelul de rutare multicast va avea intrări de forma (S,G), unde S este sursa, G este grup.

PIM-SM are câteva caracteristici speciale. Acest mod necesită un punct de întâlnire ( RP - punct de întâlnire) pe care vor fi înregistrate surse de fluxuri multicast și se va crea o rută de la sursa S (în sine) către grupul G: (S,G).

Astfel, traficul merge de la sursă la RP de-a lungul traseului (S,G), iar apoi către clienți de-a lungul unui arbore comun surselor unui anumit grup, care se caracterizează prin traseul (*,G) - „* ” simbolizează „orice sursă”. Aceste. surse înregistrate la RP, iar apoi clienții primesc deja un flux de la RP și nu contează pentru ei cine a fost sursa originală. Rădăcina acestui arbore comun va fi RP.

Punctul de întâlnire este unul dintre routerele multicast, dar toate celelalte routere trebuie să știe „cine este punctul RP” și să poată ajunge la el.

Exemplu definiție statică RP (MR1). Să anunțăm tuturor ruterelor multicast că punctul de întâlnire este 10.0.0.1 (MR1):

Toate celelalte routere trebuie să cunoască ruta către RP:
ruta IP 10.0.0.0 255.255.255.0 10.10.10.1

Există și alte modalități de a determina RP, acestea sunt auto-RP și router bootstarp, dar acesta este un subiect pentru un articol separat ( daca este cineva interesat - va rog)?

Să vedem ce se întâmplă după configurarea routerelor.

Încă luăm în considerare o schemă cu routere MR1 (RP) și MR2. De îndată ce activăm legătura între routerele MR1 și MR2, ar trebui să vedem mesaje în jurnalele

Pentru MR1:
%PIM-5-NBRCHG: vecin 10.10.10.2 UP pe interfața Ethernet3

Pentru MR2:
%PIM-5-NBRCHG: vecin 10.10.10.1 UP pe interfața Ethernet0

Acest lucru indică faptul că ruterele au stabilit o relație de adiacență PIM între ele. De asemenea, puteți verifica acest lucru folosind comanda:

MR1# sh ip pim vecin

Masa vecinilor PIM
Mod: B - Capabil Bidir, DR - Router desemnat, N - Prioritate DR implicită, S - Capabil pentru reîmprospătarea stării

Adresa vecinului Interfață Timp de funcționare/Expiră Ver DR Prio/Mod
10.10.10.2 Ethernet3 00:03:05/00:01:37 v2 1/DR S

Nu uitați de TTL.

Mi-a fost convenabil să îl folosesc ca server de testare player VLC. Totuși, așa cum am descoperit mai târziu, chiar dacă am setat un TTL suficient prin GUI, tot (sper doar în versiunea pe care am folosit-o) a trimis cu încăpățânare pachete multicast cu TTL=1. A trebuit să îl rulez pe cel încăpățânat cu opțiunea „vlc.exe –ttl 3” pentru că vom avea două routere pe drum, fiecare dintre ele reduce TTL-ul pachetului cu unul.

Cum poți detecta în continuare o problemă cu TTL? Sens unic. Lăsați serverul să transmită canalul 224.12.0.3 cu TTL=2, apoi pachetele trec în mod normal pe routerul MR1, dar în spatele routerului MR2 clienții nu vor mai putea să-și vizioneze desenele animate.

Acest lucru este detectat folosind comanda „sh ip traffic” de pe MR2. Ne uităm la câmpul „număr de hop bad” - acesta este numărul de pachete care „au murit”, măsurat de acestea, la TTL=0.

MR2# traficul de nave

Statistici IP:
RCVD: 36788 total, 433 destinație locală
0 erori de format, 0 erori de sumă de control, 2363 număr de hop prost
……………………………………

Dacă acest contor crește rapid, atunci problema este TTL.

Afișați ruta IP

După ce am activat difuzarea a trei canale pe server, observăm următoarele în tabelul de rutare multicast:

MR1# ruta de expediere

(*, 224.12.0.1), 00:03:51/oprit, RP 10.0.0.1, steaguri: SP

(10.0.0.2, 224.12.0.1), 00:03:52/00:02:50, steaguri: PT

Lista interfețelor de ieșire: nulă

(*, 224.12.0.2), 00:00:45/oprit, RP 10.0.0.1, steaguri: SP
Interfață de intrare: Null, RPF nbr 0.0.0.0
Lista interfețelor de ieșire: nulă

(10.0.0.2, 224.12.0.2), 00:00:45/00:02:50, steaguri: PT
Interfață de intrare: Ethernet0, RPF nbr 0.0.0.0
Lista interfețelor de ieșire: nulă

(*, 224.12.0.3), 00:00:09/oprit, RP 10.0.0.1, steaguri: SP
Interfață de intrare: Null, RPF nbr 0.0.0.0
Lista interfețelor de ieșire: nulă

(10.0.0.2, 224.12.0.3), 00:00:09/00:02:59, steaguri: PT
Interfață de intrare: Ethernet0, RPF nbr 0.0.0.0
Lista interfețelor de ieșire: nulă

Vedem ca au aparut rute de forma (S,G), de exemplu (10.0.0.2, 224.12.0.3), i.e. sursa 10.0.0.2 s-a înregistrat, difuzând pentru grupul 224.12.0.3. Și, de asemenea, rutele de la RP la client: (*,G), de exemplu (*, 224.12.0.3) - pe care le vor folosi, așa-numitul arbore comun tuturor.

De îndată ce o solicitare de recepție a canalului 1 ajunge pe interfața MR1 (RP), în tabelul de rutare multicast apar următoarele modificări:

MR1# ruta de expediere

…………………
(*, 224.12.0.1), 00:33:16/00:02:54, RP 10.0.0.1, steaguri: S
Interfață de intrare: Null, RPF nbr 0.0.0.0
Lista interfețelor de ieșire:

(10.0.0.2, 224.12.0.1), 00:33:17/00:03:25, steaguri: T
Interfață de intrare: Ethernet0, RPF nbr 0.0.0.0
Lista interfețelor de ieșire:
Ethernet3, Forward/Sparse, 00:02:37/00:02:53

A devenit clar că cererile pentru acest grup veneau de la portul Ethernet3.

verificare RPF

Este posibilă o situație când routerul primește un flux multicast pe două interfețe. Pe care dintre aceste două interfețe o va considera routerul ca sursă?

Pentru a face acest lucru, efectuează o verificare RPF (Reverse Path Forwarding) - verifică ruta către sursă folosind tabelul obișnuit de rutare unicast și selectează interfața prin care trece ruta către această sursă. Această verificare este necesară pentru a evita formarea buclelor.

Scriitor senior de tehnologie

Cineva ți-a trimis un e-mail Fișierul PIM și nu știți cum să îl deschideți? Poate ați găsit un fișier PIM pe computerul dvs. și vă întrebați ce este? Windows vă poate spune că nu îl puteți deschide sau, în cel mai rău caz, puteți întâlni un mesaj de eroare corespunzător legat de fișierul PIM.

Înainte de a putea deschide un fișier PIM, trebuie să aflați ce fel de fișier este extensia de fișier PIM.

Sfat: Erorile de asociere incorectă a fișierelor PIM pot fi un simptom al altor probleme de fond în Windows sistem de operare. Aceste intrări nevalide pot produce, de asemenea, simptome asociate, cum ar fi porniri lente ale Windows, înghețarea computerului și alte probleme de performanță a computerului. Prin urmare, este foarte recomandat să scanați registrul Windows pentru asocieri de fișiere nevalide și alte probleme legate de un registru fragmentat.

Răspuns:

Fișierele PIM au Fișiere comprimate, care este asociat în principal cu fișierul Manager de informații personale.

Fișierele PIM sunt, de asemenea, asociate cu PixMaker Project File, Ultimate Draw Pascal Text Mode Image, PIMPLE Compressed File (Ilia Muraviev) și FileViewPro.

Tipuri suplimentare de fișiere pot folosi, de asemenea, extensia de fișier PIM. Dacă cunoașteți orice alte formate de fișiere care utilizează extensia de fișier PIM, vă rugăm să ne contactați pentru a ne putea actualiza informațiile în consecință.

Cum să vă deschideți fișierul PIM:

Cel mai rapid și simplu mod de a vă deschide fișierul PIM este să faceți dublu clic pe el. ÎN în acest caz, sistem Windows ea va alege programul necesar pentru a vă deschide fișierul PIM.

În cazul în care fișierul dvs. PIM nu se deschide, este foarte probabil ca software-ul necesar să nu fie instalat pe computer. programul de aplicare pentru a vizualiza sau edita fișiere cu extensii PIM.

Dacă computerul dvs. deschide fișierul PIM, dar acesta este programul greșit, va trebui să modificați setările de asociere ale fișierului registry din Windows. Cu alte cuvinte, Windows asociază extensiile de fișiere PIM cu programul greșit.

Instalați produse opționale - FileViewPro (Solvusoft) | | | |

Instrumentul de analiză a fișierelor PIM™

Nu sunteți sigur ce tip de fișier PIM este? Doriți să obțineți informații precise despre un fișier, despre creatorul acestuia și despre cum poate fi deschis?

Acum puteți obține instantaneu totul informatiile necesare despre fișierul PIM!

Revoluționarul PIM File Analysis Tool™ scanează, analizează și raportează informații detaliate despre fișierele PIM. Algoritmul nostru în curs de brevetare va analiza rapid fișierul și va oferi informații detaliate în câteva secunde într-un format clar, ușor de citit.†

În doar câteva secunde, veți ști exact ce tip de fișier PIM aveți, aplicația asociată fișierului, numele utilizatorului care a creat fișierul, starea de securitate a fișierului și alte informații utile.

Pentru a începe analiză gratuită pur și simplu trageți și plasați fișierul dvs. PIM în linia punctată de mai jos sau faceți clic pe „Răsfoiește computerul meu” și selectați fișierul. Raportul de analiză a fișierului PIM va fi afișat mai jos, chiar în fereastra browserului.

Trageți și plasați fișierul dvs. PIM aici pentru a începe analiza

Vizualizați computerul meu »

Vă rugăm să verificați și fișierul meu pentru viruși

Fișierul dvs. este analizat... așteptați.

Protocolul PIM (Protocol Independent Multicast) oferă două scenarii de multicast diferite. Așa-numitul mod de operare dens al protocolului este proiectat pentru o situație în care membrii unui grup de distribuție sunt localizați dens, adică majoritatea routerelor dintr-o anumită zonă sunt implicate în datagrame multicasting.

Modul rar de funcționare al protocolului este destinat cazului în care există relativ puține routere ale căror gazde sunt membre ale unui grup și aceste routere sunt împrăștiate departe unul de celălalt.

Dezvoltatorii protocolului PIM au remarcat mai multe consecințe ale fiecăruia dintre modurile de funcționare ale protocolului. Deoarece majoritatea routerelor participă la multicasting în modul dens, este rezonabil să presupunem că toate routerele ar trebui să facă acest lucru. Pentru această situație, metoda de rutare de inundații folosită în protocolul RPF este potrivită, atunci când datagramele de grup sunt transmise către toate routerele de grup (cu excepția celor care se depărtează în mod explicit de arbore). În modul rar, pe de altă parte, routerele care trebuie să participe la multicast sunt puține și îndepărtate. În acest caz, metoda protocolului RPF de a forța în mod constant routerul să trimită mesaje de întrerupere pentru a evita primirea traficului multicast de care nu are nevoie este mult mai puțin atractivă. În modul rar, protocolul presupune că routerul implicit nu participă la multicasting. Adică, routerul nu trebuie să ia nicio măsură decât dacă dorește să se alăture grupului de distribuție. Un astfel de raționament presupune alegerea unui nod central către care routerele trimit în mod explicit mesaje prin care solicită să se alăture unui anumit grup de distribuție. Routerele rămase nu participă în niciun fel la multicast. Astfel, modul rar al protocolului poate fi considerat ca fiind condus de receptor (nu se întâmplă nimic până când destinatarul declară în mod explicit dorința de a se alătura grupului), iar modul dens al protocolului poate fi considerat comandat de expeditor (emițătorul difuzează datagrame). tuturor, cu excepția cazului în care routerele nu își vor declara în mod explicit refuzul de a le primi).

În modul de operare dens, protocolul PIM implementează metoda de rutare a inundațiilor de-a lungul rutelor inverse cu tăieturi, adică, de fapt, seamănă cu protocolul DVMRP. Amintiți-vă că protocolul PIM este independent de protocolul selectiv (unicast) subiacent. Cu alte cuvinte, protocolul PIM poate interopera cu orice protocol de rutare unicast. Deoarece PIM nu impune nicio cerință asupra protocolului de rutare unicast subiacent, algoritmul său pentru transmiterea datelor de-a lungul rutei inverse este oarecum mai simplu decât DVMRP, dar este și mai puțin eficient.

În modul de operare rar al protocolului PIM, este utilizată metoda nodului central (RFC 2189, RFC 2201), similară cu cea utilizată în protocolul de rutare multicast anterior CBT (Core-Based Tree - un arbore cu un vârf în nucleu) . În protocolul PIM, routerele trimit un mesaj JOIN (join) către un router central, numit punct de întâlnire, pentru a se alătura arborelui. Ca și în protocolul CBT, routerele intermediare intră în starea multicast și transmit mesajul JOIN către punctul de întâlnire. Spre deosebire de protocolul CBT, protocolul PIM nu trimite o confirmare ca răspuns la un mesaj JOIN. Mesajele JOIN sunt trimise periodic în amonte pentru a actualiza starea arborelui de rută a protocolului PIM. O altă caracteristică a protocolului PIM este abilitatea de a comuta de la un arbore la nivel de grup la un arbore specific expeditorului după alăturarea unui punct de întâlnire. Acest lucru poate fi util deoarece utilizarea mai multor arbori construiti pentru anumiți expeditori reduce concentrarea traficului.

În modul PIM rar, un router care primește o datagramă de la una dintre gazdele sale conectate o trimite la punctul de întâlnire. Punctul de întâlnire transmite apoi această datagramă de-a lungul arborelui comun al grupului utilizând rutarea multicast. Dacă niciun router nu s-a alăturat arborelui (adică această sursă multicast nu are destinatari), expeditorul este notificat de punctul de întâlnire că ar trebui să nu mai trimită datagrame.

Protocolul PIM este implementat pe multe routere și este, de asemenea, implementat pe UUNet ca parte a unui proiect de livrare media în flux. Un alt protocol de rutare multicast implementat este MOSPF (Multicast OSPF). MOSPF (RFC 1584) funcționează pe sisteme autonome care utilizează OSPF pentru distribuție selectivă (vezi rutare Internet) și este o extensie protocol OSPF. În acest protocol, routerele adaugă informații despre apartenența la grup a gazdelor lor la notificările despre starea conexiunii pe care le difuzează.

Protocol de rutare multicast vector distant

  • Prima, nah! protocol de rutare pentru multicast.
  • Implementare în modul dens
  • Distanță-vector
  • RPF nu utilizează un tabel Unicast.
  • Puteți utiliza tunelul între insulele Unicast.
  • Informațiile de rutare utilizează un protocol separat pentru transmisie.

PIM

Multicast independent de protocol

  • Utilizează tabelul de rutare unicast pentru verificarea RPF. Utilizează orice IGP, BGP sau ambele.
  • ASM: rar / dens / rar-dens / bidirecțional moduri.
  • Versiunea 1 (încapsularea mesajelor în IGMP, trimis la 224.0.0.2)/ 2 (încapsularea mesajelor în protocolul 103, trimis la 224.0.0.13). Poate fi folosit împreună chiar și pe aceeași interfață.
  • Separat există SSM.

Modul dens

Potrivit pentru utilizare cu un număr mare de destinatari dintr-o rețea.

Mesaje

  • Buna ziua: a găsi și întreține un cartier.
  • Alăturați/tundeți: au același format de mesaj. În modul dens, mesajele de tăiere sunt folosite pentru a informa routerul din amonte că grupul a fost respins.
  • Gret/gref-ack: grefa este folosit pentru a solicita trafic de la un router din amonte care a primit deja o solicitare de tăiere.
  • Afirma: pentru a selecta redirecționerul gesemnat (DF) pentru un segment în care > 1 router.

Cartier

Vecinătatea este stabilită și întreținută folosind mesaje de salut. În funcție de versiune, trimiteți casca la adresa dorită.

  • Versiunea 1 (încapsularea mesajelor în IGMP, trimis la 224.0.0.2)
  • Versiunea 2 (încapsularea mesajelor în protocolul 103, trimis la 224.0.0.13).

mesajele de salut pot conține timp de așteptare - cât timp va fi treaz vecinul fără a trimite salut. Pe Junos, dacă holdtimer = 0, atunci routerul va folosi un temporizator local. Implicit = 105 sec.

Alegerea routerului desemnat

Dens: este indicat să folosim doar dacă folosim IGMPv1, deoarece nu are un mecanism de contor pentru selectarea unui router de interogare.

Inundaţii

Multicast folosește SPT pentru livrare.

  • Toate routerele vor primi o copie a fluxului original.
  • Fiecare router efectuează o verificare RPF. Pachetele care eșuează verificarea RPF sunt aruncate.
  • Pachetele care trec verificarea RPF sunt copiate și inundate în toate porturile (OIL), cu excepția portului din care a venit traficul (IIF).
  • (S,G) este creat pe fiecare router (chiar și cei care nu au deloc receptori).
  • Routerele care nu au receptorii direct activați trebuie să trimită periodic o prune pentru a fi excluse din arborele SPT.

Eliminarea traficului nedorit

Prune se trimite în următoarele cazuri:

  1. Dacă nu există destinatari conectați la router.
  2. Dacă routerul primește prune de la routerul din aval.

Informațiile (S,G) sunt stocate pe router timp de 3 minute. Dacă apare un nou destinatar sau cade unul vechi, routerul nu va reacționa imediat la modificări, nu va aștepta un timeout de 3 minute, ci va actualiza imediat informațiile.

Prune trebuie trimis periodic, deoarece există un anumit timeout, după care traficul multicast este reluat difuzarea către toate porturile.

Arborele bazat pe sursă

Ca urmare, după trimiterea tuturor prunelor, în rețea apare arborele cu calea cea mai scurtă, de-a lungul căruia circulă ulterior traficul.

Tunderea pe rețea milti-acces

Când routerul (R2) trimite o prune către routerul din amonte, un alt router din același segment de acces multiplu (R1) poate fi afectat.

Routerul de pe același segment (R1) are 2 secunde pentru a trimite o legătură către routerul din amonte și, prin urmare, să distrugă prune de la R2.

În acest caz, traficul va curge către R2, dar routerul în sine nu îl va transmite altor routere, deoarece nu există destinatari.

Altoire înapoi

SPT este deja instalat, dar un nou destinatar a apărut în rețea.

Routerul, după ce a primit un raport IGMP de la destinatar, generează un mesaj Graft și îl trimite prin SPT la sursa de pe ruterul din amonte. Sursa este cunoscută, pentru că Toate routerele stochează înregistrări (S,G).

Routerul cel mai apropiat de sursă, ca răspuns la mesajul de grefare, generează un mesaj de confirmare a grefei și îl trimite la comutatorul de destinație. Înregistrarea (S,G) este salvată pe același router, dar fără interfețe OIL. După primirea raportului, lista de interfețe OIL este actualizată și un mesaj Join este trimis la sursă.

După aceasta, destinatarul își vede traficul prețuit fără să aștepte vreun timeout.

Mecanismul de afirmare în rețelele MultiAcces

Într-un segment cu acces multiplu, mai multe routere pot începe să trimită trafic către destinatari. Pentru a evita acest lucru, au loc alegeri DF.

Mesajul Assert conține următoarele informații: sursă, grup, preferință de metrică, metrică. Câștigă cea mai mică valoare a valorii pref/valorii valorii. dacă valorile sunt egale, atunci câștigă cel mai mare IP al routerului.

În același timp, routerul din aval se reabonează cumva inteligent la grup, care în cele din urmă primește trafic de la un singur router.

Configurare

În mod implicit, atunci când adăugați o interfață la protocoalele pim, versiunea 2, modul sparse este activat.

Setare protocoale pim assert-timeout 180 setare protocoale pim interfață ge-0/0/0.0 mod prioritate densă 1 hello-interval 30 afișare interfețe pim arată pim vecini arată pim vecini detaliu arată pim join arăta extins pim sursă detaliu show multicast rpf Afișează ruta multicast Afișează tabelul de rute inet.1 Afișează tabelul de rute inet.1 Afișează extins multicast Next-hops Afișează statisticile pim Afișează utilizarea multicast

puteți folosi opțiunile de urmărire

Mtrace din grupul sursă 224.7.7.7 ttl 20 sursă || lansat de la routerul cel mai apropiat de destinatar

Sursa ping:

Ping 224.7.7.7 ttl 10 interfață ge-0/0/0.900 bypass-routing || este lansat de la routerul cel mai apropiat de destinatar.

Ping-ul destinatarului: îl poți diagnostica și cumva, dar va trebui să te încurci.

Mod rar

Arborele partajat (arborele punctului de întâlnire) = (*,G)

Arborele bazat pe sursă (arborele cu cea mai scurtă cale (SPT)) = (S,G)

Mai adaptat la realitate: doar routerele interesate de flux primesc fluxul. Lucrați în 2 moduri: ASM/SSM. Când rulați ASM, este necesar RP.

  • D.R.(ruter desemnat) - se ocupă numai cu trimiterea mesajului-registru, alăturați mesajului într-o rețea cu acces multiplu.
  • DF(transmisor desemnat) - se ocupă cu transmiterea traficului către rețeaua cu acces multiplu.

Mesaje

  • Buna ziua: căutarea vecinilor, întreținerea vecinilor, alegerea DR în rețeaua multi-acces. (trimis la adresa dst 224.0.0.13, src-adderss - interfață p2p)
  • Alăturați-vă/Tădeți: abonare/dezabonare. (trimis la adresa dst 224.0.0.13, adresa src - interfață p2p)
  • Afirmați mesajele: selecții de router desemnat (DR).
  • Înregistrare/înregistrare-oprire: mesaje între sursă și RP.
  • Bootstrap și candidat-RP: pentru ca bootstrap să funcționeze.

Router desemnat

Rară: Alegerea routerului se face atât din partea destinatarilor, cât și a surselor.

  • receptor DR: Trimite mesaje PIM join și PIM elimina de la receptori către RP.
  • sursă DR: Trimite mesaje de registru PIM de la sursă către RP.

Selecția se bazează pe câmpul de prioritate DR din mesajele de salut. Implicit = 1. Poate fi setat manual. O prioritate mai mare este mai profitabilă. Dacă prioritățile sunt egale, atunci câștigă cel cu cel mai mare ip.

Setați protocoalele pim interfețe xe-0/0/0.50 prioritate 50

Puteți activa selecția DR pe o legătură p2p.

Setați protocoale pim dr-election-on-p2p

Operațiuni de alăturare, Receptor -> RP

Routerul primește un raport (*,G) de la abonat. Routerul nu știe ce sursă va fi folosită, așa că redirecționează pachetul către routerul din amonte nu către sursă, ci către RP.

În construcție arbore punct de întâlnire (RPT) sau arbore comun.

Sursa DR -> RP

RP primește un mesaj de înregistrare, îl decapsulează și începe să trimită un multicast pur către interfața la care a venit raportul pentru a se abona la acest grup.

Dacă RP are abonați la grupul dorit, atunci RP trimite un join (S,G) la sursă. După aceasta, se construiește un arbore bazat pe sursă. Iar routerul conectat la sursă va putea trimite un multicast pur în direcția RP. Într-o perioadă scurtă de timp, RP va primi 2 copii ale aceluiași trafic, pentru a se dezabona de la multicastul încapsulat, RP trimite registru-oprire la sursa DR.

Dacă RP primește un registru de la o sursă, dar nu are abonați la acest grup, atunci RP va trimite registru-oprire către sursă.

Dacă există un router între RP și sursă, atunci routerul intermediar va accepta înregistrare-oprire și va începe să renunțe la traficul multicast, dar sursa va continua să-l trimită.

Dacă apare o nouă sursă, întregul scenariu se va repeta din nou: register -> RP, (S,G) -> source, multicast -> RP, register-stop -> source.

De asemenea, o înregistrare (S,G) va fi salvată pe RP, adică dacă apar destinatari, RP va trimite cererea direct la sursă.

De asemenea, routerul dintre sursă și RP va trimite un registru către RP la fiecare 3 minute, astfel încât RP să știe că sursa este încă în viață.

Cerințe pentru tunel

RP și DR sursă necesită tunelare. (Nu este necesar doar dacă RP=DR).

Capacitățile de tunel variază în funcție de platformă. Uneori chiar trebuie să achiziționați echipamente suplimentare (plăci).

Pe seria MX, tunelul este activat după cum urmează:

Setați șasiu fpc X pic X tunel-servicii lățime de bandă 1g

Examinare:

Arată interfețele aici | potrivi "pe|pd"

Comutare SPT

În situațiile în care există routere (R6) pentru care calea către sursă prin RP nu este optimă, arborele este reconstruit.

Există un receptor pe R6. R6 trimite (*,G) către RP. Un pachet (S,G) sosește de la RP. În acest caz, R6 află despre sursă.

Dacă R6 vede o cale mai optimă către sursă, atunci trimite (S,G) la sursă de-a lungul acestei căi (la R1 - cel mai apropiat de sursă).

Routerul din amonte, după ce a primit (S,G), caută și o cale mai scurtă și trimite (S,G) unirea topologiei.

Când un arbore bazat pe sursă este instalat între R1 și R6, traficul multicast poate merge direct de la R1 la R6. Există o perioadă scurtă de timp în care R6 va primi 2 copii ale multicastului.

R6 trimite un mesaj prune uptream către router către RP. RP va verifica dacă nu mai există destinatari ai grupului specific și va trimite o prune (S,G) la sursa DR.

Drept urmare, traficul se va derula în mod optim.

Dar pe R6 (cel mai apropiat de destinatar) vor exista 2 înregistrări despre grup:

  • (S,G) - unde se va specifica starea din amonte: Alăturați-vă la sursă, Prune de la RP. Și în interfața de intrare: interfață către R1 (cel mai apropiat de sursă).
  • (*,G) - starea în amonte este specificată ca: Alăturați-vă la RP. Interfață de intrare: interfață către RP.

(S,G)- mai specific.

Următoarele informații vor fi stocate pe RP: (S,G)Sate: Grupul x.x.x.x, Sursa: a.a.a., Stare în amonte: Tunde la sursă

R.P.

RP trebuie folosit în mod rar.

  • RP ar trebui să fie amplasat optim, de preferință mai aproape de surse, pentru a nu conduce volume mari de trafic din surse și pentru a elimina la maximum schimbarea benzilor către spt.
  • Încapsularea și dezcapsularea traficului de la sursă se realizează prin utilizarea serviciilor-tunel. Serviciile de tunel nu sunt necesare dacă DR = RP.
  • Pentru un grup - 1 RP.
  • Pentru fiabilitate, există 3 mecanisme pentru a găsi rp: static, auto-RP, bootstrap. Puteți folosi totul deodată, apoi după preferință: BSR -> auto-RP -> static.
  • Anycast-RP poate fi utilizat cu oricare dintre mecanismele de găsire a RP (puteți citi apoi aici: http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/ip- multicast/ whitepaper_c11-508498.html).

RP static

Înregistrat manual. Minus - fără rezervări. În cazul în care RP este mort, trebuie să corectați manual configurația.

Suprascriere- la utilizarea mai multor mecanisme de căutare RP, static are o prioritate mai mică. Override - va face din aceasta o prioritate pentru alții.

Setați protocoalele pim rp adresa locală x.x.x.x setați protocoalele pim rp local group-ranges 227.0.0.0/24 - RP va funcționa numai cu aceste grupuri (implicit: toate IPv4, IPv6). setați protocoale pim rp local override

Nu RP:

Setați protocoale pim rp adresa statică x.x.x.x

Auto-RP

  • Folosit cu PIMv1 și v2.
  • Soluție proprietară non-standard (cum ar fi de la Cisco, fără RFC).
  • Permite rezervări RP, dar nu echilibrează între RP.
  • Utilizează multicast pentru a distribui informații legate de RP - dense-mode.
  • Un set de corespondențe grup-RP este distribuit în domeniul PIM.

Componente:

  • Candidat-RP (C-RP): trimite periodic informații despre ei înșiși către 224.0.1.39 (numai agentul de cartografiere ascultă) (anunță mesaje).

Anunțați mesajul:

C-RP IP | 224.0.1.39 | grupa 224/4

  • Agent de cartografiere: ascultă C-RP, selectează RP pentru fiecare grup (cel mai mare ip), anunță câștigătorul RP pentru grup pe 224.0.1.40 (Mesaj de descoperire - toate routerele auto-rp ascultă).

Mesaj de descoperire/mesaj de cartografiere:

Agent de cartografiere IP | 224.0.1.40 | RP 1 - grupa 224/4

RP este selectat pentru grupuri.

Dacă RP moare, agentul de cartografiere selectează un nou RP. În general, timpul de cădere este de câteva minute.

Configurare

Asigurați-vă că îl porniți pe toate routerele modul rar-densși includ 2 grupuri prin care sunt transmise informații de serviciu. Dens - pentru transferul informațiilor de serviciu, Rar - trafic.

Setați protocoale interfața pim toate modurile setați protocoale rar-dense setați protocoale pim dense-groups 224.0.1.39 setați protocoale pim dense-groups 224.0.1.40

Setați protocoale pim rp auto-rp discovery

descoperire- primirea doar a mesajelor de cartografiere (grup-RP).

Setați protocoalele pim rp adresa locală 10.200.86.3 setați protocoalele pim rp auto-rp announce

anunta - fără adresă locală: ascultă doar mesajele de anunț, de la adresa locală: ascultă și trimite anunț.

RP + agent de cartografiere:

Setați protocoalele pim rp adresa locală 10.200.86.3 setați protocoalele pim rp auto-rp mapping

cartografiere- permite trimiterea (și primirea) atât a mesajelor de anunț (C-RP) cât și de cartografiere (grup-RP). Dacă adresa locală nu este configurată pe router, atunci routerul va putea trimite doar anunta.

Unele Agent de cartografiere, configurați numai pentru ei:

Setați protocoale pim auto-rp mapping mapping-agent-election

Agentul de cartografiere cu cel mai mic IP (pierdut) nu mai trimite mesaje de mapare către rețea atunci când primește un mesaj de mapare de la agentul cu IP-ul mai mare.

Setați protocoale pim auto-rp mapping no-mapping-agent-election

Bootstrap

  • Funcționează numai cu PIMv2. Mesajele PIMv2 sunt folosite pentru a disemina informații.
  • RP de rezervă oferă un mijloc de protecție împotriva căderilor de RP și o anumită echilibrare pentru aceleași grupuri între RP. Dar tot pentru 1 grup activ- Se folosește 1 RP.
  • comunicațiile între routere au loc cu interfața sursă Lo a routerului. Prin urmare, Lo trebuie să fie rutabil. Puteți verifica: arată pim bootstrap

Componente:

  • Candidat-RP: BSR se anunță prin unicast (mesaj publicitar).
  • Router Bootstrap: selectat pe baza cea mai mare prioritate(denumit în continuare cel mai mare ip), primește notificări de la C-RP, determină corespondența RP/grup - acesta este RP-set, include RP-set în mesajele bootstrap și îl distribuie în rețea.

BSR este doar un router care va transmite informații: RP-set: RP<->grupuri. Adică în ieșire: sh pim rps vom vedea toate RP.

Alegeri:

  1. Selecția BSR: Fiecare router presupune că este BSR. Generează mesaje BSR către alte BSR (ip+priority+empty RP-set). Când routerul primește un mesaj BSR cu o prioritate mai mare (sau un ip mai mare), nu mai generează mesaje. Routerul BSR selectat continuă să genereze mesaje, perdanții BSR rămași pur și simplu transmit aceste mesaje vecinilor lor. Că. toate routerele știu despre BSR activ. BSR generează un mesaj BSR care conține IP-ul BSR, un RP-set gol. DA = 224.0.0.13.
  2. C-RP-urile transmit informații despre ei înșiși către BSR: ip-ul lor, listează intervalul de grup.
  3. BSR colectează alertele C-RP și le plasează într-un set RP (RP + interval de grup). Trimite setul RP către toate routerele PIM.
  4. Fiecare router PIM selectează un RP valid pentru grup: face un hash de ip C-RP, interval de grup, mască. Cel mai mic hash pentru grup determină RP-ul ales.

Pentru a exclude un router din selecție (astfel încât să nu mai trimită mesaje BSR), îi puteți seta prioritate = 0. Configurare

Setați protocoalele pim rp local 10.200.86.3 setați protocoalele pim rp bootstrap priority 200

nu este necesară nicio configurație specială, PIM trebuie doar să fie activat pe interfețe.

Nu puteți avea Auto-RP și Bootstrap activate în rețea în același timp.

Blair> show pim bootstrap Instanță: PIM.master BSR Pri Adresă locală Pri State Timeout 10.200.86.3 200 10.200.86.1 100 Candidate 110 oban> show pim rps Instanță: PIM.master Adresă familie INET RP Adresă Tip Mod Group Holdtime20Timeout 10 Grupuri .86.1 bootstrap rar 150 145 0 224.0.0.0/24 10.200.86.3 bootstrap rar 150 Niciunul 1 235.0.0.0/8 10.200.86.9 bootstrap rar 150 142.2.01 2.0.0.0/8 3 static rar 150 Nici unul 1 235.0.0.0/ 8

Anycast RP

Poate fi folosit cu sau fără MSDP.

  • pe el adăugăm o altă adresă. Este mai bine să faceți adresa inițială lo principală, adresa anycast - lăsați-o așa cum este.
+ primar; +preferat; 172.30.5.254/32;
  • adresa 172.30.5.1/32 ( ... ) + adresa
Legăturile nni și lo sunt adăugate la protocoalele pim. Specificați noua adresă lo ca adresă RP
  • rp ( local ( adresa 172.30.5.254; interfața ge-0/0/0.208; interfața ge-0/0/2.200; interfața ge-0/0/3.204; interfața lo0.0);
Construim un cartier MSDP între PE, care va servi drept RP. Cartier la adrese lo-primare.

+ msdp ( + peer 172.30.5.2 ( + local-address 172.30.5.1; *dacă nu vrem să folosim MSDP, atunci ne putem descurca fără el. Folosim toți pașii anteriori și apoi: + rp ( + local ( + family inet ( + adresa 172.30 .5.254; + anycast-pim ( + rp-set ( + adresa 172.30.5.2; + local-adresa 172.30.5.1);

Trecerea arborelui cu calea cea mai scurtă (nu comutați la arborele cu calea cea mai scurtă)

setați protocoale pim spt-threshold infinit no-spt set policy-options declarație-politică no-spt termen 1 din filtru-rută 235.4.5.6/32 set exact opțiuni-politică declarație-politică no-spt termen 1 din filtru-sursă-adresă 10.66.66.2/32 set exact de opțiuni de politică declarație de politică no-spt termen 1 apoi acceptă set de opțiuni de politică declarație de politică no-spt termen 2 apoi respinge

Acest lucru se face pentru a limita statut suplimentar(S,G), care este creat atunci când treceți la un arbore bazat pe sursă.

Sau dacă, din alte motive, nu este benefic ca cel mai recent router să fie reconstruit la SPT.

Echilibrare de încărcare PIM join

setați protocoale pim join-load-balance

Dacă există mai multe căi echivalente către sursă, va fi folosită doar 1 (deoarece doar 1 va trece verificarea RFP, căile alternative vor fi inactive). Aceasta înseamnă că atât conexiunile la routerul din amonte, cât și traficul către aval vor fi echilibrate.

Folosind comanda de mai sus, pot fi utilizate mai multe interfețe către sursă.

B.F.D.

Detectarea redirecționării bidirecționale funcționează și poate fi configurată și pentru PIM.

setați protocoale pim interfață ge-1/0/0.900 family inet bfd-liveness-detection

Cronometre

set protocoale pim join-prune-timeout 230 || implicit 210 setate protocoale pim reset-tracking bit || în rețelele cu acces multiplu pentru a configura suprimarea îmbinărilor de la mai multe routere.

set protocoale pim propagation-delay 500 || timp, pisica determină cât timp să aștepte ca prune să se execute pe routerul din amonte. În acest timp, routerul așteaptă orice mesaje de conectare de anulare a tăierii de la alte routere.

arată interfețele pim arată vecinii pim extins || puteți vedea RX Alăturați-vă grupurilor!! arata statica pim || statisticile diferitelor pachete arată utilizarea multicast arată ruta multicast extins || informatii despre grupurile prezente pe acest router show route table inet.1. || tabelul de redirecționare arată multicast next-hops arată pim join extensive || printre altele, este util: „Starea în amonte: Join to Source, Prune to RP” show pim source detail show multicast rpf x.x.x.x show pim rps || care rps sunt cunoscute, prin care mecanism, care set de grupuri vine arata pim rps extensive || pe lângă ceea ce este mai sus, sunt vizibile grupuri specifice, statut, timp activ și multe alte detalii show pim bootsrap || opțiuni de urmărire a routerului BSR activ || pentru diagnosticare, nu uitați să activați afișarea vecinilor pim Instanță: PIM.master Interfață IP V Mode Opțiune Uptime Neighbor addr xe-1/1/0.910 4 2 HPLGT 13w2d5h 212.1.253.189 xe-1/2/0.822 4 2: HPLG 4 2 08:00 192.168.152.49 B = Capacitate bidirecțională = modul bidirecțional acceptat G = Identificator generație = repornire grațioasă activată pentru pim H = Timp de reținere al opțiunii Hello, L = Întârziere de tăiere a opțiunii Hello, P = Prioritate DR al opțiunii Hello, T = Bit de urmărire = Suprimarea unirii este acceptată, dacă nu există T, atunci vecinul este configurat: reset-tracking-bit arata-i detaliile vecinilor Interfata: xe-1/2/0.822 Adresa: 192.168.152.49, IPv4, PIM v2, sg Număr de alături: 2, tsg Join Count: 0 BFD: Dezactivat Hello Option Holdtime: 105 secunde 102 rămase Hello Option DR Priority: 1 Hello Option Generation ID: 1593016797 Hello Option LAN Prune Delay: întârziere 1000 ms override 3000.1 ms Adresa IPv. v2, Mod: Sparse, sg Join Count: 0, tsg Join Count: 0 Hello Option Holdtime: 65535 secunde Hello Option DR Prioritate: 1 Hello Option Generation ID: 1898464853 Hello Option LAN Prune Delay: întârziere 500 ms Suprimare Join Suprimare 2000 pim (traceoptions (fișier pim.log dimensiune 10m; semnalați toate;

PIM Join și PIM Prune pot fi vizualizate la statistici pim(atât primit cât și trimis).

> arată interfața statistică pim xe-1/2/0.822 Instanță: PIM.master Familie: INET Statisticile interfeței PIM pentru xe-1/2/0.822 PIM Tip mesaj primit Erori trimise Rx V2 Bună ziua 389 413 0 Registrul V2 0 0 0 Oprire registru V2 0 0 0 V2 Join Prune 0 195 0

Interfața de monitorizare a traficului nu va afișa PIM Join, PIM Prune. Dacă trebuie să monitorizați pachetele de intrare și de ieșire, puteți doar îngheța traficul.

Cu opțiunile de urmărire activate, alăturarea este, de asemenea, clar vizibilă (de ieșire):

Opțiuni de urmărire ( dimensiunea fișierului pim.log 10 m; semnalați toate; detaliu alăturare semnalizare; detaliu tăiere semnalizare; > afișați jurnalul pim.log | potrivire 235.69.101. 13 oct 13:21:50.354863 grup 235.69.101.1 se alătură 1 prune 0 13 oct. :21:50.354881 grupul 235.69.101.2 se alătură la 1 prune 0 Oct 13 13:21:50.354897 grup 235.69.101.4 se alătură 1 prune 0 Oct 13 13:21:50.354913 1 grup 1 prune 1 3 13:21:50.354929 grup 235.69.101.19 se alătură la 1 prune 0 Oct 13 13:21:50.354944 grup 235.69.101.20 se alătură 1 prune 0

Modul bidirecțional

La fel ca și Sparse, numai în routerele PIM bidirecționale se construiesc arbori bidirecționali partajați și nu trec la SPT. Din acest motiv, numai (*,S) sunt utilizate în timpul funcționării.

Acest mod este considerat a fi mai scalabil pentru rețea.

Spre deosebire de PIM-SM, în acest mod nu este necesară tunelarea Registrului PIM.

Protocolul PIM-SM este una dintre cele două versiuni ale protocolului PIM (Protocol Independent Multicast) descrise în specificația RFC 2362:

  • versiuni de mod dens PIM-DM (Protocol Independent Multicast - Dense Mode);
  • versiuni ale modului descărcat PIM-SM (Protocol Independent Multicast - Sparse Mode).

Aceste versiuni diferă semnificativ în modul în care construiesc și utilizează arborele întindere, dar au și un lucru în comun. Este inclusă în numele fiecăruia dintre aceste protocoale și înseamnă independență a acestui protocol din protocoale de rutare specifice. Dacă DVMPR utilizează mecanisme RIP în funcționarea sa, iar protocolul MOSPF este o extensie a protocolului OSPF, atunci protocolul PIM poate funcționa împreună cu orice protocol de rutare. Protocolul PIM utilizează tabele de rutare gata făcute pentru a transmite pachete multicast și mesaje de serviciuși nu contează pentru el ce protocol folosesc routerele pentru a construi aceste tabele.

Protocolul PIM-DM este similar cu protocolul DVMPR. Acesta, fiind, de asemenea, un protocol de mod dens, construiește arbori pentru livrarea pachetelor multicast cu partea de sus la sursă, folosind verificări pentru progresul pe calea inversă și tehnici de difuzare și trunchiere. Principala diferență este că PIM-DM utilizează o tabelă de rutare gata făcută, mai degrabă decât să o construiască singur, așa cum o face DVMPR.

Caracteristica principală a protocolului PIM-SM este că este proiectat să funcționeze în modul descărcat, adică trimite pachete multicast numai atunci când este solicitat în mod explicit de către destinatar. Pentru a furniza date fiecărui grup specific de destinatari, protocolul PIM-SM construiește un arbore partajat, comun tuturor surselor acestui grup (Fig. 1).

Orez. 1. Arborele de protocol PIM-SM partajat

Partea de sus a arborelui partajat nu poate fi localizată în sursă, deoarece pot exista mai multe surse. Ca vârf al arborelui partajat, se folosește un router special dedicat acestui scop, care îndeplinește funcțiile de punct de întâlnire (RP). Toate routerele dintr-un domeniu PIM-SM trebuie să aibă informații consistente despre locația punctului de întâlnire. Grupuri diferite pot avea aceleași puncte de întâlnire sau diferite.

Cel mai comun și poate cel mai într-un mod simplu Configurarea punctelor de întâlnire locale (în cadrul unui domeniu PIM-SM) înseamnă a le atribui static între mai multe routere ale unui anumit domeniu. Acest lucru are ca rezultat o configurație foarte specifică și facilitează găsirea erorilor în viitor decât în ​​cazul altor abordări.

Pentru destinatarii fiecărui grup specific și sursele care difuzează către acest grup, routerul punctului de întâlnire este intermediarul care îi conectează între ei.

Procesul de livrare a traficului de grup de la o sursă către destinatarii aparținând unui anumit grup folosind protocolul PIM-SM poate fi reprezentat în trei etape:

1. Construirea unui arbore partajat cu un vârf la punctul de întâlnire, care descrie căile de livrare a pachetelor de grup între punctul de întâlnire și membrii acestui grup. Acest arbore mai este numit și Arborele Punctului de întâlnire (RPT).

2. Construirea unui arbore cu calea cea mai scurtă (SPT), care va livra pachete între sursa acestui grup și punctul de întâlnire.

3. Construirea unui set de arbori SPT, care, de dragul creșterii eficienței, va fi folosit pentru a livra pachete direct între sursă și fiecare dintre destinatarii grupului.

NOTA

Ordinea etapelor nu este fixă. De exemplu, sursele multicast pot începe să transmită înainte de a exista ascultători interesați de acel trafic, sau cel mai scurt arbore de cale între sursă și ascultătorii săi poate să fi fost deja construit atunci când se face acest lucru. cerere nouă să se alăture grupului.

Să ne uităm la funcționarea protocolului PIM-SM folosind un exemplu simplu. În fig. Figura 2 prezintă o rețea cu un singur domeniu în care protocolul PIM-SM stabilește o conexiune între un destinatar A și o sursă 5. Presupunem că funcționarea rețelei corespunde modelului ASM (multicast din orice sursă), protocolul IGMP este implementat pe toate nodurile de rețea și toate routerele acceptă protocolul PIM-SM. De asemenea, vom presupune că punctul de întâlnire este configurat static: atât sursele, cât și destinatarii cunosc adresa individuală a punctului de întâlnire, al cărei rol în această rețea este jucat de routerul D. Pentru a notifica nodurilor de rețea despre adresa punctului de întâlnire, există protocol standard notificare automată numită protocol de pornire.

Orez. 2. Etapa 1 - construirea unui arbore comun

Etapa 1- construirea unui arbore RPT comun de la destinatar până la punctul de întâlnire. Odată ce arborele partajat a fost construit, traficul multicast este transmis de la punctul de întâlnire către destinatarii interesați. Cu toate acestea, procesul de construire a unui arbore comun se mută sens invers- de la destinatari la punctul de întâlnire pe baza unei abordări pas cu pas (hop-by-hop).

Deci, lăsați gazda A să decidă să se alăture grupului G, din acest motiv ea trimite un mesaj de raport de membru IGMP care conține adresa grupului G către rețeaua locală la care este conectată. Acest mesaj va fi primit de routerul C, prin care această rețea locală este conectată la alte rețele.

Routerul C, după ce a primit acest mesaj IGMP de la gazda A, trimite un mesaj de conectare a protocolului PIM-SM la adresa individuală a routerului D, care acționează ca punct de întâlnire. Acest mesaj este transmis în mod obișnuit, pe baza tabelelor de rutare construite de orice protocoale de rutare. Toate routerele intermediare de-a lungul căii de la gazda de destinație la punctul de întâlnire înregistrează starea de progres pentru acel grup. Fiecare router adaugă interfața care a primit mesajul PIM-SM join la lista sa de interfețe prin care traficul grupului menționat în mesaj poate fi livrat destinatarilor interesați. Ca rezultat, se formează un arbore comun pentru acest grup, iar rădăcina lui este punctul de întâlnire.

În exemplul nostru la în această etapă nu există surse active, deci datele multicast nu au ajuns încă la punctul de întâlnire (vezi Fig. 2).

Etapa 2- construirea unui arbore SPT de la sursă până la punctul de întâlnire. Când sursa S devine activă și începe să trimită pachete multicast către rețeaua sa locală, routerul F, la care această rețea este conectată direct, observă că sursa 5 a devenit o sursă multicast. Routerul F trimite un mesaj de înregistrare PIM (registru) la adresa individuală a punctului de întâlnire (routerul D). În acest caz, mesajul de înregistrare este încapsulat într-un pachet multicast de la sursa 5 (Fig. 3).

Când routerul D (punctul de întâlnire) primește mesajul de înregistrare, acesta răspunde cu două acțiuni. În primul rând, transmite datele multicast încapsulate de-a lungul unui arbore partajat (RPT) de la punctul de întâlnire la destinație și, în al doilea rând, trimite un mesaj de conectare PIM înapoi către sursă pentru a crea un arbore cu calea cea mai scurtă (SPT). Acest mesaj este trimis de la un router la altul, cu informațiile de alăturare a grupului înregistrate pe interfețele corespunzătoare.

Odată ce a fost construit cel mai scurt arbore de cale de la sursă la punctul de întâlnire, routerul D începe să primească două copii ale fiecărui pachet multicast. O copie vine de la Sursa 5 pe calea cea mai scurtă nou creată, cealaltă de la Router-ul F, care, continuând să răspundă la activitatea detectată a Sursei 5, trimite din nou un mesaj de înregistrare care conține oa doua copie a pachetului multicast încapsulat. Când routerul de întâlnire recunoaște această situație, trimite un mesaj routerului F pentru a opri înregistrarea. La primirea acestui mesaj pentru o anumită pereche sursă-grup, Router-ul F încetează să genereze mesaje de înregistrare și să încapsuleze pachete de grup sursă în cadrul acestora. În schimb, începe să le trimită în forma lor originală cu o adresă multicast, deoarece în acest moment sursa s-a alăturat deja arborelui grupului, iar acest atașament este înregistrat pe routerele necesare.

Orez. 3. Etapa 2 - înregistrarea sursei cu construirea arborelui de calea cea mai scurtă

Astfel, fluxul de date multicast de la sursa S începe să fie transmis de-a lungul arborelui SPT la punctul de întâlnire și apoi mai departe de la punctul de întâlnire de-a lungul arborelui partajat către toți destinatarii interesați (inclusiv routerul C la care gazda A este conectată).

Etapa 3- construirea unui arbore cu calea cea mai scurtă de la sursă la destinatar. Când Routerul C primește primul pachet multicast, învață din antetul pachetului adresa IP sursă, care în acest caz este Sursa 5. Pe baza acestei adrese, Router C încearcă să construiască un arbore cu calea cea mai scurtă direct de la sursă la el însuși. În exemplul nostru, cea mai scurtă cale este prin Router-ul B. Routerul C trimite un mesaj de unire către Router-ul B, care apoi, la rândul său, trimite un mesaj de unire către Router-ul F. Fiecare dintre ei angajează interfața către care va trimite pachetele grup.

Acum că a fost construit cel mai scurt arbore de cale pentru pereche (sursa 5, destinația A), ruterele F, B și C încep să transmită pachete multicast de-a lungul acestuia. Când pachetele încep să sosească la Router-ul C, acesta descoperă două copii ale fiecărui pachet - una care ajunge pe noua cale cea mai scurtă prin Router-ul B, cealaltă de-a lungul arborelui partajat de la Router-ul D. Pentru a opri duplicarea, Router-ul C trimite o tăiere PIM rendezvous. mesaj (la router-ul D), care oprește sursa din arborele RPT partajat (Fig. 4).

Orez. 4. Etapa 3 - construirea unui arbore cu calea cea mai scurtă de la sursă la destinatar

Din acest moment, routerul C primește doar o copie a fiecărui pachet de la sursa 5 prin arborele său separat de calea cea mai scurtă și o redirecționează către rețeaua locală în care se află destinatarul.

Pentru a simplifica, am descris cazul în care există un singur punct de întâlnire în rețea și este creat un singur arbore partajat. Cu toate acestea, tehnologia permite mai multe puncte de întâlnire într-o rețea. Decizia cu privire la câte puncte de întâlnire ar trebui să existe în rețea și unde ar trebui să fie amplasate face obiectul planificării rețelei și nu este determinată de protocolul PIM.