6.5. Routing Locator Hashing (Hashing del Routing Locator)
6.5. Routing Locator Hashing (Hashing del Routing Locator)
Quando un ETR fornisce una mappatura EID-to-RLOC a un ITR richiedente in un Map-Reply, ciascun indirizzo locator nel Locator-Set per quel EID-Prefix può avere valori di Priority diversi. Quando esistono più Locator con la stessa Priority ottimale, l'ITR può decidere come bilanciare il carico del traffico tra questi Locator.
L'ITR può utilizzare il seguente algoritmo di hashing per selezionare un Locator per i pacchetti destinati a un particolare EID da una mappatura EID-to-RLOC:
-
Può essere utilizzato un hash degli indirizzi di origine e di destinazione o un hash tradizionale della tupla a 5 elementi. L'hash tradizionale della tupla a 5 elementi include gli indirizzi di origine e di destinazione, i numeri di porta TCP, UDP o Stream Control Transmission Protocol (SCTP) di origine e di destinazione, e il campo numero di protocollo IP o il campo Next Header di IPv6 del pacchetto originato dagli host all'interno di un sito LISP. Quando i pacchetti non sono TCP, UDP o SCTP, l'hash viene calcolato solo sugli indirizzi di origine e di destinazione nell'header.
-
Il valore hash viene diviso per il numero di Locator memorizzati nel Locator-Set della mappatura EID-to-RLOC.
-
Il resto sarà compreso nell'intervallo da 0 a "numero di Locator meno 1". Il resto viene utilizzato per selezionare il Locator nel Locator-Set.
Si noti che quando si incapsula LISP, il numero di porta di origine nell'header UDP esterno deve essere impostato. La scelta di un valore hash consente ai router core collegati ai Link Aggregation Groups (LAG) di bilanciare il carico dei pacchetti incapsulati sui collegamenti membri del LAG. Altrimenti, i router core vedrebbero un singolo flusso poiché l'indirizzo di origine del pacchetto è l'ITR e i pacchetti originati da diversi EID nel sito di origine dovrebbero essere distinti. È RACCOMANDATO che un ITR imposti il numero di porta di origine al risultato di una funzione hash di hashing della tupla a 5 elementi descritta sopra sull'header interno.
Molte implementazioni di router core utilizzano un hash della tupla a 5 elementi per bilanciare il carico dei pacchetti tra i membri di un LAG. La tupla a 5 elementi include gli indirizzi di origine e di destinazione del pacchetto e le porte di origine e di destinazione quando il numero di protocollo è TCP o UDP. Pertanto, l'incapsulamento LISP utilizza la codifica UDP.