欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

重要组播技术——理解组播地址及组播MAC地址

最编程 2024-01-04 19:25:35
...
  1. MAC地址存在三种类型,它们分别是单播MAC地址、组播MAC地址以及广播MAC地址。
  2. 对于以太网单播帧而言,帧头中写入的目的MAC地址是该帧在链路层面上的目的设备的MAC地址,该目的MAC地址必定是一个单播 MAC地址,这个地址属于唯一的设备 ;广播数据帧的目的MAC地址为广播地址( ffff:ffff:ffff),这些数据帧被发往同一个广播域内的所有设备;而组播数据帧是发往一组接受者的, 其目的MAC地址必须是组播MAC地址。
  3. 一个MAC地址共计48bit,也就是6个八位组,其中第一个八位组的最低比特位标识了该MAC地址的类型,如果该比特位为0,那么意味着这是一个单播MAC地址,如果为1则是组播MAC地址(如下图所示)。在这里插入图片描述
  4. 广播MAC地址是一个特殊的组播MAC地址,实际上组播MAC地址共有2^47个,占据了整个MAC地址空间的一半。
  5. 在以太网环境中,组播IP报文需被封装成以太网数据帧以便在链路上传输,而这些数据帧的目的MAC地址必须是组播MAC地址,并且必须与该报文的组播目的IP地址相对应

组播IP地址与组播MAC的映射

  • 与组播IPv4地址相对应的组播MAC地址的高25bit是固定的(其中高24bit是0x01005e,第25个比特位为0),而剩余的23bit则从其对应的组播IPv4地址的低23bit拷贝得来,因此与组播IPv4地址相对应的组播MAC地址的范围是0100-5e00-0000至0100-5e7f-ffff,这是整个组播MAC地址空间的一个子集。
  • 与组播IPv6地址相对应的组播MAC地址的高16bit是固定的33-33,剩余的32bit从对应的IPv6地址的低32bit拷贝而来。

组播IP地址与组播MAC的映射示例

如下图所示,展示了一个组播IP地址230.20.88.76对应的组播MAC地址该如何计算的示例。

  1. 首先将该IP地址换算成二进制格式,
  2. 然后将其低23bit拷贝到MAC地址的低23bit,而MAC地址的高25bit是固定的,这就得到了组播IP地址230.20.88.76对应的组播MAC地址:0100-5e14-584c。
    在这里插入图片描述
  3. 值得注意的是,由于组播IP地址的前4bit是固定的“1110”,而其最后23bit被拷贝到对应的组播MAC地址中,因此组播IP地址中有5bit没有被映射到组播MAC地址,这样就存在每2^5个组播IP地址共享一个组播MAC地址的现象,这个现象在某些场景下可能对网络造成影响,因此网络管理员在进行组播网络设计的时候需考虑到这一点。