Formati degli indirizzi MAC e relazione EUI-64
Normalizza i comuni moduli di testo a 48 bit e comprendi la trasformazione EUI-64 definita.
Riepilogo IA
I separatori MAC cambiano la presentazione, non i byte sottostanti. Convalidare gli input a sei byte prima della conversione; distinguere l'espansione ordinaria dell'EUI-64 dall'EUI-64 modificato.
Più stringhe possono rappresentare gli stessi 48 bit
Gli esempi includono 00:11:22:AA:BB:CC, 00-11-22-AA-BB-CC e 0011.22AA.BBCC. Analizza esattamente sei ottetti dopo aver rimosso i separatori supportati; rifiutare caratteri misti, extra o non esadecimali.
La ricetta IID EUI-64 modificata legacy
Per la ricetta dell'identificatore di interfaccia IPv6 legacy documentata nella RFC 4291, inserire FF:FE tra il primo e gli ultimi tre ottetti di un indirizzo del livello di collegamento a 48 bit, quindi invertire il bit universale/locale. Questa è una costruzione IID EUI-64 modificata; non si afferma che l'output sia l'indirizzo IPv6 corrente dell'interfaccia.
Input 48-bit address: 00:11:22:AA:BB:CC Insert FF:FE for legacy IID: 00:11:22:FF:FE:AA:BB:CC Invert U/L bit (Modified IID): 02:11:22:FF:FE:AA:BB:CC IPv6 IID grouping: 0211:22ff:feaa:bbcc
I moderni IID stabili non dovrebbero incorporare un MAC stabile per impostazione predefinita
RFC 8064 aggiorna la raccomandazione predefinita: utilizzare RFC 7217 per identificatori di interfaccia SLAAC stabili e non incorporare un indirizzo del livello di collegamento stabile per impostazione predefinita. Un valore a forma di EUI-64 da solo non può dimostrare come è stato generato un IID.
Utilizzare un parser che rifiuti l'ambiguità
Testare ogni notazione accettata, esadecimale minuscolo, riempimento zero, lunghezze non valide ed esempi multicast/locali. Conserva l'input originale per la visualizzazione mentre utilizzi byte normalizzati per il confronto.