MPLS: ambiente di test – definizione protocolli di rete – ipotesi link-protection and node-protection

Home » Blog » Use Case » cisco » MPLS: ambiente di test – definizione protocolli di rete – ipotesi link-protection and node-protection

MPLS: ambiente di test – definizione protocolli di rete – ipotesi link-protection and node-protection

05.03 2024 | by massimiliano

Architettura di riferimento MPLS I protocolli di rete presenti sono: Multicast: Monitoring and Management: Quality of Service In questo documento […]



Architettura di riferimento MPLS

I protocolli di rete presenti sono:

  • OSPF (IGP)
  • BFD (Bidirectional Forwarding Detection)
  • MPLS-TE (Traffic-Engineering)
  • LDP signalling
  • RSVP-TE signalling (Reservation Protocol)

Multicast:

  • Multicast SSM (Source Specific Mcast)
  • PIM v2

Monitoring and Management:

  • LLDP Link Layer Discovery Protocol
  • OAM ethernet link-fault-management
  • IPSLA (rpm-probe)
  • Netflow

Quality of Service

  • DSCP
  • EXP

In questo documento si focalizzano alcuni ambienti di test significativi, ed in questa fase da non considerare esaustivi per tutti gli scenari possibili che sono oggetto di verifica.

Protocollo OSPF

  1. Tempi di convergenza sulla base dei parametri di LSA/SFP throttling:

tempo di rilevazione del fault (failure detection)

tempo di propagazione evento (failure propagation)

tempo di ricalcolo del best-path SPT (processing new information)

tempo di aggiornamento della tabella RIB (update routing table)

Il Failure detection è un meccanismo che si basa su messaggi ricorsivi tra ospf peer che ne determina la status UP attraverso parametri di hello-time e dead-time.

BFD è un meccanismo che convalida le operazioni di trasmissione (forwarding) con invio e ricezione periodica di keepalive tra una coppia di router ed ha la facoltà di rilevazione di un fault nell’ordine di sub-seconds.

Il failure propagation è interessato attraverso la configurazione di timers  LSA throttling per assicurare una maggiore velocità di propagazione delle informazioni; LSA pacing può essere gestito per aggiornare (refresh) un gruppo di LSA anziché uno per volta appena il tempo (age) di verifica validità si esaurisca.

Il processing new information riguarda il processo di elaborare queste informazioni di nuove LSA per determinare il best-path SPF a seguito di un cambiamento topologico della rete e si configura con SPF throttling attraverso tre valori in milliseconds di cui il primo si occupa di iniziare il ricalcolo del nuovo SPF, il secondo indica un tempo di intervallo tra due differenti ricalcoli in caso di sovrapposizione a causa di change-notification durante il tempo di hold-time ed il terzo rappresenta un tempo di hold-time massimo raggiungibile

Best Practices Cisco suggeriscono di considerare anche un intervallo minimo di consenso per uno stesso LSA per evitare che se questo dovesse arrivare prima dell’intervallo minimo settato questa stessa informazione verrebbe scartata; il comando che ne rappresenta è LSA arrival settato con un valore minore oppure uguale a quello dell’hold-time interval

2. ECMP (equal cost multipath)

3. OSPF LFA LOOP-FREE ALTERNATE FRR

Questa feature permette:

  • Trovare un path di backup quando il path principale fallisce entro un valore temporale inferiore a 50 msec;
  • Ospf calcola il path di backup attraverso un ordine prestabilito (pre-compuation) installando il backup next-hop nella sua forwarding-table
  • Ospf utilizza due metodi per il calcolo del LFA FRR:

per-link: per tutte le prefix che sono raggiungibili attraverso uno stesso link, ospf calcola il path di backup assegnando loro lo stesso indirizzo next-hop

per-prefix: in questo caso ospf utilizza un path di backup su base prefix offrendo un migliore load-balancing (quindi ciascuna prefix può utilizzare differenti links alternativi)

Quando ospf utilizza un path di backup non fa riferimento al best-path su base metrica ma utilizza un algoritmo di tie-break per decidere quale percorso utilizzare

