In questo documento viene mostrato il flusso del pacchetto attraverso un cloud VPN (Virtual Private Network) MPLS (Multiprotocol Label Switching). Viene inoltre introdotto il concetto di etichette multiple all'interno di un pacchetto.
La VPN, se utilizzata con MPLS, consente a diversi siti di interconnettersi in modo trasparente tramite la rete di un provider di servizi. Una rete di provider di servizi può supportare diverse VPN IP. Ognuno di questi elementi viene visualizzato agli utenti come una rete privata, separata da tutte le altre reti. All'interno di una VPN, ogni sito può inviare pacchetti IP a qualsiasi altro sito della stessa VPN.
Ogni VPN è associata a una o più istanze di routing o inoltro VPN (VRF). Un VRF è costituito da una tabella di routing IP, una tabella CEF (Cisco Express Forwarding) derivata e un set di interfacce che utilizzano questa tabella di inoltro.
Il router gestisce un routing separato e una tabella CEF per ciascun VRF. In questo modo si evita che le informazioni vengano inviate all'esterno della VPN e si consente l'utilizzo della stessa subnet in più VPN senza causare problemi di indirizzi IP duplicati.
Il router che utilizza il Border Gateway Protocol (BGP) distribuisce le informazioni di routing VPN utilizzando le community estese BGP.
Per ulteriori informazioni sulla propagazione degli aggiornamenti tramite VPN, fare riferimento a questi documenti:
La funzione MPLS VPN è stata introdotta nel software Cisco IOS® versione 12.0(5)T.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Non sono previsti prerequisiti specifici per questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per comprendere come funziona VPN MPLS, prendiamo la seguente configurazione di esempio:
In questa configurazione:
Rapid e Pound sono i dispositivi Customer Edge (CE) che non eseguono MPLS. Sono associati al VPN VRF101. Per semplicità, in questo caso viene utilizzato un solo VRF.
Farm e Medina sono dispositivi Provider Edge (PE).
Miles e Yard sono router LightStream 1010. Costituiscono la backbone MPLS.
L'output seguente mostra ciò che accade quando Rapid invia pacchetti a Pound all'interno della VPN VRF101:
rapid#ping 11.5.5.5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 11.5.5.5, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms rapid#show ip route 11.5.5.5 Routing entry for 11.5.5.4/30 Known via "rip", distance 120, metric 1 Redistributing via rip Last update from 150.150.0.1 on FastEthernet0/1, 00:00:16 ago Routing Descriptor Blocks: * 150.150.0.1, from 150.150.0.1, 00:00:16 ago, via FastEthernet0/1 Route metric is 1, traffic share count is 1
Farm apprende l'indirizzo 11.5.5.5 da Med in tramite gli annunci BGP:
Farm#show ip bgp vpnv4 vrf vrf101 11.5.5.5 BGP routing table entry for 1:101:11.5.5.4/30, version 56 Paths: (1 available, best #1, table vrf101) Not advertised to any peer Local 125.2.2.2 (metric 4) from 125.2.2.2 (125.2.2.2) Origin incomplete, metric 1, localpref 100, valid, internal, best Extended Community: RT:1:101 Farm#show ip route vrf vrf101 11.5.5.5 Routing entry for 11.5.5.4/30 Known via "bgp 1", distance 200, metric 1, type internal Redistributing via rip Advertised by rip metric 0 Last update from 125.2.2.2 01:29:20 ago Routing Descriptor Blocks: * 125.2.2.2 (Default-IP-Routing-Table), from 125.2.2.2, 01:29:20 ago Route metric is 1, traffic share count is 1 AS Hops 0
Nota: 125.2.2.2 è un loopback su Medina e viene utilizzato per creare l'accoppiamento BGP con Farm.
Per inoltrare il pacchetto destinato alla versione 11.5.5.5 a Medina, Farm usa due etichette. Per visualizzare questo messaggio, esaminare la tabella CEF e la tabella di inoltro delle etichette VPN nella farm:
Farm#show tag forwarding -table vrf vrf101 11.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface None 2/91 11.5.5.4/30 0 AT4/0.1 point2point MAC/Encaps=4/12, MTU=4466, Tag Stack{2/91(vcd=69) 40} 00458847 0004500000028000 Farm#show ip cef vrf vrf101 11.5.5.5 11.5.5.4/30, version 25, cached adjacency to ATM4/0.1 0 packets, 0 bytes tag information set local tag: VPN-route-head fast tag rewrite with AT4/0.1, point2point, tags imposed: {2/91(vcd=69) 40} via 125.2.2.2, 0 dependencies, recursive next hop 10.0.0.14, ATM4/0.1 via 125.2.2.2/32 valid cached adjacency tag rewrite with AT4/0.1, point2point, tags imposed: {2/91(vcd=69) 40}
Ai pacchetti in uscita da Farm e destinati alla versione 11.5.5.5 vengono applicate due etichette che possono essere rappresentate nel modo seguente:
L'etichetta 40 viene aggiunta al pacchetto e viene segmentata in celle con 2/91 come valori VPI/VCI. Ciò significa che l'etichetta è anche chiamata 2/91.
Nota: quando si riceve un frame con più etichette, il dispositivo ricevente controlla solo la prima.
Le etichette vengono assegnate come segue:
2/91 viene assegnato da Yard e corrisponde all'indirizzo 125.2.2.2. Questo indirizzo viene utilizzato per creare l'associazione BGP con Farm. Per ulteriori informazioni, fare riferimento al documento MPLS VPN over ATM: con BGP o RIP sul sito del cliente. L'etichetta viene utilizzata nel core MPLS per inviare frame da Farm a 125.2.2.2 su Medina.
40 è assegnato a 11.5.5.5 da Medina. Quando un PE (in questo caso Medina) apprende un prefisso IP da un CE (libbra), il PE assegna un'etichetta specifica a questa route. L'etichetta dipende dalla VPN VRF appresa dal router. La route e l'etichetta vengono pubblicizzate sugli altri PE utilizzando le community BGP avanzate.
Diamo un'occhiata a Medina:
Medina#show tag forwarding -table vrf vrf101 11.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 40 Untagged 11.5.5.4/30[V] 570 Et1/1 11.3.3.2 MAC/Encaps=0/0, MTU=1500, Tag Stack{} VPN route: vrf101 Per-packet load-sharing
Ora che sappiamo da dove provengono le etichette, possiamo vedere cosa succede ai pacchetti destinati alla versione 11.5.5.5. Farm invia il pacchetto segmentato tramite VC 2/91. Yard lo riceve. Per verificare le operazioni eseguite da Yard con queste celle, utilizzare il comando seguente:
Yard#show tag atm -tdp bindings 125.2.2.2 32 Destination: 125.2.2.2/32 Transit ATM0/1/1 2/91 Active -> ATM4/0/0 1/82 Active
Ricevendo queste cellule sulla VC 2/91 (cellule destinate a 125.2.2.2, anche nota come Medina), Yard passa queste cellule a Miles usando la VC 1/82 in uscita.
Nota: il cantiere non ha controllato o modificato l'etichetta 40.
La stessa cosa succede a Miles, che passa le cellule a Medina nel VC 1/3:
Miles#show tag atm -tdp bindings 125.2.2.2 32 Destination: 125.2.2.2/32 Transit ATM0/1/3 1/82 Active -> ATM0/1/1 1/33 Active
Il pacchetto che arriva a Medina può essere rappresentato come segue:
Al ricevimento delle celle nel VC 1/3, Medina controlla l'etichetta 1/3 e verifica che sia locale rispetto al router. Così facendo, Medina vede che il pacchetto è destinato ad uno dei suoi indirizzi:
Medina#show tag -switching atm-tdp bindings local-tag 1 33 Destination: 125.2.2.2/32 Tailend Router ATM2/0.66 1/33 Active, VCD=406
Medina quindi rimuove la prima etichetta (1/33) e vede che il pacchetto ha un'altra etichetta (40). Controlla quindi a cosa corrisponde questa etichetta e cambia il pacchetto di conseguenza:
Medina#show tag -switching forwarding-table tags 40 Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 40 Untagged 11.5.5.4/30[V] 570 Et1/1 11.3.3.2
In questo caso, Medina scopre che il pacchetto è destinato a un sito connesso da un normale collegamento IP. Elimina l'etichetta e inoltra il pacchetto IP sull'interfaccia ethernet 1/1.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
05-Jun-2005 |
Versione iniziale |