mpls traffic-engineering example-config cisco per tunnel-TE fast-reroute and router isis

 

 

Architettura di riferimento

 

mpls te fastreroute tunnel

 

 

 

Esempio di configurazione explicit-path TE Fast-Reroute from 12K-1:

 

ip cef

mpls label protocol ldp

mpls traffic-eng tunnels

mpls traffic-eng reoptimize timers frequency 120

tag-switching advertise-tags for MPLS

!

ip access-list standard MPLS

permit 10.255.254.12

permit 10.255.254.14

permit 10.255.254.16

permit 10.255.254.18

permit 10.255.254.20

!

!

ip explicit-path name PATH_818 enable

next-address 10.255.254.34

next-address 10.255.254.38

next-address 10.255.254.42

next-address 10.255.254.46

!

ip explicit-path name PATH_816 enable

next-address 10.255.254.53

next-address 10.255.254.49

next-address 10.255.254.45

!

ip explicit-path name PATH_820 enable

exclude-address 10.255.254.53

!

ip explicit-path name PATH_814 enable

exclude-address 10.255.254.38

!

ip explicit-path name PATH_812 enable

exclude-address 10.255.254.34

!

!

ip explicit-path name PATH_1818

next-address 10.255.254.53

next-address 10.255.254.49

!

ip explicit-path name PATH_1820

next-address 10.255.254.34

next-address 10.255.254.38

next-address 10.255.254.42

next-address 10.255.254.46

next-address 10.255.254.50

!

ip explicit-path name PATH_1816

exclude-address 10.255.254.34

!

ip explicit-path name PATH_1814

next-address 10.255.254.53

next-address 10.255.254.49

next-address 10.255.254.45

next-address 10.255.254.41

!

ip explicit-path name PATH_1812

next-address 10.255.254.53

next-address 10.255.254.49

next-address 10.255.254.45

next-address 10.255.254.41

next-address 10.255.254.37

!

 

Esempio di configurazione interface tunnel TE Fast_Reroute from 12K-1:

 

 

interface Loopback1

description "Loopback Tunnel MPLS"

ip address 10.255.254.10 255.255.255.255

no ip directed-broadcast

!

interface GigabitEthernet1/0

description to "12K-2 intra-pop"

mtu 1520

bandwidth 1000000

ip address 10.255.254.33 255.255.255.252

no ip directed-broadcast

ip router isis

no keepalive

negotiation auto

mpls traffic-eng tunnels

mpls traffic-eng backup-path Tunnel816

mpls traffic-eng backup-path Tunnel814

mpls traffic-eng backup-path Tunnel 812

tag-switching ip

bfd interval 200 min_rx 200 multiplier 3

isis circuit-type level-1

isis network point-to-point

isis metric 63 level-1

isis bfd

!

interface GigabitEthernet2/0

description to "12K-6 inter-pop"

mtu 1520

bandwidth 1000000

ip address 10.255.254.54 255.255.255.252

no ip directed-broadcast

ip router isis

negotiation auto

mpls traffic-eng tunnels

mpls traffic-eng backup-path Tunnel818

mpls traffic-eng backup-path Tunnel820

tag-switching ip

bfd interval 300 min_rx 300 multiplier 3

isis circuit-type level-1

isis network point-to-point

isis metric 1 level-1

isis bfd

!

!

interface Tunnel814

description "Tunnel FRR verso 12K-3"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.14

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_814

!

interface Tunnel 816

description "Tunnel FRR verso 12K-4"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.16

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_816

!

interface Tunnel 818

description "Tunnel FRR verso 12K-5"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.18

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_818

!

interface Tunnel 820

description "Tunnel FRR verso 12K-6"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.20

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_820

!

interface Tunnel 812

description "Tunnel FRR verso 12K-2"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.12

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_812

!

interface Tunnel 1818

description Tunnel to 12K-5"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.18

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_1818

tunnel mpls traffic-eng path-option 20 dynamic

tunnel mpls traffic-eng fast-reroute

!

interface Tunnel 1820

description Tunnel to 12K-6"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.20

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_1820

tunnel mpls traffic-eng path-option 20 dynamic

tunnel mpls traffic-eng fast-reroute

!

interface Tunnel 1816

description Tunnel to 12K-4"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.16

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_1816

tunnel mpls traffic-eng path-option 20 dynamic

tunnel mpls traffic-eng fast-reroute

!

interface Tunnel 1814

description Tunnel to 12K-3"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.14

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_1814

tunnel mpls traffic-eng path-option 20 dynamic

tunnel mpls traffic-eng fast-reroute

!

interface Tunnel 1812

description Tunnel to 12K-2"

ip unnumbered Loopback1

no ip directed-broadcast

tunnel destination 10.255.254.12

tunnel mode mpls traffic-eng

tunnel mpls traffic-eng path-option 10 explicit name PATH_1812

tunnel mpls traffic-eng path-option 20 dynamic

tunnel mpls traffic-eng fast-reroute

!

 

 

Esempio di configurazione MPLS-TE sotto processo ISIS router from 12K-1:

 

 

router isis

