3.2.2. Sample Code for Pseudo-Random Global ID Algorithm (Codice di esempio per algoritmo Global ID pseudo-casuale)
3.2.2. Sample Code for Pseudo-Random Global ID Algorithm (Codice di esempio per algoritmo Global ID pseudo-casuale)
L'algoritmo descritto di seguito è destinato ad essere utilizzato per Global ID assegnati localmente. In ogni caso il Global ID risultante sarà utilizzato nel prefisso appropriato come definito nella Sezione 3.2.
-
Ottenere l'ora corrente del giorno in formato NTP a 64 bit [NTP].
-
Ottenere un identificatore EUI-64 dal sistema che esegue questo algoritmo. Se un EUI-64 non esiste, uno può essere creato da un indirizzo MAC a 48 bit come specificato in [ADDARCH]. Se un EUI-64 non può essere ottenuto o creato, dovrebbe essere utilizzato un identificatore adeguatamente univoco, locale al nodo (ad esempio, numero di serie del sistema).
-
Concatenare l'ora del giorno con l'identificatore specifico del sistema per creare una chiave.
-
Calcolare un digest SHA-1 sulla chiave come specificato in [FIPS, SHA1]; il valore risultante è di 160 bit.
-
Utilizzare i 40 bit meno significativi come Global ID.
-
Concatenare
FC00::/7, il bit L impostato a 1, e il Global ID a 40 bit per creare un prefisso di indirizzo IPv6 locale.
Questo algoritmo risulterà in un Global ID che è ragionevolmente univoco e può essere utilizzato per creare un prefisso di indirizzo IPv6 locale assegnato localmente.