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 и добавьте OUI 01:00:5e: (Коллизии в верхних 5 битах IP и отсутствующий бит имеют исторические причины).

Отправка сообщения ICMP PING для IP-адреса, связанного с широковещательным или многоадресным MAC-адресом, обычно приводит к тому, что все хосты, прослушивающие этот MAC, отвечают. В зависимости от того, какой клиент вы используете, вам может потребоваться передать определенный широковещательный флаг или иметь права администратора.

Вы можете посмотреть зарегистрированные адреса многоадресной рассылки здесь: https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml. Однако существуют службы, которые выбирают случайные адреса многоадресной рассылки или не выбирают их. зарегистрировано.

В вашем выводе:

  • 224.0.0.22 - IGMP
  • 224.0.0.251 - mDNS
  • 224.0.0.252 - Link-local Multicast Name Resolution
  • 239.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'
Другие вопросы по тегам