Passa al contenuto principale

4. VPN Route Distribution (Distribuzione delle route VPN)

4. VPN Route Distribution (Distribuzione delle route VPN)

In questa sezione descriviamo le procedure utilizzate per distribuire le route VPN ai router PE e dai router PE.

4.1. The VPN-IPv4 Address Family (La famiglia di indirizzi VPN-IPv4)

Abbiamo osservato sopra che, anche se due VPN hanno spazi di indirizzi sovrapposti, le route per loro sono distinte. Quando vengono distribuite via BGP, dovrebbe essere possibile distinguerle l'una dall'altra.

Pertanto, quando BGP viene utilizzato per distribuire una particolare route VPN, non distribuisce un indirizzo IPv4. Invece, distribuisce un indirizzo di un altro tipo, che chiamiamo "indirizzo VPN-IPv4". Un indirizzo VPN-IPv4 è lungo 12 ottetti e inizia con un campo di 8 ottetti che chiamiamo Route Distinguisher (Distintore di rotta, RD), seguito da un indirizzo IPv4 di 4 ottetti.

Se due VPN utilizzano gli stessi prefissi di indirizzo IPv4, i router PE traducono questi prefissi di indirizzo IPv4 in prefissi di indirizzo VPN-IPv4. Questo viene fatto anteponendo un RD di 8 ottetti al prefisso di indirizzo IPv4. Se gli RD sono diversi, allora gli indirizzi VPN-IPv4 tradotti sono diversi. I dettagli sulla funzione dell'RD sono forniti nella Sezione 4.2.

Gli indirizzi VPN-IPv4 e gli indirizzi IPv4 appartengono a diverse famiglie di indirizzi. Le estensioni multiprotocollo BGP (BGP Multiprotocol Extensions) [BGP-MP] consentono a BGP di trasportare route appartenenti a diverse "famiglie di indirizzi". Le procedure per distribuire le route VPN-IPv4 sono specificate nella Sezione 4.3.

4.2. Route Distinguishers (Distintori di rotta)

L'RD consente di trasformare un indirizzo IPv4 altrimenti non univoco in un indirizzo VPN-IPv4 univoco.

L'RD che traduce un indirizzo IPv4 in un indirizzo VPN-IPv4 non deve avere (e di fatto non ha) una corrispondenza uno-a-uno con la VPN a cui appartiene quell'indirizzo IPv4. Quando un RD viene aggiunto a una route IPv4 per creare una route VPN-IPv4, quell'RD viene utilizzato solo per distinguere route IPv4 potenzialmente non univoche.

Un service provider può assegnare un singolo RD a tutte le route all'interno di una particolare VPN. In questo caso, l'RD identifica effettivamente tale VPN in modo univoco.

Un service provider può anche assegnare RD diversi a route diverse provenienti da siti diversi all'interno della stessa VPN. È anche possibile assegnare RD diversi a route diverse provenienti dallo stesso sito.

Nel caso più generale, una particolare route può essere distribuita da più router PE e ognuno può utilizzare un RD diverso. BGP tratterà queste route come rotte diverse, indipendentemente dal fatto che abbiano lo stesso prefisso IPv4 o meno.

La struttura di codifica dell'RD è la seguente:

  • Campo Tipo a 2 byte
  • Campo Valore a 6 byte

Il campo Tipo determina l'interpretazione del campo Valore. Questo documento definisce i seguenti tre tipi:

  • Tipo 0: Il campo Valore contiene un Autonomous System Number (Numero di Sistema Autonomo, ASN) a 2 byte, seguito da un numero arbitrario a 4 byte.
  • Tipo 1: Il campo Valore contiene un indirizzo IP a 4 byte, seguito da un numero arbitrario a 2 byte.
  • Tipo 2: Il campo Valore contiene un ASN a 4 byte, seguito da un numero arbitrario a 2 byte.

L'uso di RD di Tipo 1 consente la generazione di un RD univoco per ogni VRF su ogni router PE senza la necessità di un'autorità di assegnazione centrale. Si utilizza semplicemente l'indirizzo IP del router PE come parte Indirizzo IP dell'RD e si utilizza un numero arbitrario diverso su ogni VRF.

Gli RD di Tipo 2 vengono utilizzati per Autonomous System Number a 4 byte [BGP-AS4].

Raccomandiamo che i service provider utilizzino il loro ASN assegnato quando utilizzano RD di Tipo 0 o Tipo 2 e utilizzino un indirizzo IP dal proprio spazio di indirizzi quando utilizzano RD di Tipo 1. Ciò garantisce che gli RD siano univoci a livello globale.

