在 IGMP V2 成员报告消息中,目标以太网地址不是基于组播组 IP 地址吗?

网络工程 以太网 多播 igmp
2022-02-27 21:59:54

具体来说,我认为对于这种消息类型,以太网目标地址总是以 01:00:5E 开头,然后是 IP 地址的第二个字节,掩码为 0x7F,然后是 IP 地址的第三和第四个字节,没有变化。因此,例如,给定一个多播组 239.255.77.77,以太网目标地址将是 01:00:5E:7F:4D:4D。

那是对的吗?

1个回答

具体来说,我认为对于这种消息类型,以太网目标地址总是以 01:00:5E 开头...

这仅适用于 IPv4 多播,它附加了 IPv4 多播地址的最后 23 位以到达以太网多播 MAC 地址。这意味着有 32 个 IPv4 多播地址可解析为每个以太网多播地址(28 位 - 23 位 = 5 位,并且 2^5=32)。IPv4 多播使用 IGMP。

IPv6 多播 MAC 地址以 开头33:33,并附加 IPv6 多播地址的最后 32 位以到达以太网多播 MAC 地址。这意味着有很多很多 IPv6 多播地址可以解析为每个以太网多播地址(IPv6 比 IPv4 更复杂,因为 IPv6 具有改变其工作方式的标志和范围)。IPv6 多播使用 MLD。

从技术上讲,每个具有最高有效八位组的最低有效位的 MAC 地址1都是多播(组地址),IEEE 本身定义了一些多播地址,一些 RFC 和其他具有 OUI 的供应商定义了其他多播 MAC 地址.

任何通过以太网发送的IP组播包都会有一个组播IP目的地址(组播不允许作为源地址),IP组播目的地址会被转换成目的组播MAC地址,用于封装以太网帧。

IGMP是用于主机/路由器通信的协议(路由器也是IGMP的主机),发送IGMP消息的主机会将其发送到IGMP消息的IPv4多播组。这意味着 IGMP 目标 IPv4 多播地址被转换为 MAC 多播地址。