一、基于mac地址的socket通信(无需IP地址)
// PF_PACKET 表示创建链路层socket
// SOCK_RAW 接收的数据从mac层开始
// ETH_P_ALL 接受所有的协议类型数据
int fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
二、基于mac地址的网络广播通信
单播mac地址,第一个字节最低位为0(0x xxxxxxx0 XX XX XX XX XX),
组播mac地址,第一个字节最低位为1(0x xxxxxxx1 XX XX XX XX XX),
广播mac地址,mac地址为全F(FF:FF:FF:FF:FF:FF),