Passa al contenuto principale

4.2. Data Packet Forwarding Rules (Regole di inoltro dei pacchetti dati)

Questa sezione descrive come un router PIM-SM inoltra i pacchetti dati multicast. Il principio di base è che i pacchetti vengono inoltrati solo quando il router ha uno stato di inoltro appropriato.

Regole di base per l'inoltro dei pacchetti

Quando un pacchetto dati multicast arriva su un'interfaccia del router, il router esegue i seguenti controlli:

  1. Controllo RPF (Reverse Path Forwarding Check): Verifica che il pacchetto arrivi dall'interfaccia corretta (cioè l'interfaccia verso la sorgente)
  2. Controllo della lista di interfacce in uscita (Outgoing Interface List, olist): Determina a quali interfacce il pacchetto deve essere inoltrato
  3. Controllo della soglia TTL: Verifica che il TTL del pacchetto sia sufficiente

Stato di inoltro

PIM-SM utilizza i seguenti stati di inoltro per determinare come gestire i pacchetti:

  • Stato (*,G): Utilizzato per l'inoltro sull'albero condiviso
  • Stato (S,G): Utilizzato per l'inoltro sull'albero del percorso più breve specifico per sorgente
  • Stato (S,G,rpt): Utilizzato per escludere sorgenti specifiche sull'albero condiviso

Algoritmo di inoltro

if (DirectlyConnected(S) == TRUE AND iif == RPF_interface(S)) {
olist = olist(*,G) (+) olist(S,G) (-) olist(S,G,rpt)
forward packet on all interfaces in olist
} else if (iif == RPF_interface(S) AND SPTbit(S,G) == TRUE) {
olist = olist(S,G) (-) olist(S,G,rpt)
forward packet on all interfaces in olist
} else if (iif == RPF_interface(RP(G)) AND SPTbit(S,G) == FALSE) {
olist = olist(*,G) (-) olist(S,G,rpt)
forward packet on all interfaces in olist
} else {
drop packet
}

4.2.1. Last-Hop Switchover to the SPT (Passaggio last-hop all'SPT)

Quando il router dell'ultimo hop di un ricevitore inizia a ricevere traffico da una sorgente specifica per la prima volta, potrebbe ricevere quel traffico tramite l'albero condiviso (RPT). Se il tasso di traffico è sufficientemente elevato, il router dell'ultimo hop può decidere di passare all'albero del percorso più breve specifico per sorgente (SPT).

La decisione di passaggio si basa su una soglia configurata. Una volta presa la decisione di passare:

  1. Il router invia un Join (S,G) verso la sorgente
  2. Quando i dati iniziano ad arrivare tramite SPT, il router invia un Prune (S,G,rpt) verso il RP

4.2.2. Setting and Clearing the (S,G) SPTbit (Impostazione e cancellazione dell'SPTbit (S,G))

L'SPTbit è utilizzato per indicare se il router sta inoltrando traffico da una sorgente specifica tramite SPT o tramite RPT.

Impostazione dell'SPTbit: Quando una delle seguenti condizioni è soddisfatta:

  • Un pacchetto corrispondente allo stato di inoltro (S,G) viene ricevuto e il controllo RPF ha successo
  • Un Join (S,G) viene inviato e il traffico è atteso tramite SPT

Cancellazione dell'SPTbit: Quando l'inoltro specifico (S,G) non è più necessario, ad esempio:

  • Tutti i ricevitori downstream lasciano
  • Lo stato (S,G) va in timeout
note

Per regole di inoltro dettagliate, pseudocodice e gestione dei casi limite, consultare la sezione 4.2 della RFC 7761 per la specifica completa.