net 49.0001.0192.1681.2001.00                     # 12K-1 (per gli altri 12K l'ultimo decimale del 5 ottetto sarà 2,3,4,5,6)

is-type level-1

metric-style wide

log-adjacency-changes

mpls traffic-eng router-id loopback1

mpls traffic-eng level-1

no passive-interface gigabitethernet 1/0

no passive-interface gigabitetherent 2/0

passive-interface default

bfd all-intefaces

 

 

 

 

Esempio di definizione comandi:

 

ip unnumbered loopback: i router cisco non inoltrano traffico su interfacce che non hanno un indirizzo IP; è necessario quindi assegnare un indirizzo IP all'interfaccia tunnel mpls (di solito quello dedicato alla loopback di riferimento)

tunnel mode mpls traffic-eng: è necessario per indicare al sistema operativo del router che il tunnel è di tipo mpls (si ricorda che possiamo avere tunnel di diverso tipo come GRE, IPSEC, etc... e pertanto si deve specificare il mode del tunnel IT)

 

tunnel mpls traffic-eng path-option 20 dynamic: è necessario per indicare al sistema operativo del router di utilizzae un algoritmo dinamico per la selezione del percorso (il CSPF è l'algoritmo per questa funzionalità); il valore 20 indica una priorità con cui si utilizza il CSPF

 

tunnel mpls traffic-eng path-option 10 explicit name < name >: indica il percorso selezionato di tipo esplicito attraverso una serie di comandi di next-address oppure exclude-address (gli indirizzi possono essere l'indirizzo IP di una interfaccia fisica o di una loopback dei router mpls facenti parte del backbone); il valore 10 indica una priorità di scelta nella selezione del percorso

 

tunnel mpls traffic-eng bandwidth < value >: indica un valore di banda in Kbit/sec del tunnel mpls; questo valore è utile solo per il piano di controllo per una ammissione del tunnel stesso. Non ha valore a livello di pianod di forwarding o dati e di fatto non implica nessuna banda riservata tramite operazioni di scheduling.

 

tunnel mpls traffic-eng priority 5 5: indica dei valori di priorità con il primo valore = Setup ed il secondo valore = holding; i numeri ammessi sono in un range tra zero e sette dove 0 = priorità massima e 7 = priorità minima

 

 

in caso di fault di un percorso esplicito con priorità ed a seguito di una sua nuova disponibilità in rete, i router hanno la possibilità di riottimizare il percorso attuale e ci sono tre modalità: 

 

in modalità priviligiata (enable):

mpls traffic-eng reoptimize tunnel x: rappresenta una ottimizzazione manuale

 

mpls traffic-eng reoptimize events link-up: rappresenta una ottimizzazione indotta da evento

 

mpls traffic-eng reoptimize timers frequency < value in sec >: il value indica il periodo di ottimizzazione in secondi; ad esempio se il valore = 120 il router effettua una riottimizzazione ogni 120 sec

 

NOTA: la procedura di riottimizzazione si ottiene attraverso lo scambio di messaggi PATH sul percorso primario (quello esplicito) e nell'attesa del messaggio RESV corrispondente; in questo frattempo il router continua ad inviare il traffico sul "vecchio" percorso per evitare di perdere pacchetti ( tecnica conosciuta con il nome di " make-before-break" )

 

 

tunnel mpls traffic-eng fast-reroute: questo comando è necessario configurare per i tunnel che necessitano di essere protetti; i router di ingresso sono quindi consapevoli che il tunnel IT è protetto localmente.

Per la verifica basta controllare il campo " Flags " dell'oggetto RSVP-TE SESSION_ATTRIBUTE nei messaggi PATH; questo deve avere il valore 0x01 (Local Protection Desired) 

 

tunnel mpls backup-path < tunnel x >: configurato sotto interfaccia ed indica di utilizzare il percorso di backup in caso il percorso primario fallisse e fosse rilevato su base interfaccia fisica

 

 

 

Modalità di inoltro del traffico over tunnel TE:

 

L'inoltro del traffico può essere statico o dinamico.

 

 

- Per mezzo di routing statico si debbono configurare normali rotte statiche:

 

ip route < IP_destinazione > < mask > tunnel x

 

 

  • - Per mezzo di routing statico su base policy amministrative:

 

interface gix/y

ip policy route-map TRAFFIC-ADMIN

!

route-map TRAFFIC-ADMIN

match ip address 150

set interface tunnel x

!

access-list 150 permit ip any 172.16.1.0 0.0.0.255

 

 

ip policy route-map TRAFFIC-ADMIN: sotto interfaccia indica che tutto il traffico proveniente dalla IF x/y segue la politica di routing applicata nella route-map associata

 

match ip address 150: indica quale sorgenti e destinazioni sono soggette alla policy; in questo caso qualsiasi sorgente con destinazione 172.16.1.0/24

 

set interface tunnel x: indica che i pacchetti facenti parte della classe sopra indicata dalla ACL debbono essere trasmessi al tunnel x

 

 

- Per mezzo di routing dimanico, la configurazione è:

 

interface tunnel x

tunnel mpls traffic-eng autoroute announce

 

questo comando viene configurato su base interfaccia