4.1. Packet Flow Sequence (Sequenza del flusso dei pacchetti)
4.1. Packet Flow Sequence (Sequenza del flusso dei pacchetti)
Questa sezione fornisce un esempio del flusso di pacchetti unicast con le seguenti ipotesi:
-
L'host di origine "host1.abc.example.com" invia pacchetti a "host2.xyz.example.com", con host1 che si comporta esattamente come farebbe se il sito non utilizzasse LISP.
-
Ogni sito è multihomed, quindi ciascun tunnel router ha assegnato un indirizzo (RLOC) dal blocco di indirizzi di ciascun provider a cui è connesso.
-
L'ITR e l'ETR sono collegati direttamente all'origine e alla destinazione, rispettivamente, ma l'origine e la destinazione possono trovarsi ovunque all'interno di un sito LISP.
-
Un Map-Request può essere inviato sulla topologia del sistema di instradamento sottostante, al sistema di database di mappatura, o direttamente attraverso un'Alternative Logical Topology [RFC6836]. Un Map-Request viene inviato quando una destinazione esterna non viene trovata nella tabella di inoltro o corrisponde a una rotta predefinita.
-
Un Map-Reply viene inviato sulla topologia del sistema di instradamento sottostante.
Il client host1.abc.example.com desidera comunicare con il server host2.xyz.example.com:
-
host1.abc.example.com desidera aprire una connessione TCP a host2.xyz.example.com. Esegue una ricerca DNS su host2.xyz.example.com. Viene restituito un record A/AAAA. Questo indirizzo è l'EID di destinazione. L'indirizzo assegnato localmente di host1.abc.example.com viene utilizzato come EID di origine. Un pacchetto IPv4 o IPv6 viene costruito e inoltrato all'interno del sito LISP come un normale pacchetto IP fino a quando raggiunge un ITR LISP.
-
L'ITR LISP deve essere in grado di mappare l'EID di destinazione a un RLOC di un ETR nel sito di destinazione. Questo esempio non descrive il metodo specifico utilizzato. I possibili schemi sono descritti in [RFC6836] o [CONS].
-
L'ITR invierà un Map-Request LISP. I Map-Request dovrebbero essere limitati in frequenza.
-
Quando non viene utilizzato un sistema di mappatura alternativo, il pacchetto Map-Request viene instradato attraverso il sistema di instradamento sottostante. Altrimenti, il pacchetto Map-Request viene instradato su una topologia logica alternativa, ad esempio il sistema di mappatura del database [RFC6836]. In entrambi i casi, quando il Map-Request arriva a uno degli ETR nel sito di destinazione, lo tratterà come un messaggio di controllo.
-
L'ETR esamina l'EID di destinazione del Map-Request e lo confronta con i prefissi nel database di mappature EID-to-RLOC configurato sull'ETR. Questo è l'elenco degli EID-Prefix per i quali l'ETR supporta il sito in cui si trova. Se non viene trovata corrispondenza, il Map-Request viene scartato. Altrimenti, viene restituito un Map-Reply LISP all'ITR.
-
L'ITR riceve il messaggio Map-Reply, analizza il messaggio (per controllare la validità del formato) e memorizza le informazioni di mappatura dal pacchetto. Queste informazioni vengono memorizzate nella cache di mappatura EID-to-RLOC dell'ITR. Si noti che la map-cache è una cache su richiesta. L'ITR gestirà la propria map-cache in modo da ottimizzare i suoi vincoli di risorse.
-
I pacchetti successivi da host1.abc.example.com a host2.xyz.example.com avranno un header LISP aggiunto dall'ITR, utilizzando l'RLOC appropriato appreso dall'ETR come indirizzo di destinazione dell'header LISP. Si noti che i pacchetti possono essere inviati a un ETR diverso da quello che ha restituito il Map-Reply a causa della politica di hashing del sito di origine o della politica del Locator-Set del sito di destinazione.
-
L'ETR riceve direttamente questi pacchetti (poiché l'indirizzo di destinazione è uno dei suoi indirizzi IP assegnati), controlla la validità dell'indirizzo, rimuove l'header LISP e inoltra il pacchetto all'host di destinazione collegato.
Per differire la necessità di una ricerca di mappatura nella direzione inversa, l'ETR può creare una voce cache che mappa l'EID di origine (indirizzo IP di origine dell'header interno) all'RLOC di origine (indirizzo IP di origine dell'header esterno) nel pacchetto LISP ricevuto. Tali voci cache sono chiamate mappature "gleaned" e contengono solo un singolo RLOC per quell'EID. Le informazioni più complete sugli RLOC aggiuntivi dovrebbero essere verificate inviando un Map-Request LISP per quell'EID. Anche l'ITR e l'ETR possono influenzare le decisioni di selezione RLOC dell'altro. Vedere la Sezione 6 per maggiori dettagli.