4.3. VPN-IPv4 Route Distribution (Distribuzione delle route VPN-IPv4)

Quando un router PE sa che una route che ha appreso tramite una particolare interfaccia PE/CE appartiene a una particolare VPN, e se è configurato per distribuire tale route ad altri router PE, traduce la corrispondente route IPv4 in una route VPN-IPv4. La procedura dettagliata è la seguente:

  1. Sceglie un RD.
  2. Antepone tale RD alla route IPv4.
  3. Se necessario, imposta l'attributo Next Hop (Hop successivo) della route all'indirizzo del router PE stesso (solitamente il suo indirizzo di loopback).
  4. Aggiunge qualsiasi altro attributo BGP che potrebbe essere necessario.
  5. Distribuisce la route VPN-IPv4 generata ai suoi vicini BGP.

Quando altri router PE ricevono queste route, possono importarle in VRF specifiche se hanno le policy corrispondenti (come Route Target, vedi sotto) configurate. Al momento dell'importazione, la route VPN-IPv4 viene riconvertita in una route IPv4 (l'RD viene rimosso).

4.3.1. The Route Target Attribute (L'attributo Route Target)

Ogni route VPN è associata a uno o più attributi Route Target (Obiettivo di rotta, RT). Gli attributi RT sono un tipo di attributo BGP Extended Community (Comunità estesa BGP) [BGP-EXTCOMM].

Quando un router PE esporta una route VPN in BGP, associa tale route a un insieme di RT. L'assegnazione di questi RT è determinata dalla configurazione. In genere, ogni VRF ha una o più liste di "RT di esportazione". Quando le route vengono esportate da quella VRF, questi RT vengono allegati alla route.

Allo stesso modo, ogni VRF ha una o più liste di "RT di importazione". Quando un router PE riceve una route VPN-IPv4, controlla l'insieme di RT che la route trasporta. Se uno qualsiasi degli RT trasportati dalla route corrisponde a uno degli RT nella lista di RT di importazione di una particolare VRF, la route viene importata in quella VRF.

L'attributo RT definisce efficacemente l'"appartenenza" di quella route. Controllando quali VRF importano quali specifici RT, l'SP può costruire topologie VPN arbitrariamente complesse (full mesh, hub-and-spoke, ecc.).

4.3.2. Route Distribution via BGP (Distribuzione delle route via BGP)

I router PE scambiano route VPN-IPv4 tramite IBGP (Internal BGP) o EBGP (External BGP).

Se due PE si trovano nello stesso sistema autonomo, scambiano route tramite una sessione IBGP. Per evitare una connessione IBGP full-mesh, vengono generalmente utilizzati i BGP Route Reflector (Riflettori di rotta BGP) [BGP-RR]. I router P in genere non eseguono BGP e non mantengono route VPN.

4.3.3. Route Distribution via Route Reflectors (Distribuzione delle route via Route Reflector)

I Route Reflector possono essere utilizzati per riflettere non solo route IPv4, ma anche route VPN-IPv4. Il Route Reflector stesso non ha bisogno di conoscere la topologia di una VPN. Riceve semplicemente messaggi di aggiornamento BGP e li inoltra ad altri router BGP.

4.3.4. How Common is the RD? (Quanto è comune l'RD?)

L'RD può essere assegnato a più livelli. La pratica più comune è assegnare un RD univoco per ogni VRF. Tuttavia, è anche possibile assegnare un RD per ogni VPN (tutte le VRF appartenenti a quella VPN utilizzano lo stesso RD), oppure assegnare un RD diverso per ogni VRF in ogni sito. Il punto cruciale è che l'RD deve essere in grado di distinguere spazi di indirizzi IPv4 potenzialmente sovrapposti.

4.3.5. Building VPNs using Route Targets (Costruzione di VPN utilizzando Route Target)

Utilizzando in modo intelligente gli RT di importazione ed esportazione, è possibile costruire topologie VPN complesse. Ad esempio, per creare una VPN full-mesh, tutti i siti sono configurati con gli stessi RT di importazione ed esportazione. Per creare una VPN hub-and-spoke, i siti spoke esportano RT1 e importano RT2, mentre i siti hub esportano RT2 e importano RT1.

4.3.6. Route Selection (Selezione della rotta)

Quando un router PE riceve più route per lo stesso prefisso VPN-IPv4, utilizza le regole standard di selezione del percorso BGP per scegliere il percorso migliore. Si noti che anche se il prefisso IPv4 sottostante è lo stesso, se l'RD è diverso, BGP le considera come rotte completamente diverse e quindi non sceglie tra di loro. La selezione della rotta avviene solo se l'RD è lo stesso e anche il prefisso IPv4 è lo stesso.