Due provider descrivono la stessa etichetta di servizio, e solo uno di loro menziona un’intestazione UDP. La differenza non è cosmetica: mettere MPLS dentro UDP cambia ciò che la rete IP esterna può vedere, e quindi ciò che può hashare sui collegamenti paralleli. Cambia anche chi è autorizzato a distribuirlo.

Gli strati sono abbastanza brevi da memorizzare: IP esterno, poi UDP, poi lo stack di etichette MPLS, poi il carico utile del servizio. Lo stack di etichette non scompare; decide ancora l’inoltro all’endpoint che riprende la commutazione di etichetta.

Che cosa aggiunge l’involucro UDP

La RFC 7510 definisce questa incapsulazione con la porta di destinazione UDP 6635 e usa il campo porta di origine per trasportare l’entropia di flusso. Il dispositivo che incapsula decide che cosa conta come flusso e come derivare il valore; lo standard deliberatamente non impone un hash specifico. Questo lascia spazio al comportamento del fornitore, e significa che due implementazioni possono produrre distribuzioni diverse per lo stesso mix di traffico. Leggi il valore come un suggerimento offerto all’underlay, non come una decisione di routing presa dallo standard.

Il beneficio è indiretto. Una rete di transito che bilancia il carico su una quintupla esterna ora ha qualcosa da hashare, mentre un pacchetto MPLS nudo poteva offrire solo l’etichetta superiore. Se questo aiuti dipende dalla piattaforma che esegue il bilanciamento e da quali campi considera davvero.

L’entropia non è larghezza di banda

Distribuire i flussi in modo più uniforme sui collegamenti disponibili non è lo stesso che combinarli in un unico percorso più veloce. Un singolo flusso applicativo viaggia ancora su un percorso, e il bilanciamento per flusso non può superare la capacità del collegamento su cui atterra. Il meccanismo non garantisce nemmeno una distribuzione uniforme; dà solo input migliori a una funzione hash.

Mantieni stabile l’involucro per un dato flusso, a meno che il riordino sia accettabile. Se la porta di origine cambia per ogni pacchetto, l’underlay diffonderà volentieri una conversazione su più percorsi e il riassemblaggio diventerà un problema dell’applicazione. L’obiettivo è un’entropia coerente per flusso, non una novità costante.

Il confine di distribuzione fa parte della specifica

La RFC 7510 limita la distribuzione alla rete di un singolo operatore o a un insieme adiacente di operatori cooperanti, con il traffico gestito per evitare la congestione. Chiede anche un filtraggio che impedisca al traffico incapsulato di uscire da quel dominio. Non sono condizioni decorative; derivano dal fatto che l’incapsulamento non aggiunge sicurezza propria. Trattale come prerequisiti per una distribuzione legittima, non come suggerimenti in una nota di progettazione.

Niente nell’intestazione UDP autentica il mittente, e niente in essa fornisce riservatezza o integrità per il carico utile. Se il traffico ha bisogno di protezione, questa proviene da un meccanismo separato con la propria gestione delle chiavi. Scegliere MPLS-in-UDP non migliora il modello di fiducia.

Attenzione a ciò che la protezione fa all’hashing desiderato

Aggiungi IPsec o un’altra incapsulazione di sicurezza, e l’intestazione esterna che i dispositivi di transito hashan possono cambiare forma del tutto. La modalità tunnel può nascondere la porta di origine UDP interna dietro una nuova intestazione esterna, il che significa che l’entropia fornita con cura potrebbe non essere visibile dove avviene il bilanciamento. Cifrare prima e incapsulare dopo è un progetto diverso dall’ordine inverso, e la differenza si manifesta come un collegamento che trasporta molto più traffico dei suoi vicini.

Valuta il pacchetto completo come appare sul filo, non solo lo strato descritto dallo standard. È anche il momento di riconsiderare l’MTU e la capacità dell’endpoint, perché un’intestazione UDP più qualsiasi sovraccarico di sicurezza riduce il carico utile che entra.

Decidi con l’intero percorso in vista

Confronta MPLS-in-UDP con alternative come GRE secondo i criteri che contano per la tua rete: su quali campi bilancia l’underlay, quanto sovraccarico puoi permetterti, quale involucro di sicurezza è richiesto e se il confine del dominio può essere imposto. Attribuirgli un vantaggio di prestazioni incondizionato rispetto a GRE è una conclusione che gli standard non supportano.

Poi prova con mix di traffico reali e controlla l’utilizzo dei collegamenti per membro, perché un hash che sembra buono in laboratorio può collassare su un solo collegamento quando ogni flusso condivide la stessa tupla. Il riassunto onesto è che l’incapsulamento espone informazioni che l’underlay può usare, dentro un dominio che ha accettato di gestirle.

Articoli correlati