ARP Таблица многоадресных IP-адресов
Я побежал 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 некоторым группам устройств в моей сети? Я все еще изучаю сетевое взаимодействие, поэтому любая помощь приветствуется. Я не могу пропинговать первый IP, MAC-адреса выглядят странно. Я цензурировал некоторые из MAC по соображениям безопасности с помощью Xs. Моя маска подсети 255.255.252.0
PS Что означают эти MAC-адреса? Они виртуальные? Или они похожи на сумму нескольких MAC устройств?
1 ответ
На уровне Ethernet хосты обычно прослушивают пакеты, предназначенные для определенных MAC-адресов. Это включает в себя адреса одноадресной, широковещательной и многоадресной рассылки. Широковещательные и многоадресные адреса имеют особую обработку в сетевых коммутаторах. Дешевые коммутаторы будут просто транслировать пакеты с MAC-адресом назначения, который является многоадресным или широковещательным адресом.
ff:ff:ff:ff:ff:ff
это широковещательный MAC-адрес01:00:5e:XX:XX:XX
это диапазон MAC-адресов многоадресной рассылки. Существует тривиальное сопоставление с многоадресных IP-адресов в224.0.0.0/4
диапазон (224.0.0.0-239.255.255.255): просто возьмите младшие 23 бита IP и добавьте OUI01:00:5e:
(Коллизии в верхних 5 битах IP и отсутствующий бит имеют исторические причины).
Отправка сообщения ICMP PING для IP-адреса, связанного с широковещательным или многоадресным MAC-адресом, обычно приводит к тому, что все хосты, прослушивающие этот MAC, отвечают. В зависимости от того, какой клиент вы используете, вам может потребоваться передать определенный широковещательный флаг или иметь права администратора.
Вы можете посмотреть зарегистрированные адреса многоадресной рассылки здесь: https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml. Однако существуют службы, которые выбирают случайные адреса многоадресной рассылки или не выбирают их. зарегистрировано.
В вашем выводе:
224.0.0.22
- IGMP224.0.0.251
- mDNS224.0.0.252
- Link-local Multicast Name Resolution239.255.255.250
- Простой протокол обнаружения услуг (SSDP)
Преобразование Python для многоадресного IPv4-адреса в многоадресный MAC:
def multicast_ipv4_to_mac(ipaddr_as_u32, multicast_oui='01005e'):
return "%s%06x" % (multicast_oui, ipaddr_as_u32 & 0x7FFFFF)
# Example, using ip2int from https://stackoverflow.com/questions/5619685/conversion-from-ip-string-to-integer-and-backward-in-python
> multicast_ipv4_to_mac(ip2int('224.0.0.22'))
'01005e000016'