3.3.1. Anycast-SID in SR-MPLS
+--------------+
| Group A |
|192.0.2.10/32 |
| SID:100 |
| |
+-----------A1---A3----------+
| | | \ / | | |
SID:10 | | | / | | | SID:30
203.0.113.1/32 | | | / \ | | | 203.0.113.3/32
PE1------R1----------A2---A4---------R3------PE3
\ /| | | |\ /
\ / | +--------------+ | \ /
\ / | | \ /
/ | | /
/ \ | | / \
/ \ | +--------------+ | / \
/ \| | | |/ \
PE2------R2----------B1---B3---------R4------PE4
203.0.113.2/32 | | | \ / | | | 203.0.113.4/32
SID:20 | | | / | | | SID:40
| | | / \ | | |
+-----------B2---B4----------+
| |
| Group B |
| 192.0.2.1/32 |
| SID:200 |
+--------------+
Figura 1: Gruppi di dispositivi di transito
La Figura 1 illustra un esempio di rete con due gruppi di dispositivi di transito. Il gruppo A è composto dai dispositivi {A1, A2, A3, e A4}. Sono tutti configurati con l'indirizzo anycast 192.0.2.10/32 e l'Anycast-SID 100.
Analogamente, il gruppo B è composto dai dispositivi {B1, B2, B3, e B4}, e sono tutti configurati con l'indirizzo anycast 192.0.2.1/32 e l'Anycast-SID 200. Nella topologia di rete sopra, ogni dispositivo Provider Edge (PE) ha un percorso verso ciascuno dei gruppi: A e B.
PE1 può scegliere un gruppo di dispositivi di transito particolare quando invia traffico a PE3 o PE4. Ciò verrà fatto spingendo l'Anycast-SID del gruppo nello stack.
L'elaborazione dell'anycast e dei segmenti successivi richiede particolare attenzione.
+-------------------------+
| Group A |
| 192.0.2.10/32 |
| SID:100 |
|-------------------------|
| |
| SRGB: SRGB: |
SID:10 |(1000-2000) (3000-4000)| SID:30
PE1---+ +-------A1-------------A3-------+ +---PE3
\ / | | \ / | | \ /
\ / | | +-----+ / | | \ /
SRGB: \ / | | \ / | | \ / SRGB:
(7000-8000) R1 | | \ | | R3 (6000-7000)
/ \ | | / \ | | / \
/ \ | | +-----+ \ | | / \
/ \ | | / \ | | / \
PE2---+ +-------A2-------------A4-------+ +---PE4
SID:20 | SRGB: SRGB: | SID:40
|(2000-3000) (4000-5000)|
| |
+-------------------------+
Figura 2: Percorsi di transito tramite il gruppo anycast A
Considerando un deployment MPLS, nella topologia sopra, se il dispositivo PE1 (o PE2) richiede l'invio di un pacchetto al dispositivo PE3 (o PE4), deve incapsulare il pacchetto in un payload MPLS con il seguente stack di etichette.
-
Etichetta allocata da R1 per Anycast-SID 100 (etichetta esterna).
-
Etichetta allocata dal router più vicino nel gruppo A per SID 30 (per la destinazione PE3).
In questo caso, la prima etichetta è facile da calcolare. Tuttavia, poiché c'è più di un dispositivo topologicamente più vicino (A1 e A2), determinare la seconda etichetta è impossibile a meno che A1 e A2 non abbiano allocato lo stesso valore di etichetta allo stesso prefisso. I dispositivi A1 e A2 possono essere dispositivi di diversi fornitori hardware. Se entrambi non allocano lo stesso valore di etichetta per SID 30, è impossibile utilizzare il gruppo anycast A come gruppo anycast di transito verso PE3. Quindi, PE1 (o PE2) non può calcolare uno stack di etichette appropriato per indirizzare il pacchetto esclusivamente attraverso i dispositivi del gruppo A. Lo stesso vale per i dispositivi PE3 e PE4 quando tentano di inviare un pacchetto a PE1 o PE2.
Per facilitare l'uso di un segmento anycast, si raccomanda di configurare SRGB identici su tutti i nodi di un particolare gruppo anycast. Utilizzando questo metodo, come menzionato sopra, il calcolo dell'etichetta successiva al segmento anycast è semplice.
L'uso di un segmento anycast senza configurare SRGB identici su tutti i nodi appartenenti allo stesso gruppo anycast può portare a instradamento errato (in un deployment MPLS VPN, parte del traffico può fuoriuscire tra VPN).