我arp -a
在我的家庭网络中运行 cmd,它得到了正常的输出,但随后出现了一些多播地址:
192.168.3.255 ff-ff-ff-ff-ff-ff static
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fX static
224.0.0.252 01-00-5e-00-00-fX static
239.255.255.250 01-00-5e-7f-ff-fX static
255.255.255.255 ff-ff-ff-ff-ff-ff static
所以简而言之,它们只是用于在第二个 OSI 层上向我网络中的某些设备组广播消息?我仍在学习网络,因此不胜感激。我无法 ping 第一个 IP,MAC 地址看起来很奇怪。出于安全原因,我用 Xs 审查了一些 MAC。我的子网掩码是255.255.252.0
PS 这些 MAC 地址是什么意思?它们是虚拟的吗?或者它们就像多个设备 MAC 的总和?
在以太网层,主机通常监听发往特定 MAC 地址的数据包。这包括单播、广播和多播地址。广播和多播地址在网络交换机中有特殊处理。便宜的交换机只会广播目标 MAC 为多播或广播地址的数据包。
ff:ff:ff:ff:ff:ff
是广播MAC地址01:00:5e:XX:XX:XX
是多播MAC地址范围。范围 (224.0.0.0-239.255.255.255)中的多播 IP 有一个简单的映射224.0.0.0/4
:只需取 IP 的低 23 位,并在前面加上 OUI01:00:5e:
(IP 前 5 位的冲突和丢失的有点历史原因)。为与广播或多播 MAC 地址关联的 IP 发送 ICMP PING 通常会导致所有侦听该 MAC 的主机做出响应。根据您使用的客户端,您可能必须传递特定的广播标志或具有管理员权限。
您可以在此处查找已注册的多播地址:https ://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-12 但是,有些服务会选择随机多播地址,或者不会挂号的。
在你的输出中:
224.0.0.22
- IGMP224.0.0.251
- 域名解析224.0.0.252
- 链路本地多播名称解析239.255.255.250
- 简单服务发现协议 (SSDP)多播 IPv4 地址到多播 MAC 的 Python 转换: