Chiedete a un ingegnere quanto aggiungere per MPLS e sentirete un numero, di solito trenta, detto con sicurezza. Il numero non è tanto sbagliato quanto sganciato: dipende interamente da cosa conta la cifra iniziale e da cosa trasmette davvero il bordo del provider. Su uno pseudowire Ethernet le ipotesi sono visibili, e appena le scrivete, l'aritmetica sostituisce il folclore.

Tre cose diverse vengono misurate sotto un solo nome. Ci sono il pacchetto IP del cliente, la trama Ethernet trasportata sullo pseudowire e l'incapsulamento esterno del collegamento del provider. Un budget che li mescola produce un valore che nessun campo del dispositivo si aspetta.

Un budget calcolato con ogni ipotesi dichiarata

Prendete un pacchetto IP del cliente da 1500 byte, un'intestazione Ethernet ordinaria trasportata sullo pseudowire senza il FCS del cliente, nessun tag VLAN conservato, uno stack di etichette a due voci e una parola di controllo di quattro byte. L'intestazione Ethernet trasportata aggiunge 14, i tag conservati non aggiungono nulla, le due voci di etichetta aggiungono 8 perché ogni voce è di 4 byte, e la parola di controllo aggiunge 4. Questo dà 1526 byte di pacchetto incapsulato in MPLS.

Leggete il risultato con attenzione. Esclude l'intestazione Ethernet esterna del collegamento del provider e il suo FCS, ed è un esempio, non una costante da digitare in qualsiasi campo chiamato MTU. Anche due etichette sono un'ipotesi: lo stack reale può portare un'etichetta di trasporto, un'etichetta di servizio e a volte altro, e ogni voce costa gli stessi 4 byte.

Cosa attraversa davvero lo pseudowire

La RFC 4448 definisce come viaggiano le trame Ethernet dentro MPLS, e nel suo modello ordinario il preambolo e il FCS del cliente vengono rimossi in ingresso e rigenerati in uscita. Per questo il FCS non compare nel budget qui sopra. La gestione VLAN dipende dalla modalità di servizio: una modalità che conserva i tag del cliente ne aggiunge di nuovo i byte, e una modalità che li mappa non lo fa. La conservazione aggiuntiva o l'incapsulamento extra vanno contati in più.

La parola di controllo fa parte dell'aritmetica ogni volta che viene usata. La RFC 8469 la raccomanda per gli pseudowire Ethernet, quindi un testo più vecchio che la descrive come opzionale non è prova che il vostro percorso la ometta. Confermate la modalità di servizio reale con il provider invece di dedurla da un diagramma.

Confrontate il numero con il campo corretto

Ora mettete la dimensione incapsulata richiesta accanto a ogni collegamento rilevante, e accanto alla definizione del fornitore del limite che state configurando. Alcuni campi descrivono un pacchetto IP, altri descrivono una trama o un altro confine di incapsulamento. Due numeri possono sembrare identici e descrivere capacità diverse, ed è così che una configurazione che sembra adatta produce scarti in produzione.

È anche per questo che copiare un valore tra piattaforme non correlate è rischioso. Il nome del campo è la specifica, non il numero decimale che ricordate dalla console di un altro fornitore.

I carichi utili di ping non sono valori di MTU

Il carico utile di un ping IPv4 non è una MTU IP. Anche l'intestazione IP e l'intestazione ICMP consumano byte, quindi una dimensione del carico che riesce corrisponde a un pacchetto più grande sul filo. Una sonda che passa a una certa dimensione non dice nulla nemmeno su un servizio che usa un'altra modalità VLAN o uno stack di etichette più profondo. Il test misura un percorso, una dimensione e una forma di carico, e il servizio può variare tutte e tre.

Peggio ancora, un ping può riuscire mentre le trame grandi falliscono, perché la sonda ha esercitato un percorso e una dimensione che il traffico reale non usa mai. Trattatelo come un singolo punto dati sulla raggiungibilità, non come una specifica di servizio di livello 2.

Quando la trama non entra

Se le trame sovradimensionate non possono essere trasportate e non esiste un meccanismo di frammentazione o riassemblaggio supportato, vengono scartate, di solito senza un errore pulito a nessuno dei due estremi. Le applicazioni mostrano allora timeout sui trasferimenti massivi mentre le sessioni interattive restano sane, il che manda le persone a guardare firewall e route invece di contare i byte.

Risolvete il budget reale con il provider: modalità di servizio, gestione dei tag, profondità delle etichette, parola di controllo e il limite esatto che il vostro dispositivo applica. Scrivete le ipotesi accanto al numero, perché altrimenti l'ingegnere successivo erediterà la regola dei trenta byte e un mistero.

Articoli correlati