DHCPv6 and MAC Address inclusion

Michael Dean Pugh mdpugh at hotmail.com
Wed Jan 25 20:00:05 UTC 2012

I'm jumping in at the end here and not responding to any particular post.  I 
have followed this thread with great interest.  This seems like a good time to 
make an observation and ask a question.

There is much talk about deriving the MAC address from IPv6 identifiers.  
While it's true that in most cases (every case I've personally observed--
Windows and FreeBSD) the MAC is part of the DUID, this is only useful if the 
host has one interface as the DUID is unique to the host not the interface (I 
think we're all in agreement here).  Also, once the host has assigned itself 
the DUID, the interface can be replaced, but the DUID will remain the same, so 
the MAC address derived from the DUID at this point would be invalid.  Again, 
this is with Windows and FreeBSD.

Now, the observation.  Microsoft encodes the first 24 bits of the MAC address 
(the manufacturer portion) in the IAID by directly copying them into the last 
24 bits of the IAID.  In other words, if the MAC is 01:23:45:ab:cd:ef, the 
IAID is xy012345(Hex) for some x and y.  This has limited usefulness since it 
is entirely possible to have more than one interface from the same 
manufacturer installed in one host (it seems like it would have made more 
sense to have used the last 24 bits of the MAC).

This brings me to the question.  Does anyone know how the first 8 bits of the 
IAID are derived by Microsoft?  I'm pretty sure I found this somewhere on the 
Internet, but have been unable to find it again.  I'm also wondering if 
Microsoft's IAID algorithm is based on any standards or if the IAID is merely 
a 32-bit number.  It does seem that the IAID holds enough information to 
uniquely identify each interface on a single managed network.

More information about the dhcp-users mailing list