IPv4地址的组播MAC地址:
- 组播MAC地址高24位固定为0x01005E,第25位为0
- 组播MAC地址低23位为IPv4地址的低23位
以上规则是IANA规定的,因为IPv4组播地址的高4位是1110,则显然根据以上转换关系,IPv4地址的后28位只有23位被映射到组播MAC地址中,丢失了5位,2的5次方等于32,则这32个IPv4组播地址会映射到同一个MAC地址上,所以L2处理中可能收到其他的IPv4组播组的报文,需要更上层的过滤实现来处理。
示例:225.1.2.3的MAC地址
____ ____ ____ ____ 1110 0001 0000 0001 0000 0010 0000 0011
0000 0001 0000 0000 0101 1110 0000 0001 0000 0010 0000 0011
(注意:上面一行的1110紧接着的后5位,00010,就是被丢掉的5位)
故对应MAC地址为01-00-5E-01-02-03
IPv6地址的组播MAC地址:
IPv6的转换关系简单得多,组播MAC地址的前16位固定为0x3333,后32位即IPv6组播地址的低32位。
示例:FF12::1111:2222/64的MAC地址为33-33-11-11-22-22