Tra questi algoritmi citiamo SRLG (shared risk link groups), interface protection, broadcast interface protection, node protection, downstream path, ECMP primario e secondario

4. OSPF REMOTE LFA LOOP-FREE ALTERNATE FRR

E’ sicuramente di interesse questa tecnica di FRR, in quanto prevede la possibilità di bypassare un determinato nodo (router) come next-hop path utilizzando una tecnica di tunneling attraverso il protocollo di segnalazione LDP (LSP tunnel).

Si riporta solo per informazione una configurazione tipo:

mpls ip

mpls ldp autoconfig area 0

!

mpls ldp discovery targeted-hello accept

!

router ospf < process >

fast-reroute per-prefix enable area 0 prefix-priority low

fast-reroute keep-all paths

fast-reroute per-prefix remote-lfa tunnel mpls-ldp

R1 punto di vista: R2 ed R3 appartengono al concetto di P-Space calcolato via SPF con R1 come root path per raggiungere le destinazione target senza passare per il link failed;

R5 punto di vista: R3 ed R4 appartengono al concetto di Q-Space calcolato via SPF con R5 come root path

R3 appartiene al concetto di PQ-Space in quanto appartiene sia a P che a Q space; il PQ router è usato come endpoint del tunnel MPLS remote-LSA

RSVP-TE

La segnalazione Traffic-Engineering è affidato al protocollo RSVP-TE dove abbiamo i seguenti parametri oggetto di verifica:

label: utilizzata nei messaggi di tipo resv per la costruzione di una distribuzione di label in modalità downstream on demand tra tutti i nodi della rete

label request: utilizzato nei messaggi di tipo path per la richiesta di una label binding ad ogni hop

label explicit: contiene una lista di hop che definiscono il percorso segnalato

record route: è un’insieme di informazioni riguardo gli hop e le label segnalate lungo il percorso

session attribute: è una lista di attributi richiesti per un determinato LSP (priority, protection, etc…)

La selezione di un path LSP è delegato al nodo headend (PE di ingresso) e può essere fatto in modo statico o dinamico.

Il meccanismo di Fast-Reroute lavora sulla base di un pre-segnalato path di backup dove in caso di fault del path primario, un nodo è in grado di commutare il traffico sul path di backup.

FRR utilizza due meccanismi di protezione e sono

  • facility backup: utilizza il label stacking per re-ruotare multipli LSP protetti da un singolo LSP di backup
  • one-to-one backup: ogni LSP-TE richiede un dedicato tunnel di backup 

Link Protection: quando un nodo segnala un LSP con link-protection tutti i router lungo il percorso cercano di associare il tunnel LSP-TE con un backup tunnel verso il NHOP downstream; questo significa che un qualsiasi nodo può diventare un potenziale PLR segnalando la sua disponibilità in termini di protezione ed utilizza il record-route come segnalazione

Quando un link fallisce, il nodo PLR (Point of Local Repair) re-ruota il path LSP-TE in un nuovo tunnel LSP-TE di backup e questo stabilisce un pushing delle label del tunnel di backup on-top allo stack di label precedentemente creato con il tunnel primario (cioè prima del fault).

Link Protection lavora anche come protezione nei confronti di un fault che coinvolge un gruppo di link/interface allo stesso tempo (vedi SLRG shared-risk links groups).

Node Protection: questa tecnica utilizza un LSP-TE di backup destinato al PLR next-next hop (NNHOP); le funzionalità di segnalazione sono uguali a quelle del link-protection.

mpls traffic-eng administrative-weight # (di default è il valore di metrica IGP)

mpls traffic-eng attribute flags < flag > #(di default = 0)

ip rsvp bandwidth < bw > # (di default = 75% del valore di capacità della interfaccia fisica)

!

tunnel mpls traffic-eng affinity    # utilizzato per includere/escludere un path

tunnel mpls traffic-eng priority   # utilizzato per valori di priorità su base setup ed holding)

!

tunnel mpls traffic-eng path-option 10 explicit name < name >   # utilizzo di un path in modo esplicito

