多播mac是指第40位为1的mac还是指第一个字节为1的地址,比如一个mac地址存放到一个uchar_t mac[6]中,判断其是多播mac的方法是mac[0]==0x01还是mac[0] & 0x01。谢谢。
多播MAC与多播IP地址存在一个映射关系:
多播MAC地址的前25位强行规定为01:00:5e,后23位对应多播IPv4地址的后23位
例如,组播地址为224.0.0.5,对应的MAC地址为01:00:5E:00:00:05。
MAC地址总共48比特位,第40比特位位1便为多播mac。例如:01:00:5e
:00: 00:00na
还有01-80-c2-00-00-xx也属于组播mac,也就是说只要是比特位40为1就可以。
组播mac是指第40位为1的mac,01:00:5e:x:x:x是ip组播mac。
7楼说的是正确的。
很多人经常把组播MAC和IP组播MAC混淆,认为只有01-00-5e开头的MAC才是多播MAC地址,这其实个误解。