Passa al contenuto principale

RFC 5036 - Specifica LDP (Label Distribution Protocol)

  • Stato: Draft Standard
  • Pubblicato: October 2007
  • Stream: IETF
  • Sostituisce: RFC3036
  • Errata: Nessun errata

Riassunto

L'architettura per il Multi-Protocol Label Switching (MPLS) è descritta nell'RFC 3031. Un concetto fondamentale in MPLS è che due Label Switching Router (LSR) devono concordare sul significato delle etichette utilizzate per inoltrare il traffico tra e attraverso di essi. Questa comprensione comune è ottenuta utilizzando un insieme di procedure, chiamato protocollo di distribuzione delle etichette, mediante il quale un LSR informa un altro delle associazioni di etichette che ha effettuato. Questo documento definisce un insieme di tali procedure chiamate LDP (per Label Distribution Protocol) mediante le quali gli LSR distribuiscono le etichette per supportare l'inoltro MPLS lungo percorsi normalmente instradati.

1. Panoramica LDP

LDP è un protocollo definito per la distribuzione delle etichette. È l'insieme di procedure e messaggi mediante i quali i Label Switching Router (LSR) stabiliscono percorsi a commutazione di etichetta (LSP) attraverso una rete mappando le informazioni di instradamento del livello di rete direttamente sui percorsi commutati del livello di collegamento dati.

LDP associa una classe di equivalenza di inoltro (FEC) a ciascun LSP che crea. La FEC associata a un LSP specifica quali pacchetti sono "mappati" a quell'LSP.

1.1 Peer LDP (LDP Peers)

Due LSR che utilizzano LDP per scambiare informazioni di mappatura etichetta/FEC sono noti come "Peer LDP" rispetto a tali informazioni, e si parla di una "Sessione LDP" tra di loro. Una singola sessione LDP consente a ciascun peer di apprendere le mappature delle etichette dell'altro; cioè, il protocollo è bidirezionale.

1.2 Scambio di messaggi LDP

Esistono quattro categorie di messaggi LDP:

  1. Messaggi di scoperta (Discovery messages): utilizzati per annunciare e mantenere la presenza di un LSR in una rete.
  2. Messaggi di sessione (Session messages): utilizzati per stabilire, mantenere e terminare le sessioni tra peer LDP.
  3. Messaggi di annuncio (Advertisement messages): utilizzati per creare, modificare ed eliminare le mappature delle etichette.
  4. Messaggi di notifica (Notification messages): utilizzati per fornire informazioni consultive e segnalare informazioni sugli errori.

1.3 Struttura dei messaggi LDP

Lo scambio di messaggi LDP avviene tramite LDP PDU (Protocol Data Unit). Ogni LDP PDU contiene un'intestazione LDP, seguita da uno o più messaggi LDP.

2. Operazione LDP

2.2 Spazi delle etichette, Identificatori, Sessioni e Trasporto

  • Spazio delle etichette: Ogni LSR gestisce uno o più spazi delle etichette.
  • Identificatore LDP: Lungo 6 byte, utilizzato per identificare in modo univoco lo spazio delle etichette di un LSR. Formato <LSR Id>:<Label Space Id>.
  • Sessioni LDP: Stabilite tra due LSR per scambiare mappature delle etichette.
  • Trasporto LDP: LDP utilizza TCP come protocollo di trasporto affidabile per la comunicazione di sessione (porta 646). Il meccanismo di scoperta utilizza UDP (porta 646).

2.4 Scoperta LDP

Il meccanismo di scoperta LDP consente agli LSR di identificare potenziali peer LDP.

  • Meccanismo di scoperta di base: Utilizzato per scoprire vicini LSR direttamente connessi. Gli LSR inviano periodicamente messaggi LDP Link Hello (multicast UDP) su ciascuna interfaccia.
  • Meccanismo di scoperta esteso: Utilizzato per scoprire vicini LSR non direttamente connessi (cioè sessioni mirate). Gli LSR inviano periodicamente messaggi LDP Targeted Hello (unicast UDP) a un indirizzo specifico.

2.5 Stabilire e mantenere sessioni LDP

Il processo di creazione della sessione include:

  1. Creazione della connessione di trasporto (TCP).
  2. Inizializzazione della sessione (scambio di messaggi di inizializzazione, negoziazione di parametri come tempo KeepAlive, lunghezza massima PDU, ecc.).

2.6 Distribuzione e gestione delle etichette

LDP supporta diverse modalità di distribuzione delle etichette:

  1. Modalità di controllo della distribuzione delle etichette (Label Distribution Control Mode):

    • Controllo indipendente (Independent Control): Un LSR può annunciare mappature delle etichette ai peer in qualsiasi momento, senza attendere una mappatura da valle.
    • Controllo ordinato (Ordered Control): Un LSR annuncia una mappatura delle etichette a un peer solo se ha ricevuto una mappatura delle etichette dal next hop a valle, o se è esso stesso il nodo di uscita.
  2. Modalità di conservazione delle etichette (Label Retention Mode):

    • Conservazione conservativa (Conservative Retention): Mantiene solo le mappature delle etichette annunciate dal vicino next hop utilizzato per inoltrare i dati.
    • Conservazione liberale (Liberal Retention): Mantiene tutte le mappature delle etichette annunciate dai vicini, indipendentemente dal fatto che il vicino sia il next hop o meno.
  3. Modalità di annuncio delle etichette (Label Advertisement Mode):

    • Downstream on Demand: Un LSR a valle annuncia una mappatura delle etichette solo quando richiesto dall'LSR a monte.
    • Downstream Unsolicited: Un LSR a valle annuncia in modo proattivo le mappature delle etichette ai suoi vicini, senza richiesta.

3. Specifica del protocollo

3.1 LDP PDU

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version | PDU Length | LDP Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.5 Messaggi LDP

I principali tipi di messaggi includono:

  • Hello Message: Utilizzato per la scoperta e il mantenimento delle adiacenze.
  • Initialization Message: Utilizzato per negoziare i parametri della sessione.
  • KeepAlive Message: Utilizzato per monitorare lo stato attivo della sessione.
  • Label Mapping Message: Utilizzato per annunciare le associazioni delle etichette.
  • Label Request Message: Utilizzato per richiedere le associazioni delle etichette.
  • Label Withdraw Message: Utilizzato per ritirare le associazioni delle etichette.
  • Label Release Message: Utilizzato per rilasciare le associazioni delle etichette.
  • Notification Message: Utilizzato per segnalare errori o avvisi.

Nota: Questa traduzione è fornita come riferimento. Consultare l'RFC 5036 originale per i dettagli ufficiali.