tunnel mpls traffic-eng path-option 20 dynamic                             # utilizzo di un path in modo dinamico (CSPF)

tunnel mpls traffic-eng fast-reroute                                                   # richiesta di protezione

!

mpls traffic-eng reoptimize timer frequency    # permette di stabilire un tempo di riottimizzazione del percorso

Ipotesi Link-Protection: condizione di partenza

Ipotesi Link-Protection: fault link-2

Ipotesi Link-Protection: fault link-4 (inter-P router)

Ipotesi Node-Protection: fault-node PE2

Ipotesi Node-Protection: fault-node P router

Si riportano per completezza alcuni comandi ed output in ottica doppio vendor Cisco e Juniper

OSPF Neighbor

PE1#show ip ospf neighbor

Neighbor ID       Pri   State            Dead Time   Address         Interface

10.255.255.1      0    FULL/  –        00:00:32     1.1.1.5            GigabitEthernet0/1

root@P1> show ospf neighbor

Address          Interface              State     ID                          Pri   Dead

1.1.1.2            em0.0                   Full        10.255.255.2     128    33

1.1.1.6            em1.0                   Full        10.255.255.10      1    33

OSPF Database Cisco

PE1#show ip ospf database

            OSPF Router with ID (10.255.255.10) (Process ID 1)

                Router Link States (Area 0.0.0.0)

Link ID         ADV Router      Age         Seq#       Checksum Link count

10.255.255.1    10.255.255.1    235         0x80000004 0x00AD0C 4

10.255.255.2    10.255.255.2    228         0x80000004 0x00485D 4

10.255.255.10   10.255.255.10   364         0x80000003 0x00B87E 4

10.255.255.20   10.255.255.20   230         0x80000003 0x0078BC 3

                Type-10 Opaque Link Area Link States (Area 0.0.0.0)

Link ID         ADV Router      Age         Seq#       Checksum Opaque ID

1.0.0.0         10.255.255.10   648         0x80000001 0x00ACFD 0

1.0.0.0         10.255.255.20   569         0x80000001 0x00D4C1 0

1.0.0.1         10.255.255.1    377         0x80000001 0x001CFC 1

1.0.0.1         10.255.255.2    244         0x80000001 0x0020F6 1

1.0.0.2         10.255.255.10   364         0x80000001 0x00418A 2

1.0.0.3         10.255.255.1    365         0x80000001 0x0022B0 3

1.0.0.3         10.255.255.2    236         0x80000001 0x00D112 3

1.0.0.3         10.255.255.20   231         0x80000001 0x002295 3

1.0.0.4         10.255.255.1    235         0x80000001 0x00EBF6 4

1.0.0.4         10.255.255.2    230         0x80000001 0x006A53 4

OSPF Database Junos

root@P1> show ospf database

    OSPF database, Area 0.0.0.0

 Type       ID               Adv Rtr           Seq      Age  Opt  Cksum  Len

Router  *10.255.255.1     10.255.255.1     0x80000004   250  0x22 0xad0c  72

Router   10.255.255.2     10.255.255.2     0x80000004   244  0x22 0x485d  72

Router   10.255.255.10    10.255.255.10    0x80000003   380  0x22 0xb87e  72

Router   10.255.255.20    10.255.255.20    0x80000003   246  0x22 0x78bc  60

OpaqArea 1.0.0.0              10.255.255.10    0x80000001   663  0x20 0xacfd  28

OpaqArea 1.0.0.0              10.255.255.20    0x80000001   585  0x20 0xd4c1  28

OpaqArea*1.0.0.1             10.255.255.1     0x80000001   391  0x22 0x1cfc  28

OpaqArea 1.0.0.1              10.255.255.2     0x80000001   259  0x22 0x20f6  28

OpaqArea 1.0.0.2              10.255.255.10    0x80000001   380  0x20 0x418a 132

OpaqArea*1.0.0.3             10.255.255.1     0x80000001   379  0x22 0x22b0 136

OpaqArea 1.0.0.3               10.255.255.2     0x80000001   251  0x22 0xd112 136

OpaqArea 1.0.0.3               10.255.255.20    0x80000001   247  0x20 0x2295 132

OpaqArea*1.0.0.4              10.255.255.1     0x80000001   250  0x22 0xebf6 136

OpaqArea 1.0.0.4               10.255.255.2     0x80000001   246  0x22 0x6a53 136

LDP ADJ and MPLS Forwarding-Table Cisco

PE1#show mpls ldp neighbor

    Peer LDP Ident: 10.255.255.1:0; Local LDP Ident 192.168.255.10:0

        TCP connection: 10.255.255.1.646 – 192.168.255.10.23153

        State: Oper; Msgs sent/rcvd: 10/5; Downstream

        Up time: 00:00:07

        LDP discovery sources:

          GigabitEthernet0/1, Src IP addr: 1.1.1.5

        Addresses bound to peer LDP Ident:

          1.1.1.1         1.1.1.5

PE1#show mpls forwarding-table

Local      Outgoing       Prefix                       Bytes Label   Outgoing   Next Hop

Label      Label              or Tunnel Id           Switched      interface

16         No Label          1.1.1.0/30                   0                     Gi0/1      1.1.1.5

17         No Label          1.1.1.8/30                   0                     Gi0/1      1.1.1.5

18    [T]  Pop Label      192.168.255.20/32   0                     Tu20       point2point

19         Pop Label        10.255.255.1/32       0                      Gi0/1      1.1.1.5

LDP ADJ and MPLS-LSP Status Junos

root@P1> show ldp neighbor

Address            Interface          Label space ID         Hold time

1.1.1.2            em0.0              10.255.255.2:0           12

1.1.1.6            em1.0              192.168.255.10:0         12

!

ospf {

        traffic-engineering;

        area 0.0.0.0 {

            }

            interface lo0.0;

root@P1> show mpls lsp

Ingress LSP: 0 sessions

Total 0 displayed, Up 0, Down 0

Egress LSP: 0 sessions

Total 0 displayed, Up 0, Down 0

Transit LSP: 2 sessions

To                           From                    State   Rt Style Labelin Labelout LSPname

192.168.255.10  192.168.255.20  Up       1  1 SE  299856        0 to-pe1

192.168.255.20  192.168.255.10  Up       1  1 SE  299872   299856 to-pe2

Total 2 displayed, Up 2, Down 0

MPLS TE Tunnel Cisco

PE1#show mpls traffic-eng tunnels tunnel 20

Name: to-pe2                              (Tunnel20) Destination: 192.168.255.20

  Status:

    Admin: up         Oper: up     Path: valid       Signalling: connected

    path option 10, type dynamic (Basis for Setup, path weight 3)

  Config Parameters:

    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF

    Metric Type: TE (default)

    AutoRoute:  enabled   LockDown: disabled  Loadshare: 0        bw-based

    auto-bw: disabled

  Active Path Option Parameters:

    State: dynamic path option 10 is active

    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled

  InLabel  :  –

  OutLabel : GigabitEthernet0/1, 299872

  RSVP Signalling Info:

       Src 192.168.255.10, Dst 192.168.255.20, Tun_Id 20, Tun_Instance 29

    RSVP Path Info:

      My Address: 1.1.1.6

      Explicit Route: 1.1.1.5 1.1.1.2 1.1.1.10 192.168.255.20

      Record   Route:   NONE

      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits

    RSVP Resv Info:

      Record   Route:  10.255.255.1 1.1.1.5(299872) 10.255.255.2

                       1.1.1.2(299856) 192.168.255.20(0)

      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits

 Shortest Unconstrained Path Info:

    Path Weight: 3 (TE)

    Explicit Route: 1.1.1.5 1.1.1.2 1.1.1.10 192.168.255.20

  History:

    Tunnel:

      Time since created: 1 hours, 43 minutes

      Time since path change: 1 hours, 14 minutes

      Number of LSP IDs (Tun_Instances) used: 29

    Current LSP:

      Uptime: 1 hours, 14 minutes

      Selection: reoptimization

    Prior LSP:

      ID: path option 10 [28]

      Removal Trigger: path error

PE1#

Torna in alto